:root{--ink:#151c23;--night:#0d131a;--paper:#f0f1ed;--white:#fff;--muted:#aab3bf;--blue:#4c86ff;--line:rgba(255,255,255,.2);--pad:clamp(22px,5vw,88px);--display:'Barlow Condensed',sans-serif;--body:'Barlow',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--night);color:#f4f5f4;font-family:var(--body);font-size:18px;line-height:1.55}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;display:block}button{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500;line-height:.96}h1,h2{font-family:var(--display);text-transform:uppercase;letter-spacing:-.018em}h1{font-size:clamp(64px,8.3vw,132px)}h2{font-size:clamp(48px,5.6vw,88px)}h3{font-family:var(--display);font-size:36px;line-height:1.08}p{max-width:62ch}::selection{background:var(--blue);color:white}:focus-visible{outline:3px solid var(--blue);outline-offset:5px}.skip{position:fixed;top:-100px;z-index:100;background:white;color:var(--ink);padding:12px}.skip:focus{top:0}.wrap{padding-left:var(--pad);padding-right:var(--pad)}.section{padding-top:110px;padding-bottom:110px}.eyebrow{display:flex;gap:12px;align-items:center;font-size:13px;letter-spacing:.15em;text-transform:uppercase;font-weight:600;margin-bottom:30px}.eyebrow:before{content:'';display:block;width:22px;height:2px;background:var(--blue)}.muted{color:var(--muted)}.header{height:88px;position:sticky;top:0;z-index:30;background:rgba(13,19,26,.96);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);gap:30px}.brand img{width:120px;height:auto}.nav{display:flex;align-items:center;gap:30px;font-size:15px}.nav a{padding:10px 0;position:relative}.nav a:hover,.nav a[aria-current=page]{color:#90b3ff}.nav .nav-contact{border:1px solid #728094;padding:10px 20px}.nav-contact span{margin-left:25px}.menu-toggle{display:none;border:0;background:none}.hero{min-height:calc(100svh - 88px);position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding-top:65px;padding-bottom:0}.hero-media{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;object-position:70% 45%}.hero:after{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(6,13,23,.92),rgba(6,13,23,.55) 52%,rgba(6,13,23,.04)),linear-gradient(0deg,rgba(6,13,23,.85),transparent 60%)}.hero .eyebrow{margin-bottom:24px}.hero h1{max-width:850px}.hero h1 em{font-style:normal;color:#9dbeff}.hero-copy{font-size:20px;max-width:470px;margin:27px 0 30px;color:#d4dce4}.actions{display:flex;gap:15px;flex-wrap:wrap;align-items:center}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:#f4f5f1;color:var(--ink);padding:17px 24px;border:1px solid #f4f5f1;font-size:16px;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:#dbe6ff;transform:translateY(-2px)}.button .arrow{font-size:23px;line-height:1}.button.outline{background:transparent;color:inherit;border-color:#738092}.button.outline:hover{background:rgba(255,255,255,.08)}.hero-bottom{margin-top:auto;padding-top:65px;padding-bottom:24px;display:flex;justify-content:space-between;gap:24px;font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:#c2cad4}.hero-bottom span:last-child{text-align:right}.hero-bottom strong{display:block;font-size:14px;font-weight:500;color:white;margin-bottom:5px}.lead-split{display:grid;grid-template-columns:1.4fr 1fr;gap:9vw;align-items:end}.lead-split p{color:#b3bdc8;font-size:21px}.intro{border-bottom:1px solid var(--line)}.intro h2{max-width:690px}.staging-dot{width:6px;height:6px;background:#89aaff;display:inline-block;border-radius:50%;margin-right:8px}.underlink{display:inline-block;border-bottom:1px solid #718195;margin-top:28px;padding-bottom:8px;font-size:16px}.underlink span{margin-left:24px}.footer{border-top:1px solid var(--line);padding-top:60px;padding-bottom:25px}.footer-bottom{border-top:1px solid var(--line);padding-top:24px;margin-top:60px;display:flex;justify-content:space-between;gap:20px;font-size:13px;color:var(--muted)}
@media(min-width:1600px){.hero{min-height:820px}}@media(max-width:1000px){.nav{gap:18px}.brand img{width:100px}.nav{font-size:14px}.header{gap:20px}.hero h1{font-size:88px}.hero:after{background:linear-gradient(90deg,rgba(6,13,23,.9),rgba(6,13,23,.38)),linear-gradient(0deg,rgba(6,13,23,.8),transparent)}}@media(max-width:760px){.header{height:74px}.menu-toggle{display:flex;gap:14px;align-items:center;padding:12px 0;font-size:14px}.menu-toggle i{width:23px;height:10px;border-top:1px solid white;border-bottom:1px solid white}.nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--night);padding:20px var(--pad) 30px;border-bottom:1px solid var(--line);font-size:21px;flex-direction:column;align-items:stretch;gap:8px}.nav.open{display:flex}.nav .nav-contact{margin-top:10px;display:flex;justify-content:space-between}.hero{min-height:770px;justify-content:flex-start;padding-top:65px}.hero h1{font-size:clamp(59px,12.8vw,92px)}.hero-media{object-position:65% 50%}.hero:after{background:linear-gradient(90deg,rgba(6,13,23,.87),rgba(6,13,23,.5)),linear-gradient(0deg,rgba(6,13,23,.9),transparent)}.hero-copy{font-size:18px;max-width:320px}.hero-bottom{font-size:11px;gap:18px;flex-direction:column;padding-top:55px}.hero-bottom span:last-child{text-align:left}.hero-bottom strong{font-size:12px}.hero .eyebrow{font-size:11px}.actions{gap:12px}.button{padding:15px 20px;font-size:15px;gap:23px}.section{padding-top:75px;padding-bottom:75px}.lead-split{grid-template-columns:1fr;gap:30px}.lead-split p{font-size:18px}.footer-bottom{flex-direction:column}.eyebrow{font-size:12px}.intro h2{font-size:52px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.light{background:var(--paper);color:var(--ink)}.light .muted,.light .lead-split p{color:#53606b}.section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:55px}.section-head>p{max-width:380px;color:#9daab8;font-size:18px}.light .section-head>p{color:#53606b}.section-head>.eyebrow{align-self:start}.service-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:70px}.service-link{display:flex;align-items:start;gap:28px;padding:35px 0;border-top:1px solid #b9c0c4;min-height:150px}.service-link>div{flex:1}.service-link .meta{padding-top:8px;color:#596b7c}.service-link h3{font-size:37px}.service-link p{font-size:16px;color:#53606b;margin-top:13px;max-width:350px}.service-link>.arrow{font-size:26px;transition:transform .25s}.service-link:hover>.arrow{transform:translate(4px,-4px)}.service-link:hover h3{color:#244f96}.meta{font-size:12px;letter-spacing:.1em;text-transform:uppercase;display:block}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:65px}.project-image{display:block;position:relative;overflow:hidden;background:#1b2530;aspect-ratio:1.35}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.project-image:hover img{transform:scale(1.025)}.project.featured .project-image{aspect-ratio:2.04}.project-index{position:absolute;top:25px;left:25px;font-size:12px;letter-spacing:.1em;background:rgba(10,20,30,.7);padding:7px 12px}.round-arrow{position:absolute;right:25px;bottom:25px;width:57px;height:57px;border:1px solid white;border-radius:50%;display:grid;place-items:center;font-size:27px;background:rgba(9,18,27,.35)}.project-copy{padding:25px 0;display:flex;justify-content:space-between;gap:35px}.project-copy .meta{color:#a9b9c9;margin-bottom:10px}.project-copy p{font-size:14px;color:#a9b9c9;max-width:220px;align-self:end}.project h3{font-size:37px}.project-grid .project-copy{flex-direction:column;gap:12px}.project-grid .project-copy p{align-self:start;max-width:none}.video-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;align-items:center}.video-section h2{font-size:clamp(48px,5.2vw,82px)}.video-section p{margin-top:25px;color:#53606b}.video-block{margin:0}.video-block video{display:block;width:100%;max-height:70vh;background:#050a0e;object-fit:contain;aspect-ratio:1.79;border:1px solid #48515d}.video-block figcaption{display:flex;justify-content:space-between;gap:25px;font-size:13px;color:#96a5b5;margin-top:15px}.video-block figcaption strong{font-weight:500;display:block}.light .video-block figcaption{color:#53606b}.tech-strip{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:45px 0;border-bottom:1px solid var(--line)}.tech-strip>span{font-size:11px;letter-spacing:.12em;color:#aab5c2}.tech-strip strong{font-size:clamp(22px,2.5vw,40px);font-weight:600;letter-spacing:-.025em}.tech-strip a{font-size:14px;color:#b6c3d3}.tech-strip a span{margin-left:15px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:70px}.steps>div{border-top:1px solid #68778a;padding-top:20px}.steps>div>span{font-family:var(--display);font-size:62px;color:#6e92cd;display:block;margin-bottom:30px}.steps h3{font-size:29px;margin-bottom:18px}.steps p{font-size:16px;color:#aab5c2}.split-feature{display:grid;grid-template-columns:1fr 1fr;background:#1a2633}.split-photo img{width:100%;height:100%;object-fit:cover}.split-content{padding:80px var(--pad)}.split-content h2{font-size:clamp(50px,5vw,80px)}.split-content p{font-size:18px;color:#c0c9d4;margin-top:25px}.split-content .button{margin-top:35px}.small{font-size:14px;line-height:1.55}.application-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.application-grid a{border-top:1px solid #a5afb6;padding:25px 0}.application-grid a>span:first-child{font-size:12px;letter-spacing:.09em;color:#5d6f7e}.application-grid h3{font-size:38px;margin:35px 0 20px}.application-grid p{color:#53606b;font-size:16px}.application-grid .arrow{display:inline-block;font-size:30px;margin-top:30px}.review{display:inline-block;border:1px solid #8b7859;background:#a5916410;color:#d7c59e;font-size:11px;line-height:1.5;letter-spacing:.06em;padding:4px 8px;font-weight:500;vertical-align:middle;max-width:100%;overflow-wrap:anywhere}.light .review{color:#645233;border-color:#9d895f;background:#dfd1ab25}.review-note{margin-top:30px;color:#aab5c2}.light .review-note{color:#52616f}.about-preview{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;align-items:center}.about-preview p{color:#aab5c2;margin:30px 0}.about-preview>img{width:100%;aspect-ratio:1.2;object-fit:cover}.closing{padding-top:100px;padding-bottom:100px;background:#dce4ed;color:#152233;display:grid;grid-template-columns:1.4fr 1fr;gap:7vw;align-items:end}.closing h2{font-size:clamp(62px,6.5vw,104px)}.closing p{font-size:21px;margin-bottom:30px}.closing .button{background:#153d7b;border-color:#153d7b;color:white}.closing .button:hover{background:#0d2958}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px}.footer-grid>div>p{font-size:17px;margin:25px 0}.footer-grid>div>a:not(.brand){display:block;font-size:15px;color:#aab5c2;margin-top:10px}.footer-grid>div>a:hover{color:#fff}.footer-grid h3{font-family:var(--body);font-size:15px;font-weight:600;margin-bottom:20px}.demo-label{font-size:11px;letter-spacing:.1em;color:#aab5c2}.text-button{background:none;border:0;padding:0;color:inherit;font-size:inherit;text-decoration:underline;text-underline-offset:4px;min-height:24px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;padding-top:28px;font-size:12px;letter-spacing:.025em;color:#a9b4c1}.breadcrumbs a:hover{color:white}.page-top{padding-top:75px;padding-bottom:90px}.page-top h1{font-size:clamp(66px,7.5vw,115px);max-width:1000px}.page-lead{font-size:23px;color:#bac4cf;max-width:750px;margin-top:35px}.page-top.with-photo{display:grid;grid-template-columns:1.1fr 1fr;gap:6vw;align-items:center}.page-top.with-photo h1{font-size:clamp(60px,6.2vw,98px)}.page-top-img{width:100%;height:540px;object-fit:cover}.page-top.with-photo .page-lead{font-size:20px}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:80px}.detail-grid article{border-top:1px solid #a8b0b6;padding-top:22px}.detail-grid h3{margin:20px 0;font-size:36px}.detail-grid p{font-size:17px;color:#53606b}.delivery{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:start}.delivery p{margin-top:30px;font-size:18px}.delivery ol{margin:0;padding:0;list-style:none;counter-reset:deliver}.delivery li{display:flex;align-items:baseline;gap:25px;border-bottom:1px solid var(--line);padding:23px 0;font-size:21px}.delivery li:before{counter-increment:deliver;content:'0' counter(deliver);font-size:13px;color:#8fa9ce}.brief-section{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center;background:#1a2633}.brief-section h2{font-size:60px}.brief-section p{margin-bottom:30px;color:#c4ced9}.control-diagram{display:flex;align-items:center;gap:35px;padding:60px 35px;border:1px solid #5c7490;margin-top:15px;margin-bottom:18px;background:linear-gradient(115deg,#152232,#1b2a3c)}.control-diagram span{flex:1;font-family:var(--display);font-size:40px;line-height:1.1;border:1px solid #607da1;padding:35px;text-align:center}.control-diagram small{font-family:var(--body);font-size:16px;color:#aac1df}.control-diagram b{font-size:30px;color:#91b3e5}.filter-bar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.filter-bar button{background:none;border:1px solid #536475;color:#d0d8e3;padding:12px 23px;font-size:15px}.filter-bar button[aria-pressed=true]{background:var(--paper);color:var(--ink);border-color:var(--paper)}.project-list>.project{margin-top:55px}.project-list>.project+article{margin-top:80px}.case-top{padding-top:65px;padding-bottom:60px;display:grid;grid-template-columns:1.4fr 1fr;column-gap:6vw;align-items:end}.case-top .eyebrow{grid-column:1/-1}.case-top h1{font-size:clamp(66px,7vw,110px)}.case-top>p{font-size:20px;color:#b9c4cf;padding-bottom:8px}.case-cover>img{width:100%;max-height:760px;object-fit:cover}.case-facts{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-top:40px;padding-bottom:40px}.case-facts>div>span:first-child{display:block;font-size:12px;letter-spacing:.04em;color:#a9b4c1;margin-bottom:15px}.case-facts strong{font-weight:500;font-size:18px}.case-story article{display:grid;grid-template-columns:.5fr 1fr;gap:8vw;padding:55px 0;border-bottom:1px solid #b1bbc3}.case-story article:first-child{padding-top:0}.case-story h2{font-size:58px;margin-bottom:28px}.case-story p{margin:20px 0;color:#4d5b68;font-size:20px}.case-story .small{font-size:14px}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:25px}.gallery-item{position:relative;background:#1b2530;border:0;padding:0;aspect-ratio:1.3;overflow:hidden}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery-item:hover img{transform:scale(1.035)}.gallery-item>span,.certificate-scan>span{position:absolute;bottom:18px;right:18px;background:#101a25b0;color:#fff;border:1px solid #a6b7c9;width:45px;height:45px;display:grid;place-items:center;font-size:25px}.case-nav{display:flex;justify-content:space-between;gap:35px;padding-top:40px;padding-bottom:40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:16px}.case-nav a:last-child{text-align:right}.related-service{display:flex;gap:30px;align-items:center;flex-wrap:wrap}.related-service .eyebrow{width:100%;margin:0}.related-service h2{flex:1}.history{display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:#1a2633}.history p{color:#c0cad5}.history .review{margin-top:8px}.history .small{margin-top:25px}.standalone{justify-content:space-around;padding:35px 0 55px}.certificate-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px 45px;margin-top:80px}.certificate{display:grid;grid-template-columns:.65fr 1fr;gap:25px;align-items:start}.certificate-scan{padding:12px;border:1px solid #c3cad0;background:white;position:relative;min-height:220px;display:grid;place-items:center;align-self:start}.certificate-scan img{width:100%;height:225px;object-fit:contain}.certificate h3{font-size:29px;margin:10px 0}.certificate p{font-size:15px;color:#53606b;margin:15px 0}.certificate .cert-who{font-size:14px;font-weight:600;color:#263645}.certificate .meta{color:#52616f;font-size:11px}.certificate-scan>span{width:32px;height:32px;font-size:20px;bottom:12px;right:12px}.weld-row{display:grid;grid-template-columns:1.3fr .7fr;gap:40px;align-items:center}.weld-row>img{width:100%;aspect-ratio:1.1;object-fit:cover}.weld-row video{aspect-ratio:9/16;max-height:620px}.weld-row figcaption{display:block}.weld-row figcaption span{display:block;margin-top:8px}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw}.contact-grid aside h2{font-size:65px}.contact-detail{margin:35px 0;border-top:1px solid #bbc3ca;padding-top:20px}.contact-detail>span:first-child{display:block;font-size:13px;color:#566573;margin-bottom:10px}.contact-detail>a{font-family:var(--display);font-size:36px;line-height:1.2;display:block;margin-bottom:12px}.contact-detail p{font-size:17px;margin-bottom:10px}.contact-grid aside>.small{color:#53606b}.contact-grid form h3{font-size:40px}.form-note{font-size:14px;color:#53606b;margin:18px 0 32px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.field{margin-bottom:25px;display:flex;flex-direction:column;gap:8px}.field label{font-size:15px;font-weight:500}.field label>span{color:#375c8f}input,select,textarea{width:100%;min-width:0;border:1px solid #8e9ba7;background:transparent;color:var(--ink);border-radius:0;padding:13px 14px;font-size:17px}input,select{height:52px}textarea{resize:vertical;min-height:145px}input:focus,select:focus,textarea:focus{outline:2px solid #285caf;outline-offset:2px;background:white}[aria-invalid=true]{border-color:#a52a36}.field-error{color:#962533;font-size:13px;min-height:0}.field-error:empty{display:none}.contact-grid .small a{text-decoration:underline;text-underline-offset:3px}.dark-button{background:var(--ink);border-color:var(--ink);color:white;margin-top:25px}.dark-button:hover{background:#264365}.form-preview{border:1px solid #71889f;padding:30px;background:#e2e8ed}.form-preview p{margin:20px 0}.form-preview pre{font-family:var(--body);white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px;line-height:1.7;background:#f4f5f2;padding:20px}.form-preview .button{margin-top:15px}.legal-copy{padding-left:max(var(--pad),calc((100% - 900px)/2));padding-right:max(var(--pad),calc((100% - 900px)/2))}.legal-copy h2{font-size:46px;margin:40px 0 25px}.legal-copy h2:first-child{margin-top:0}.legal-copy p{margin:20px 0;max-width:none}.dialog-open{overflow:hidden}dialog{color:white;background:#111c28;border:1px solid #6b7c90;padding:0;max-width:calc(100% - 32px)}dialog::backdrop{background:rgba(0,6,12,.92);backdrop-filter:blur(8px)}#lightbox{width:min(1200px,94vw);height:min(880px,92svh);overflow:hidden;flex-direction:column}#lightbox[open]{display:flex}.lightbox-top,.lightbox-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 20px}.lightbox-top>span{font-size:12px;letter-spacing:.13em;color:#b5c4d5}.icon-button{min-width:44px;min-height:44px;font-size:22px;border:1px solid #576b83;background:transparent;color:white}.icon-button:hover{background:#293e57}#lightbox-image{flex:1;min-height:0;width:100%;object-fit:contain;padding:0 20px}.lightbox-bottom p{font-size:14px;text-align:center}.lightbox-bottom{min-height:80px}#consent{padding:50px;width:580px}#consent h2{font-size:58px;margin-bottom:25px}#consent>p{font-size:17px;margin:25px 0;color:#c7d0dc}.dialog-close{position:absolute;top:14px;right:14px}.consent-row{display:flex;justify-content:space-between;gap:20px;font-size:15px;padding:20px 0;border-top:1px solid #576b83}.consent-row strong{font-weight:500;color:#adcaed}#consent .small{font-size:13px}#consent .small a{text-decoration:underline}[hidden]{display:none!important}
@media(min-width:1600px){.section{padding-top:125px;padding-bottom:125px}.project-image{max-height:700px}}@media(max-width:1100px){.certificate-grid{grid-template-columns:1fr}.certificate{grid-template-columns:180px 1fr;gap:35px}.page-top-img{height:450px}.page-top.with-photo h1{font-size:70px}.steps{grid-template-columns:1fr 1fr;gap:45px}.steps>div>span{margin-bottom:15px}.project-copy{flex-direction:column;gap:14px}.project-copy p{align-self:start;max-width:none}.service-grid{column-gap:35px}.service-link{gap:16px}.service-link h3{font-size:32px}.video-section{gap:40px}.split-content{padding:60px 40px}.case-top{grid-template-columns:1fr}.case-top>p{margin-top:30px;max-width:650px}.contact-grid{gap:50px}.control-diagram{gap:20px;padding:40px 25px}.control-diagram span{padding:25px 15px;font-size:32px}}
@media(max-width:760px){.section-head{flex-direction:column;align-items:start;gap:25px;margin-bottom:35px}.section-head>.underlink{margin-top:0}.section-head>p{font-size:17px}.service-grid{grid-template-columns:1fr}.service-link{padding:27px 0;min-height:120px;gap:22px}.service-link h3{font-size:33px}.service-link p{font-size:14px;margin-top:10px}.project.featured .project-image{aspect-ratio:1.15}.project-grid{grid-template-columns:1fr;gap:35px;margin-top:35px}.project-image{aspect-ratio:1.15}.project h3{font-size:34px}.project-copy{gap:12px;padding:20px 0}.project-index{top:15px;left:15px;font-size:10px}.round-arrow{width:44px;height:44px;right:15px;bottom:15px}.project-copy .meta{font-size:11px}.project-copy p{font-size:13px}.video-section,.about-preview{grid-template-columns:1fr;gap:40px}.video-block figcaption{display:block}.video-block figcaption span{display:block;margin-top:8px}.tech-strip{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:40px 0}.tech-strip>span{grid-column:1/-1}.tech-strip strong{font-size:28px}.tech-strip a{font-size:13px}.steps{grid-template-columns:1fr 1fr;gap:35px 22px;margin-top:40px}.steps h3{font-size:28px}.steps p{font-size:15px}.steps>div>span{font-size:48px}.split-feature{grid-template-columns:1fr}.split-photo img{height:420px;object-position:50% 30%}.split-content{padding:65px var(--pad)}.split-content h2{font-size:60px}.application-grid{grid-template-columns:1fr}.application-grid a{position:relative;padding:25px 0 15px}.application-grid h3{margin-top:22px;font-size:40px}.application-grid .arrow{position:absolute;right:0;top:45px}.review{font-size:10px}.review-note .review{margin-top:8px}.about-preview>img{aspect-ratio:1.1}.closing{padding-top:75px;padding-bottom:75px;grid-template-columns:1fr;gap:30px}.closing h2{font-size:65px}.closing p{font-size:18px}.footer-grid{grid-template-columns:1fr 1fr;gap:45px 24px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid>div>a:not(.brand){font-size:14px}.footer-grid>div>p{font-size:16px}.footer-bottom{margin-top:45px}.breadcrumbs{padding-top:23px;font-size:11px}.page-top{padding-top:48px;padding-bottom:60px}.page-top h1{font-size:62px}.page-lead{font-size:19px;margin-top:28px}.page-top.with-photo{grid-template-columns:1fr;gap:35px}.page-top.with-photo h1{font-size:62px}.page-top.with-photo .page-lead{font-size:18px}.page-top-img{height:330px}.detail-grid{grid-template-columns:1fr;gap:35px;margin-top:50px}.detail-grid h3{font-size:35px}.delivery,.brief-section,.history{grid-template-columns:1fr;gap:35px}.delivery li{font-size:19px}.brief-section h2{font-size:53px}.control-diagram{flex-direction:column;padding:25px;gap:12px}.control-diagram span{width:100%;font-size:35px;padding:22px}.control-diagram b{transform:rotate(90deg)}.control-diagram small{font-size:15px}.filter-bar{gap:8px}.filter-bar button{padding:11px 15px;font-size:14px}.project-list{padding-top:15px}.project-list>.project{margin-top:35px}.project-list>.project+article{margin-top:40px}.case-top{padding-top:45px;padding-bottom:40px}.case-top h1{font-size:67px}.case-top>p{font-size:18px}.case-cover>img{height:420px;object-fit:cover}.case-facts{grid-template-columns:1fr;gap:28px;padding-top:30px;padding-bottom:35px}.case-facts>div>span:first-child{margin-bottom:8px}.case-facts strong{font-size:17px}.case-story article{grid-template-columns:1fr;gap:25px;padding:35px 0}.case-story h2{font-size:48px;margin-bottom:15px}.case-story p{font-size:18px}.gallery{gap:16px;grid-template-columns:1fr}.gallery-item{aspect-ratio:1.1}.case-nav{flex-direction:column;gap:25px;font-size:15px}.case-nav a:last-child{text-align:left}.related-service h2{flex:auto;font-size:50px}.related-service{gap:25px}.standalone{display:flex;flex-wrap:wrap;gap:30px}.standalone strong{font-size:27px}.certificate-grid{gap:50px;margin-top:50px}.certificate{grid-template-columns:100px 1fr;gap:18px}.certificate-scan{padding:6px;min-height:150px}.certificate-scan img{height:145px}.certificate h3{font-size:27px}.certificate p{font-size:14px}.certificate .cert-who{font-size:13px}.certificate .meta{font-size:10px}.certificate-scan>span{right:6px;bottom:6px}.weld-row{grid-template-columns:1fr}.weld-row video{max-height:580px}.contact-grid{grid-template-columns:1fr;gap:60px}.contact-grid aside h2{font-size:57px}.contact-detail>a{font-size:34px}.form-grid{grid-template-columns:1fr;gap:0}.form-preview{padding:24px}.legal-copy h2{font-size:42px}.legal-copy p{font-size:17px}#consent{padding:65px 25px 30px}#consent h2{font-size:48px}.lightbox-top,.lightbox-bottom{padding:10px;gap:10px}.lightbox-bottom p{font-size:12px}#lightbox-image{padding:0 8px}.lightbox-bottom{min-height:100px}.lightbox-top>span{font-size:11px}}
@media(max-width:370px){.hero h1{font-size:54px}.page-top h1,.page-top.with-photo h1{font-size:54px}.steps{grid-template-columns:1fr}.certificate{grid-template-columns:90px 1fr}}
.brand{display:inline-flex;align-items:center;gap:9px;width:164px;height:60px;flex-shrink:0}.brand-symbol{display:block;overflow:hidden;position:relative;width:48px;height:53px;flex:none}.brand-name{display:block;overflow:hidden;position:relative;width:106px;height:27px;flex:none}.brand .brand-symbol img{max-width:none;width:180px;height:auto;transform:translate(-67px,-19px)}.brand .brand-name img{max-width:none;width:235px;height:auto;transform:translate(-66px,-91px)}.brand-feature>img{aspect-ratio:1.6;object-fit:contain}.video-block{min-width:0}.video-block video{max-width:100%}.section>*{min-width:0}.footer .brand{height:60px}.brand-symbol,.brand-name{mix-blend-mode:screen}
@media(max-width:760px){.brand{gap:7px;width:160px}.brand-feature>img{aspect-ratio:1.4;object-fit:cover}}
.video-actions{display:flex;justify-content:flex-start;margin-top:16px}.video-play{background:transparent;border:1px solid #8293a5;color:inherit;padding:11px 18px;font-size:14px;min-height:44px}.video-play:hover{background:#7899c31a}.brand-symbol{mask-image:linear-gradient(to bottom,transparent,#000 5%,#000 95%,transparent)}.brand-name{mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent)}
@media(min-width:761px) and (max-width:940px){.header{height:74px}.menu-toggle{display:flex;gap:14px;align-items:center;padding:12px 0;font-size:14px}.menu-toggle i{width:23px;height:10px;border-top:1px solid white;border-bottom:1px solid white}.nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--night);padding:20px var(--pad) 30px;border-bottom:1px solid var(--line);font-size:21px;flex-direction:column;align-items:stretch;gap:8px}.nav.open{display:flex}.nav .nav-contact{margin-top:10px;display:flex;justify-content:space-between}.page-top.with-photo{grid-template-columns:1fr;gap:40px}.page-top-img{height:400px}.page-top.with-photo h1{font-size:78px}.hero{min-height:calc(100svh - 74px)}}
/* Stal i precyzja — presentation layer; existing content and routes retained. */
:root {
  --night:#0c1118; --ink:#18222e; --paper:#edf0f2; --muted:#acb9c8;
  --blue:#6ca7ff; --line:#ffffff26; --pad:clamp(24px,5vw,100px);
  --ease:cubic-bezier(.16,1,.3,1); --radius:12px;
}
html {scroll-padding-top:110px; scrollbar-color:#526477 #0c1118}
body {font-size:18px; line-height:1.6; -webkit-font-smoothing:antialiased}
input,textarea {caret-color:#2769c8}
button,a,input,select,textarea {touch-action:manipulation}
h1,h2,h3 {text-wrap:balance}
h1 {font-size:clamp(64px,7vw,96px); line-height:1.02; letter-spacing:-.025em}
h2 {font-family:var(--body); text-transform:none; font-size:clamp(38px,4.2vw,64px); line-height:1.08; letter-spacing:-.035em; font-weight:500}
h3 {font-family:var(--body); font-size:clamp(25px,2.5vw,34px); line-height:1.17; letter-spacing:-.02em; font-weight:500}
p {max-width:68ch}
.section {padding-block:clamp(80px,8vw,140px)}
.section-head {gap:48px; margin-bottom:56px}
.section-head>p {color:#b7c2ce; line-height:1.65}
.eyebrow {font-size:12px; letter-spacing:.12em; color:#b2bfd0; margin-bottom:28px; line-height:1.5}
.eyebrow:before {width:6px; height:6px; background:var(--blue)}
.light .eyebrow,.closing .eyebrow {color:#526479}
.header {height:90px; background:#0c1118; gap:32px; border-color:#ffffff1f}
.brand {width:205px; height:64px; gap:9px; align-items:center}
.brand-symbol {width:56px; height:56px; overflow:visible; flex:none; mask:none; mix-blend-mode:normal}
.brand-name {width:140px; height:36px; overflow:visible; flex:none; mask:none; mix-blend-mode:normal}
.brand .brand-symbol img {width:56px; height:56px; max-width:none; transform:none; object-fit:contain}
.brand .brand-name img {width:140px; height:36px; max-width:none; transform:none; object-fit:contain}
.brand:hover .brand-symbol,.brand:hover .brand-name {filter:brightness(1.14)}
.nav {gap:clamp(20px,2.4vw,40px); font-size:15px}
.nav a {min-height:44px; display:flex; align-items:center; transition:color .2s}
.nav a:not(.nav-contact):after {content:''; position:absolute; height:2px; background:var(--blue); bottom:0; left:0; right:0; transform:scaleX(0); transform-origin:left; transition:transform .35s var(--ease)}
.nav a:hover:after,.nav a[aria-current]:after {transform:scaleX(1)}
.nav .nav-contact {border-color:#425366; border-radius:4px; padding:12px 20px}
.nav .nav-contact:hover {border-color:var(--blue); background:#14243a}
.hero {display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-rows:auto auto auto 1fr auto; column-gap:5vw; min-height:740px; padding-top:62px; padding-bottom:0; overflow:visible; isolation:isolate}
.hero:after {display:none}
.hero-media {position:relative; inset:auto; z-index:0; grid-column:2; grid-row:1/5; width:100%; height:100%; min-height:530px; object-fit:cover; object-position:66% center; border-radius:var(--radius); filter:none}
.hero>.eyebrow {grid-column:1; grid-row:1; margin:0 0 24px; padding-top:20px}
.hero h1 {grid-column:1; grid-row:2; font-size:clamp(65px,6.9vw,96px); max-width:none; line-height:1.02; font-weight:500}
.hero h1 em {color:#87b8ff}
.hero-copy {grid-column:1; grid-row:3; font-size:19px; line-height:1.6; margin:28px 0 32px; color:#b8c6d5}
.hero>.actions {grid-column:1; grid-row:4; align-content:start; align-items:start; flex-direction:column; gap:12px; padding-bottom:26px}
.hero .actions .outline {border-color:transparent; padding-left:0; background:none; color:#b7cce7}
.hero .actions .outline:hover {color:#fff}
.hero-bottom {grid-column:1/-1; grid-row:5; padding:28px 0 26px; margin-top:34px; border-top:1px solid var(--line); color:#97aabe; line-height:1.75; align-items:center}
.hero-bottom strong {font-family:var(--body); text-transform:none; letter-spacing:0; font-size:16px; margin:0}
.button {border-radius:4px; background:#79afff; border-color:#79afff; color:#0b1828; padding:17px 24px; min-height:56px; gap:26px; transition:background .25s,transform .35s var(--ease),border-color .25s; font-weight:600}
.button:hover {background:#a4cbff; border-color:#a4cbff; transform:translateY(-2px)}
.button.outline {border-color:#63748a; color:#e2eaf3}
.button.outline:hover {border-color:#a2caff; background:#172739}
.underlink {padding-block:8px; color:#cce0ff; border-color:#6a82a0; transition:color .2s,border-color .2s}
.underlink:hover {color:#fff; border-color:#a8cdff}
.light .underlink {color:#243e5e; border-color:#526c8b}
.intro {background:#101822; border-top:1px solid #ffffff0c; border-bottom:0}
.lead-split {grid-template-columns:1.2fr 1fr; gap:10vw}
.lead-split p {font-size:20px; line-height:1.7; color:#b2c0d0}
.light {background:var(--paper); color-scheme:light}
.light .button.outline {color:#243e5e; border-color:#526c8b}
.light .section-head>p,.light .lead-split p {color:#4b5e71}
.service-grid {column-gap:24px; row-gap:16px}
.service-link {padding:30px; border:1px solid #cbd3db; border-radius:var(--radius); min-height:176px; gap:22px; background:#f6f8f9; transition:background .3s,border-color .3s,transform .35s var(--ease)}
.service-link:hover {border-color:#6684aa; background:#fff; transform:translateY(-3px)}
.service-link h3 {font-size:clamp(24px,2.1vw,32px)}
.service-link p {color:#526477; line-height:1.55; margin-top:15px; font-size:16px}
.service-link .meta {color:#45658d; padding-top:5px; font-variant-numeric:tabular-nums}
.service-link>.arrow {color:#315d92}
.projects-section {background:#0c1118}
.project-grid {gap:36px; margin-top:64px; align-items:start}
.project-image {border-radius:var(--radius); aspect-ratio:1.34}
.project.featured .project-image {aspect-ratio:2.06}
.project-image img {transition:transform .8s var(--ease); object-position:center}
.project-image:hover img {transform:scale(1.035)}
.project-image:focus-visible {outline-offset:6px}
.project-index {top:24px; left:24px; border:1px solid #ffffff4d; background:#0c1828e6; border-radius:4px; padding:8px 12px; font-size:11px; color:#e3edfb}
.round-arrow {width:58px; height:58px; background:#f0f5fc; color:#18314e; border:0; border-radius:50%; transition:transform .4s var(--ease),background .3s}
.project-image:hover .round-arrow {transform:rotate(45deg); background:#9cc5ff}
.project-copy {padding:27px 0 0; gap:30px}
.project h3 {font-size:clamp(26px,2.6vw,38px); max-width:27ch}
.project-copy .meta {font-size:11px; color:#90b8e8; margin-bottom:13px}
.project-copy p {font-size:14px; color:#a8b9cc; line-height:1.65}
.project h3 a:hover {color:#a4caff}
.project-grid .project:nth-child(2) {margin-top:72px}
.video-section {grid-template-columns:.8fr 1.25fr; gap:7vw}
.video-section h2 {font-size:clamp(38px,4vw,60px)}
.video-block video {border:0; border-radius:var(--radius); background:#09111a; box-shadow:0 16px 44px #08152124}
.video-block figcaption {margin-top:20px; font-size:13px; line-height:1.6}
.video-play {border-radius:4px; padding:12px 20px; transition:background .2s}
.tech-strip {padding:48px 0; border-color:#ffffff20; gap:32px}
.tech-strip strong {font-size:clamp(25px,2.7vw,40px); color:#dae4ef}
.tech-strip a {color:#b5cbe4; min-height:44px; display:flex; align-items:center}
.steps {position:relative; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px; margin-top:64px}
.steps>div {padding:28px 0 0; border-color:#415164; position:relative}
.steps>div:before {content:''; position:absolute; top:-1px; left:0; width:100%; height:2px; background:#80b5ff; transform:scaleX(0); transform-origin:left; transition:transform 1s var(--ease)}
.steps.is-inview>div:before {transform:scaleX(1)}
.steps>div:nth-child(2):before {transition-delay:.15s}
.steps>div:nth-child(3):before {transition-delay:.3s}
.steps>div:nth-child(4):before {transition-delay:.45s}
.steps>div>span {font-family:var(--body); font-size:18px; font-variant-numeric:tabular-nums; color:#8fbdff; margin-bottom:32px}
.steps h3 {font-size:26px; max-width:15ch}
.steps p {font-size:16px; line-height:1.7; color:#aebed0}
.split-feature {background:#162435; grid-template-columns:1.05fr 1fr}
.split-photo {min-width:0; overflow:hidden}
.split-photo img {min-height:660px; object-position:48% center}
.split-content {padding:90px var(--pad); align-self:center}
.split-content h2 {font-size:clamp(40px,4vw,64px)}
.split-content p {color:#c1cede; line-height:1.7}
.application-grid {gap:40px}
.application-grid h3 {font-size:31px; margin:28px 0 18px}
.application-grid a {border-color:#a9b9c9}
.application-grid a:hover h3 {color:#285b9d}
.about-preview {gap:8vw}
.about-preview>img {border-radius:var(--radius)}
.brand-feature>.ryfa-full-logo {width:100%; height:auto; max-height:520px; aspect-ratio:375/330; object-fit:contain; border-radius:0; background:transparent}
.closing {background:#dbe6f3; padding-block:100px; grid-template-columns:1.25fr 1fr; gap:10vw; border-top:1px solid #b6c9de}
.closing h2 {font-size:clamp(42px,5vw,72px)}
.closing p {font-size:20px; line-height:1.6; color:#3a506a}
.closing .button {background:#17467e; border-color:#17467e}
.footer {background:#090f16; padding-top:70px}
.footer-grid {grid-template-columns:1.5fr 1fr 1fr; gap:70px}
.footer-grid>div>a:not(.brand) {padding:5px 0; margin-top:5px; color:#afc0d3; min-height:32px}
.footer-grid>div>p {color:#b8c8db}
.footer-bottom {margin-top:56px; color:#a4b5c9}
.breadcrumbs {font-size:13px; padding-top:30px; color:#b1c0d2}
.page-top {padding-top:60px; padding-bottom:90px}
.page-top h1 {font-size:clamp(64px,7vw,96px); max-width:16ch}
.page-top.with-photo {grid-template-columns:1.1fr 1fr; gap:6vw}
.page-top.with-photo h1 {font-size:clamp(60px,6.5vw,94px)}
.page-top-img {height:540px; border-radius:var(--radius); object-position:55% center}
.page-lead {font-size:21px; line-height:1.65; max-width:60ch; color:#b9c9d9; margin-top:30px}
.page-top.with-photo .page-lead {font-size:19px}
.detail-grid {gap:40px; margin-top:64px}
.detail-grid article {padding-top:26px; border-color:#a8bacb}
.detail-grid h3 {font-size:29px; margin:20px 0}
.detail-grid p {font-size:17px; line-height:1.7; color:#4f6174}
.delivery li {font-size:20px; padding:25px 0; line-height:1.5}
.delivery li:before {color:#90b9ef; font-variant-numeric:tabular-nums}
.brief-section,.history {background:#152334}
.brief-section h2 {font-size:clamp(38px,4vw,56px)}
.control-diagram {background:#101d2b; border:1px solid #41566c; border-radius:var(--radius); padding:48px 32px; gap:28px}
.control-diagram span {border-radius:6px; background:#192c41; border-color:#6389b1; padding:30px 24px; font-family:var(--body); font-size:32px; transition:background .3s,border-color .3s,transform .3s var(--ease)}
.control-diagram span:hover,.control-diagram span:focus-visible {background:#264767; border-color:#a4cdff; transform:translateY(-4px)}
.control-diagram b {color:#9ac7ff; transition:color .3s}
.control-diagram:has(span:hover) b,.control-diagram:has(span:focus-visible) b {color:#fff}
.control-diagram small {font-size:15px; color:#c2d7ed}
.filter-bar {gap:10px; margin-bottom:30px}
.filter-bar button {border-radius:4px; color:#c4d5e8; border-color:#50677f; transition:background .2s,border-color .2s}
.filter-bar button:hover {border-color:#aacfff}
.filter-bar button[aria-pressed=true] {background:#8abaff; border-color:#8abaff; color:#10243d}
.project-list>.project {margin-top:40px}
.project-list>.project+article {margin-top:84px}
.case-top {padding-top:64px; padding-bottom:64px; grid-template-columns:1.3fr 1fr; gap:0 9vw}
.case-top h1 {font-size:clamp(66px,7vw,96px)}
.case-top>p {font-size:19px; line-height:1.7; color:#b9c9dc}
.case-cover {padding-inline:var(--pad)}
.case-cover>img {height:clamp(400px,48vw,720px); border-radius:var(--radius); object-position:center}
.case-facts {padding-block:40px; gap:40px}
.case-facts strong {line-height:1.7}
.case-story article {gap:7vw; grid-template-columns:.6fr 1.4fr; padding-block:48px}
.case-story h2 {font-size:clamp(35px,3.5vw,52px); margin-bottom:24px}
.case-story p {font-size:19px; color:#465b6f; line-height:1.75}
.gallery {gap:28px}
.gallery-item {border-radius:var(--radius); aspect-ratio:1.35}
.gallery-item>span {border-radius:50%; background:#0d2139e6}
.case-nav {padding-block:32px; line-height:1.6; color:#bed4ee}
.case-nav a {min-height:44px; display:flex; align-items:center}
.case-nav a:hover {color:#fff}
.certificate-grid {gap:60px 48px; margin-top:64px}
.certificate {grid-template-columns:140px minmax(0,1fr); gap:25px}
.certificate-scan {border-radius:6px; border-color:#b6c5d4; min-height:205px}
.certificate-scan img {height:200px}
.certificate h3 {font-size:25px; line-height:1.2}
.certificate p {line-height:1.65; color:#475e74}
.certificate .meta {color:#4c6076}
.weld-row>img {border-radius:var(--radius)}
.contact-grid {gap:8vw; grid-template-columns:.85fr 1.15fr}
.contact-grid aside h2 {font-size:clamp(38px,4vw,60px)}
.contact-detail {padding-top:24px; margin:34px 0; border-color:#b3c2d2}
.contact-detail>a {font-family:var(--body); font-size:clamp(25px,2.7vw,37px); letter-spacing:-.025em; overflow-wrap:anywhere}
.contact-detail>a:hover {color:#255b9b}
.contact-grid form {padding:38px; background:#f9fafb; border:1px solid #cbd6df; border-radius:var(--radius)}
.contact-grid form h3 {font-size:32px}
.form-note {color:#506579; line-height:1.6; margin:18px 0 30px}
.form-grid {gap:0 20px}
.field {margin-bottom:22px; gap:9px}
.field label {font-size:15px; color:#263d56}
input,select,textarea {border-color:#8b9db0; background:#fff; border-radius:4px; font-size:16px; padding:13px 14px; color:#152c45}
input::placeholder,textarea::placeholder {color:#576c81}
.field-error {color:#972732}
.dark-button {background:#16477f; border-color:#16477f; color:white; width:100%; margin-top:25px}
.dark-button:hover {background:#12345c; border-color:#12345c}
.form-preview {background:#e2ebf5; border:1px solid #a4b9d0; border-radius:var(--radius)}
.form-preview pre {background:#f7f9fc; border-radius:4px}
.legal-copy h2 {font-size:clamp(32px,3vw,44px); line-height:1.15; margin-top:48px}
.legal-copy p {line-height:1.8}
.review {font-size:11px; letter-spacing:.035em; border-radius:3px; color:#ead5a9; border-color:#9d895e}
.light .review {color:#65502c; border-color:#a48c62; background:#ede3cf}
dialog {border-color:#496079; border-radius:12px}
#consent h2 {font-size:44px}
.icon-button {border-radius:4px}
.arriving {animation:media-arrive .8s var(--ease) both}
@keyframes media-arrive {from {transform:translateY(18px); clip-path:inset(0 0 3% 0 round 12px)} to {transform:translateY(0); clip-path:inset(0 round 12px)}}
@media(min-width:1700px) {
  :root {--pad:max(80px,calc((100vw - 1500px)/2))}
  .hero {min-height:800px}
}
@media(max-width:1100px) {
  .header {gap:22px}
  .nav {gap:20px; font-size:14px}
  .nav .nav-contact {padding:12px 15px}
  .nav-contact span {margin-left:12px}
  .hero {min-height:720px; column-gap:4vw; padding-top:40px}
  .hero h1 {font-size:clamp(60px,7.5vw,82px)}
  .hero-media {min-height:535px}
  .hero-copy {font-size:18px}
  .service-link {padding:25px; gap:16px}
  .service-link h3 {font-size:27px}
  .steps {grid-template-columns:1fr 1fr; gap:44px}
  .split-photo img {min-height:620px}
  .split-content {padding:64px 36px}
  .page-top-img {height:480px}
  .page-top.with-photo h1 {font-size:68px}
  .case-top {grid-template-columns:1.2fr 1fr; gap:0 6vw}
  .case-top h1 {font-size:76px}
  .certificate-grid {grid-template-columns:1fr; gap:45px}
  .certificate {grid-template-columns:160px 1fr; gap:32px}
  .contact-grid {gap:40px; grid-template-columns:.8fr 1.2fr}
  .contact-grid form {padding:28px}
  .control-diagram {gap:18px; padding:32px 24px}
  .control-diagram span {font-size:28px; padding:28px 16px}
}
@media(max-width:940px) {
  .header {height:78px}
  .nav {top:78px; padding:24px var(--pad) 32px; background:#101b29; font-size:21px; max-height:calc(100svh - 78px); overflow:auto}
  .nav a {padding-block:13px; border-bottom:1px solid #ffffff18}
  .nav .nav-contact {margin-top:18px; padding:15px 20px}
  .menu-toggle {min-height:44px; gap:14px}
  .menu-toggle i {transition:transform .3s var(--ease)}
  .menu-toggle[aria-expanded=true] i {transform:rotate(90deg)}
  .hero {column-gap:30px; min-height:700px}
  .hero h1 {font-size:64px}
  .hero-media {min-height:535px; object-position:66% center}
  .hero>.eyebrow {font-size:10px; letter-spacing:.1em}
  .hero .button {font-size:14px; padding:15px 17px; gap:15px}
  .hero .actions .outline {padding-left:0}
  .page-top.with-photo {grid-template-columns:1fr; gap:42px}
  .page-top-img {height:440px}
  .page-top.with-photo h1 {max-width:17ch; font-size:80px}
  .page-top.with-photo .page-lead {max-width:60ch}
  .service-link {padding:24px 20px}
  .service-link .meta {display:block; font-size:11px}
  .service-link h3 {font-size:25px}
  .service-link p {font-size:15px}
  .video-section {grid-template-columns:1fr; gap:40px}
  .video-section>div {max-width:650px}
  .contact-grid {grid-template-columns:1fr; gap:50px}
  .contact-grid aside {max-width:650px}
  .contact-grid form {padding:38px}
  .case-top {grid-template-columns:1fr; gap:25px}
  .case-top>p {margin-top:0}
  .split-feature {grid-template-columns:1fr}
  .split-photo img {height:520px; min-height:0; object-position:center 35%}
  .split-content {padding:75px var(--pad)}
  .application-grid {gap:26px}
  .application-grid h3 {font-size:26px}
}
@media(max-width:760px) {
  :root {--pad:24px}
  html {scroll-padding-top:95px}
  body {font-size:17px}
  .brand {width:182px; height:54px; gap:7px}
  .brand-symbol {width:50px; height:50px}
  .brand-name {width:125px; height:32px}
  .brand .brand-symbol img {width:50px; height:50px}
  .brand .brand-name img {width:125px; height:32px}
  .section {padding-block:76px}
  h2,.intro h2 {font-size:42px; line-height:1.09}
  .eyebrow {font-size:11px; margin-bottom:25px}
  .hero {grid-template-columns:1fr; grid-template-rows:auto auto auto auto auto auto; padding-top:32px; min-height:0; row-gap:0}
  .hero>.eyebrow {grid-column:1; grid-row:1; padding:0; font-size:10px; margin-bottom:20px; letter-spacing:.09em}
  .hero h1 {grid-column:1; grid-row:2; font-size:clamp(58px,12.6vw,84px); line-height:1; margin-bottom:30px}
  .hero-media {grid-column:1; grid-row:3; min-height:0; height:320px; object-position:65% center; border-radius:10px}
  .hero-copy {grid-column:1; grid-row:4; margin:26px 0 23px; max-width:none; font-size:18px}
  .hero>.actions {grid-column:1; grid-row:5; flex-direction:row; gap:10px; padding:0}
  .hero .button {padding:15px 18px; font-size:15px; gap:22px; min-height:54px}
  .hero .actions .outline {padding-left:0}
  .hero-bottom {grid-column:1; grid-row:6; margin-top:27px; padding:23px 0 28px; gap:15px; align-items:start; flex-direction:column; font-size:10px}
  .hero-bottom strong {font-size:15px}
  .hero-bottom span:last-child {text-align:left}
  .lead-split {grid-template-columns:1fr; gap:28px}
  .lead-split p {font-size:18px}
  .section-head {gap:26px; margin-bottom:36px}
  .section-head>p {font-size:17px}
  .service-grid {grid-template-columns:1fr; gap:12px}
  .service-link {padding:26px 20px; min-height:145px; gap:15px}
  .service-link h3 {font-size:27px}
  .service-link p {font-size:15px; margin-top:12px}
  .service-link>.arrow {font-size:22px}
  .project.featured .project-image,.project-image {aspect-ratio:1.13}
  .project-image img {object-position:60% center}
  .project-grid {grid-template-columns:1fr; gap:42px; margin-top:44px}
  .project-grid .project:nth-child(2) {margin-top:0}
  .project-copy {padding-top:22px; gap:14px}
  .project h3 {font-size:29px}
  .project-copy .meta {font-size:10px; margin-bottom:12px}
  .project-copy p {font-size:14px}
  .project-index {top:15px; left:15px; font-size:10px}
  .round-arrow {width:46px; height:46px; bottom:16px; right:16px}
  .video-section {gap:34px}
  .video-section h2 {font-size:42px}
  .tech-strip {gap:28px; padding-block:35px}
  .tech-strip strong {font-size:29px}
  .steps {grid-template-columns:1fr 1fr; gap:40px 25px; margin-top:42px}
  .steps>div {padding-top:23px}
  .steps>div>span {font-size:16px; margin-bottom:25px}
  .steps h3 {font-size:24px; line-height:1.2}
  .steps p {font-size:15px; line-height:1.7}
  .split-photo img {height:430px; object-position:50% 35%}
  .split-content {padding-block:70px}
  .split-content h2 {font-size:42px}
  .split-content p {font-size:17px}
  .application-grid {grid-template-columns:1fr; gap:28px}
  .application-grid h3 {font-size:30px; max-width:85%; margin:24px 0 18px}
  .application-grid .arrow {top:35px; margin-top:20px}
  .about-preview {grid-template-columns:1fr; gap:35px}
  .brand-feature>img {aspect-ratio:1.6; object-fit:contain}
  .closing {grid-template-columns:1fr; padding-block:74px; gap:30px}
  .closing h2 {font-size:47px}
  .closing p {font-size:18px}
  .footer {padding-top:56px}
  .footer-grid {grid-template-columns:1fr 1fr; gap:42px 25px}
  .footer-grid>div:first-child {grid-column:1/-1}
  .footer-bottom {font-size:12px; margin-top:40px; gap:14px}
  .breadcrumbs {font-size:12px; gap:9px; line-height:1.6; padding-top:25px}
  .page-top {padding-top:40px; padding-bottom:60px}
  .page-top h1,.page-top.with-photo h1 {font-size:clamp(56px,12vw,80px); line-height:1.02; max-width:none}
  .page-lead,.page-top.with-photo .page-lead {font-size:18px; margin-top:26px}
  .page-top.with-photo {gap:34px}
  .page-top-img {height:340px}
  .detail-grid {grid-template-columns:1fr; gap:34px; margin-top:46px}
  .detail-grid h3 {font-size:29px}
  .detail-grid p {font-size:17px}
  .delivery,.brief-section,.history {grid-template-columns:1fr; gap:34px}
  .delivery li {font-size:19px; padding:22px 0}
  .brief-section h2 {font-size:40px}
  .control-diagram {flex-direction:column; gap:14px; padding:26px}
  .control-diagram span {font-size:30px; width:100%; padding:24px}
  .control-diagram b {transform:rotate(90deg)}
  .case-top {padding-top:40px; padding-bottom:42px; gap:25px}
  .case-top h1 {font-size:clamp(58px,12vw,80px)}
  .case-top .eyebrow {margin-bottom:0}
  .case-top>p {font-size:18px}
  .case-cover>img {height:370px; object-position:58% center}
  .case-facts {grid-template-columns:1fr; gap:26px; padding-block:34px}
  .case-story article {grid-template-columns:1fr; gap:22px; padding-block:38px}
  .case-story h2 {font-size:36px; margin-bottom:19px}
  .case-story p {font-size:18px}
  .gallery {grid-template-columns:1fr; gap:20px}
  .gallery-item {aspect-ratio:1.13}
  .case-nav {flex-direction:column; gap:20px; font-size:15px}
  .related-service h2 {font-size:40px}
  .certificate-grid {gap:40px; margin-top:44px}
  .certificate {grid-template-columns:100px minmax(0,1fr); gap:20px}
  .certificate-scan {min-height:150px; padding:6px}
  .certificate-scan img {height:145px}
  .certificate h3 {font-size:23px; overflow-wrap:anywhere}
  .certificate p {font-size:14px}
  .certificate .meta {font-size:10px}
  .contact-grid {gap:44px}
  .contact-grid aside h2 {font-size:42px}
  .contact-detail>a {font-size:30px}
  .contact-grid form {padding:25px 20px}
  .contact-grid form h3 {font-size:29px}
  .form-grid {grid-template-columns:1fr}
  .form-note {font-size:14px}
  .form-preview {padding:24px}
  .legal-copy h2 {font-size:33px}
  .review {font-size:10px}
  #consent h2 {font-size:38px}
}
@media(max-width:370px) {
  :root {--pad:20px}
  .hero h1 {font-size:54px}
  .steps {grid-template-columns:1fr}
  .service-link {padding:24px 16px; gap:12px}
}
@media(prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto}
  *,*:before,*:after {animation:none!important; transition:none!important}
  .steps>div:before {transform:scaleX(1)}
}
