:root{--red:#ed171b;--ink:#111;--gray:#6f6f6f;--paper:#f6f6f4;--line:#d7d7d5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}body.lock{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:700;line-height:1;letter-spacing:-.045em}h2{font-size:clamp(38px,5.2vw,82px)}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:6px}::selection{background:var(--red);color:#fff}.skip{position:fixed;top:-100px;left:20px;background:white;padding:12px;z-index:100}.skip:focus{top:10px}header{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 3.4%;background:var(--paper);position:fixed;top:0;left:0;right:0;z-index:30;border-bottom:1px solid #ddd;transition:height .3s,box-shadow .3s}header.scrolled{height:74px;box-shadow:0 2px 15px #0001}.brand{width:156px;flex-shrink:0}.brand img{width:100%;height:auto;mix-blend-mode:multiply}header nav{display:flex;gap:28px}header nav a{font-size:14px}header nav a:hover{color:var(--red)}.header-cta{font-size:12px;font-weight:bold;letter-spacing:.06em;display:flex;gap:28px;align-items:center}.header-cta span{font-size:26px;color:var(--red)}.menu-toggle{display:none}.hero{min-height:790px;height:calc(100svh - 12px);max-height:1080px;position:relative;background:#222;color:#fff;margin-top:94px;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-image{filter:grayscale(1);object-position:50% 45%;opacity:.8;transform:scale(1.035)}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.8),rgba(0,0,0,.2)),linear-gradient(0deg,rgba(0,0,0,.7),transparent 60%)}.hero-content{position:relative;z-index:2;padding:7% 6% 140px}.eyebrow,.section-label{font-size:12px;font-weight:600;letter-spacing:.12em;line-height:1.5}.eyebrow{display:flex;gap:17px;align-items:center}.red-line{width:44px;height:2px;background:var(--red)}h1{font-size:clamp(49px,6.75vw,110px);line-height:.98;margin-top:36px;letter-spacing:-.055em}h1 span{color:#fff}.hero-bottom{display:flex;gap:8%;align-items:flex-end;margin-top:40px}.hero-bottom p{font-size:16px;line-height:1.65;max-width:370px;color:#ddd}.hero-buttons{display:flex;gap:32px;align-items:center}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:34px;padding:18px 24px;font-weight:bold;font-size:12px;letter-spacing:.06em;min-height:54px}.red{color:white;background:var(--red)}.red:hover{background:#bc1013}.text-link{display:inline-flex;gap:26px;align-items:center;font-size:12px;font-weight:600;letter-spacing:.04em;border-bottom:1px solid #ffffff70;padding:12px 0}.text-link span{font-size:21px}.hero-foot{position:absolute;z-index:2;bottom:29px;left:6%;right:6%;display:flex;justify-content:space-between;border-top:1px solid #ffffff50;padding-top:22px;font-size:10px;letter-spacing:.12em}.hero-foot a span{margin-left:35px;font-size:20px}.year-stamp{position:absolute;right:6%;top:9%;font-size:14px;letter-spacing:.12em;line-height:1.3;border-left:2px solid var(--red);padding-left:14px}.facts-strip{display:grid;grid-template-columns:repeat(4,1fr);padding:38px 6%;background:#fff}.facts-strip>div,.facts-strip>a{padding-left:28px;border-left:1px solid var(--line)}.facts-strip>div:first-child{padding-left:0;border:0}.facts-strip strong{font-size:34px;line-height:1.2;letter-spacing:-.055em;font-weight:500;white-space:nowrap}.facts-strip strong span{color:var(--red)}.facts-strip small{font-size:20px}.facts-strip p{font-size:10px;letter-spacing:.1em;margin-top:12px}.section{padding:92px 6%}.intro{display:grid;grid-template-columns:1fr 2.15fr;gap:25px}.section-label{color:var(--red)}.intro h2{font-size:clamp(38px,5.5vw,84px)}.muted{color:#8a8a8a}.intro-copy{display:flex;gap:40px;margin-top:34px;max-width:670px}.intro-copy p{max-width:470px;color:#555}.short-rule{height:2px;width:75px;margin-top:13px;background:var(--red);flex-shrink:0}.history{border-top:1px solid var(--line);background:#eeefed;padding-bottom:34px}.history-heading{display:grid;grid-template-columns:1fr 2.15fr;gap:25px}.history-heading p{grid-column:2;color:#666;margin-top:8px}.history-heading h2{font-size:clamp(36px,4vw,62px)}.timeline{margin-top:52px;position:relative}.timeline-rail{position:absolute;left:27%;top:0;bottom:45px;width:1px;background:#c5c5c5}.timeline-rail i{position:absolute;top:0;width:2px;height:var(--progress,0%);background:var(--red)}.milestone{display:grid;grid-template-columns:27% 43% 30%;position:relative;padding:0 0 58px}.milestone-index{font-size:11px;letter-spacing:.1em;padding-top:15px;color:#777}.milestone-body{padding:0 35px 0 44px;position:relative}.milestone-body:before{content:'';position:absolute;top:17px;left:-5px;width:11px;height:11px;background:var(--red);border-radius:50%;border:3px solid #eeefed}.year{font-size:clamp(70px,8vw,125px);letter-spacing:-.075em;color:var(--red);line-height:1;display:block;margin-bottom:15px}.milestone h3{font-size:34px;letter-spacing:-.03em}.milestone p{margin-top:20px;font-size:15px;color:#666;max-width:340px}.archive{margin:12px 0 0 25px;max-width:310px}.archive img{width:100%;height:185px;object-fit:cover;filter:grayscale(1)}figcaption{font-size:10px;letter-spacing:.06em;margin-top:12px;color:#666}.today{padding-top:20px}.today h3{font-size:31px}.dark-link{border-color:#aaa;margin-top:18px}.production{position:relative;background:#181818;min-height:650px;color:white;overflow:hidden}.production-image{position:absolute;width:100%;height:100%;object-fit:cover;filter:grayscale(1);opacity:.3}.production:after{position:absolute;inset:0;content:'';background:linear-gradient(90deg,#111b,transparent)}.production-content{position:relative;z-index:1;padding:72px 6%}.production .section-label{color:white}.production h2{font-size:clamp(78px,13vw,190px);margin-top:45px;letter-spacing:-.065em}.production h2 small{font-size:.36em;letter-spacing:-.02em;font-weight:400}.production h3{font-size:clamp(25px,3vw,43px);line-height:1.1;margin-top:15px}.production-data{display:flex;gap:60px;margin-top:47px;border-top:1px solid #ffffff50;padding-top:25px;max-width:780px}.production-data strong{display:block;font-size:24px;font-weight:400;line-height:1.2}.production-data span{display:block;font-size:12px;color:#ccc;margin-top:8px}.photo-note{position:absolute;bottom:30px;right:6%;font-size:9px;letter-spacing:.09em;color:#aaa}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin:30px 0 55px}.section-heading p{max-width:365px;color:#666;font-size:15px}.solution-feature{display:grid;grid-template-columns:1.3fr 1fr;min-height:380px;margin-bottom:36px}.image-mask{overflow:hidden;min-height:380px;background:#ccc}.image-mask img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:transform .9s}.image-mask:hover img{transform:scale(1.03)}.solution-copy{padding:55px 0 30px 65px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.solution-copy h3{font-size:65px;margin:24px 0}.solution-copy p{max-width:355px;color:#666;font-size:15px}.reverse{grid-template-columns:1fr 1.3fr}.reverse .solution-copy{padding-left:0;padding-right:60px}.detail-crop img{object-position:right;transform:scale(1.4)}.detail-crop:hover img{transform:scale(1.44)}.solution-list{margin-top:42px}details{border-top:1px solid #bbb}details:last-child{border-bottom:1px solid #bbb}summary{display:flex;align-items:center;padding:30px 0;gap:35px;cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}summary>span{font-size:12px;color:var(--red)}summary h3{font-size:clamp(24px,3vw,43px);letter-spacing:-.025em}summary b{margin-left:auto;font-weight:400;font-size:32px;color:var(--red);transition:transform .3s}details[open] summary b{transform:rotate(45deg)}details>div{padding:0 45px 30px 50px;display:flex;gap:60px;justify-content:space-between}details p{max-width:620px;color:#666}details a{white-space:nowrap;color:var(--red);font-size:14px}.certifications{background:#191919;color:white}.certifications .section-heading h2{font-size:clamp(38px,4.6vw,72px)}.certifications .section-heading p{color:#aaa}.cert-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #555;border-left:1px solid #555}.cert,.cert-note{border:0;border-bottom:1px solid #555;border-right:1px solid #555;background:transparent;color:white;padding:32px 25px;min-height:210px;text-align:left;display:flex;flex-direction:column;transition:background .25s}.cert:hover{background:var(--red)}.cert>span{font-size:10px;letter-spacing:.08em;color:#bbb}.cert:hover>span{color:white}.cert strong{font-size:clamp(26px,2.6vw,40px);letter-spacing:-.045em;font-weight:500;margin-top:18px}.cert small{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:25px;font-size:9px;letter-spacing:.08em}.cert small b{font-size:22px;font-weight:400;color:var(--red)}.cert:hover small b{color:white}.plus-symbol{font-size:55px;line-height:1;color:var(--red)}.cert-note p{font-size:18px;margin-top:18px;line-height:1.4}.document-note{font-size:12px;color:#aaa;margin-top:25px}.contact{background:var(--red);color:white}.contact .section-label{color:#fff}.contact h2{font-size:clamp(38px,5.6vw,88px);margin-top:45px}.contact-link{display:flex;max-width:650px;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff80;font-size:14px;letter-spacing:.04em;padding:35px 0 14px;margin-top:30px}.contact-link span{font-size:40px}.contact-link:hover{border-color:#fff}footer{background:#111;color:#bcbcbc;padding:65px 6% 20px}.footer-main{display:grid;grid-template-columns:1.3fr 1fr 1fr .6fr;gap:55px;padding-bottom:60px}.footer-brand img{width:200px}.footer-brand p{font-size:13px;margin-top:25px}.footer-brand>span{color:var(--red);font-size:13px;letter-spacing:.06em;display:block;margin-top:17px}footer h3{font-size:11px;letter-spacing:.1em;color:white;margin:12px 0 28px}footer a,footer p{font-size:13px}footer a{display:block;margin-bottom:8px}footer a:hover{color:white}.footer-main p{margin-bottom:12px}.footer-bottom{border-top:1px solid #393939;display:flex;justify-content:space-between;padding-top:22px;font-size:10px;letter-spacing:.06em}.footer-bottom>div{display:flex;gap:25px;align-items:center}.footer-bottom a,.footer-bottom button{font-size:11px;margin:0}.footer-bottom button{background:none;border:0;padding:0}.footer-bottom>span:nth-child(2){color:#737373}dialog{border:0;padding:45px;max-width:560px;background:var(--paper);color:#111}dialog::backdrop{background:#000a;backdrop-filter:blur(4px)}dialog h2{font-size:38px;margin:25px 0}dialog p{color:#555;margin-bottom:25px}.dialog-close{position:absolute;right:15px;top:8px;background:none;border:0;font-size:32px}.reveal-ready{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}.reveal-ready.visible{opacity:1;transform:translateY(0)}
@media(min-width:1600px){.hero-content{padding-top:100px}.hero{height:900px}}
@media(max-width:1100px){header nav{gap:15px}.hero{min-height:720px}.hero-bottom{align-items:flex-start;flex-direction:column;gap:25px}.hero-content{padding-top:9%}.hero-foot>span{display:none}.facts-strip strong{font-size:28px}.cert-grid{grid-template-columns:repeat(2,1fr)}.footer-main{gap:25px}.milestone{grid-template-columns:23% 47% 30%}.timeline-rail{left:23%}.solution-copy{padding-left:35px}.solution-copy h3{font-size:50px}}
@media(max-width:800px){header{height:80px;padding:0 5%}.brand{width:133px}header nav{display:none}.header-cta{margin-left:auto;margin-right:24px;font-size:10px;gap:12px}.menu-toggle{display:flex;flex-direction:column;gap:6px;justify-content:center;background:none;border:0;width:36px;height:44px;padding:5px}.menu-toggle span{height:1px;background:#111;width:26px}#mobile-menu{max-width:none;width:90%;height:100dvh;max-height:none;margin:0 0 0 auto;padding:27px;position:fixed;inset:0 0 0 auto}.mobile-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--red)}.mobile-top button{background:none;border:0;font-size:36px}#mobile-menu nav{display:flex;flex-direction:column;margin:40px 0}#mobile-menu nav a{font-size:32px;letter-spacing:-.03em;padding:10px 0;border-bottom:1px solid #ccc}.hero{margin-top:80px;min-height:740px;max-height:950px;height:calc(100svh - 80px)}.hero-content{padding:65px 6% 120px}h1{font-size:clamp(41px,7.5vw,64px);margin-top:30px}.year-stamp{display:none}.hero-image{object-position:65% center}.hero-shade{background:linear-gradient(90deg,#000c,#0004),linear-gradient(0deg,#000b,transparent)}.hero-bottom{margin-top:28px}.hero-buttons{flex-wrap:wrap;gap:15px}.hero-bottom p{font-size:15px;max-width:335px}.eyebrow{font-size:10px}.hero-foot{bottom:25px}.facts-strip{grid-template-columns:repeat(2,1fr);gap:25px 0;padding:30px 6%}.facts-strip>div:nth-child(3){padding-left:0;border:0}.facts-strip strong{font-size:28px}.facts-strip p{font-size:9px}.section{padding:58px 6%}.intro,.history-heading{display:block}.intro h2,.history-heading h2{margin-top:28px}.intro-copy{gap:20px;margin-top:30px}.short-rule{width:35px}.intro-copy p{font-size:15px}.history-heading p{margin-top:25px}.timeline{margin-top:50px}.timeline-rail{left:5px}.milestone{display:block;padding:0 0 40px 32px}.milestone-index{padding:0 0 14px;font-size:10px}.milestone-body{padding:0}.milestone-body:before{left:-32px;top:10px}.year{font-size:85px}.milestone h3{font-size:30px}.milestone p{max-width:none}.archive{margin:30px 0 0;max-width:280px}.archive img{height:auto}.production{min-height:620px}.production-content{padding:65px 6%}.production h2{font-size:clamp(76px,16vw,125px)}.production-data{gap:25px;flex-wrap:wrap}.production-data strong{font-size:21px}.production h3{font-size:26px}.photo-note{position:static;display:block;margin-top:30px}.section-heading{display:block;margin:25px 0 35px}.section-heading p{margin-top:25px}.solution-feature,.reverse{display:flex;flex-direction:column;min-height:0;margin-bottom:32px}.image-mask{min-height:0;height:340px}.solution-copy,.reverse .solution-copy{padding:30px 0 0}.reverse .image-mask{order:-1}.solution-copy h3{font-size:49px;margin:18px 0}.solution-copy p{max-width:none}.solution-list{margin-top:30px}summary{gap:18px;padding:25px 0}summary h3{font-size:23px}details>div{display:block;padding:0 0 25px 30px}details a{display:block;margin-top:15px}.cert{padding:25px 17px;min-height:195px}.cert strong{font-size:30px}.cert>span{font-size:9px}.cert small{font-size:8px}.cert-note{padding:25px 17px}.cert-note p{font-size:16px}.contact h2{font-size:clamp(34px,7.2vw,58px)}.contact-link{font-size:11px}.footer-main{grid-template-columns:repeat(2,1fr);gap:35px 20px}.footer-brand img{width:155px}.footer-bottom{flex-wrap:wrap;gap:20px}.footer-bottom>span:nth-child(2){display:none}dialog{width:90%;padding:35px 25px}.section-label{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal-ready{opacity:1;transform:none}.hero-image{transform:none!important}}

[hidden]{display:none!important}

.page-hero{padding:170px 6% 78px;background:#191919;color:#fff;position:relative;overflow:hidden}
.page-hero h1{font-size:clamp(48px,7vw,104px);max-width:1100px;margin-top:28px}
.page-hero p:last-child{max-width:620px;color:#bbb;margin-top:30px}
.page-grid{display:grid;grid-template-columns:minmax(240px,.75fr) 1.6fr;gap:8%}
.page-grid h2{font-size:clamp(36px,4.6vw,72px);margin-top:28px}
.competence-list article{border-top:1px solid var(--line);padding:26px 0}
.competence-list article>span{color:var(--red);font-size:12px}
.competence-list h3{font-size:clamp(28px,3vw,44px);margin:12px 0}
.competence-list p,.location-section p{color:#666;max-width:650px}
.location-section{background:#eeefed}
.location-section img{width:100%;max-height:520px;object-fit:cover;filter:grayscale(1);margin-bottom:28px}
.location-section h3{font-size:clamp(28px,3vw,44px);margin-bottom:20px}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}
.content-card{background:var(--paper)}
.content-card img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:grayscale(1)}
.content-card details{border:0}.content-card summary{padding:22px}
.content-card details>p{padding:0 22px 22px;color:#666}
.archive-note{font-size:12px;color:#777;margin-top:24px;max-width:850px}
.contact-band{padding:72px 6%;background:var(--red);color:#fff;display:flex;justify-content:space-between;gap:40px;align-items:end}
.contact-band .section-label{color:#fff}.contact-band h2{font-size:clamp(34px,4.5vw,68px);margin-top:20px}.contact-band .button{background:#fff;color:var(--ink)}
@media(max-width:800px){.page-hero{padding:130px 6% 55px}.page-hero h1{font-size:clamp(38px,11vw,44px)}.page-grid{display:block}.page-grid>div+div{margin-top:36px}.card-grid{grid-template-columns:1fr}.contact-band{display:block}.contact-band .button{margin-top:30px}}

.section-nav{position:sticky;top:74px;z-index:10;background:#fff;border-bottom:1px solid var(--line)}
.section-nav div{display:flex;overflow:auto;padding:0 6%}
.section-nav a{padding:18px 24px;border-right:1px solid var(--line);white-space:nowrap;font-size:12px;font-weight:700}
.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;margin:44px 0}
.service-grid figure img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:grayscale(1)}
.dark-section{background:#191919;color:#fff}.dark-section p{color:#bbb}
.dark-section .content-card{background:#222}
.image-placeholder{aspect-ratio:4/3;background:#ddd;display:grid;place-content:center;text-align:center;color:#777;text-transform:uppercase;font-size:11px;letter-spacing:.12em}
@media(max-width:800px){.section-nav{top:74px}.service-grid{grid-template-columns:1fr;gap:30px}}

.certificates{display:grid;gap:1px;background:#444}
.certificate-card{display:grid;grid-template-columns:minmax(240px,.7fr) 1.3fr;background:#191919;color:#fff}
.document-preview{padding:32px;background:#111}.document-preview img{width:100%;max-height:440px;object-fit:contain;background:#fff}
.certificate-copy{padding:48px}.certificate-copy h2{font-size:clamp(34px,4vw,62px);margin:18px 0 24px}.certificate-copy>p:not(.section-label){color:#bbb;max-width:680px}
.certificate-meta{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:34px 0}.certificate-meta div{border-top:1px solid #444;padding-top:12px}
.certificate-meta dt{font-size:10px;color:#aaa;text-transform:uppercase}.certificate-meta dd{margin:4px 0 0}
.certificate-actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap}
@media(max-width:800px){.certificate-card{grid-template-columns:1fr}.certificate-copy{padding:28px}.certificate-meta{grid-template-columns:1fr}}

.form-layout{display:grid;grid-template-columns:minmax(260px,.75fr) 1.4fr;gap:7%}
.form-aside h2,.form-panel h2{font-size:clamp(34px,4vw,62px);margin:28px 0}.form-aside>p{color:#666;margin-bottom:20px}.contact-details{margin:36px 0}.contact-details div{border-top:1px solid var(--line);padding:16px 0}.contact-details dt{font-size:10px;font-weight:700;letter-spacing:.1em}.contact-details dd{margin:5px 0 0}.form-photo{margin-top:32px}.form-photo img{width:100%;filter:grayscale(1)}
.form-panel{background:#fff;padding:46px}.form-panel>p:not(.section-label){color:#666;margin-bottom:30px}.form-panel fieldset{border:0;padding:0;margin:0;min-width:0}.form-panel legend{font-size:12px;font-weight:700;margin-bottom:24px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.field.full,.privacy-area,.form-submit{grid-column:1/-1}.field label{display:block;font-size:11px;font-weight:700;margin-bottom:8px}
.field input,.field select,.field textarea{width:100%;border:0;border-bottom:1px solid #999;background:transparent;padding:12px 0;border-radius:0}
.field textarea{resize:vertical}.checkbox-label{display:flex;gap:12px;align-items:start;margin-top:20px}.checkbox-label input{margin-top:6px}.form-submit{display:flex;align-items:center;justify-content:space-between;gap:24px}.form-submit p{font-size:11px;color:#666}.form-status{margin-top:20px;color:#555}.upload-box{border:1px solid var(--line);padding:24px}.upload-box p{font-size:12px;color:#666;margin:8px 0}.file-status{margin-top:12px!important}
@media(max-width:800px){.form-layout,.form-grid{grid-template-columns:1fr}.form-panel{padding:28px 20px}.form-panel{margin-top:36px}.form-submit{align-items:flex-start;flex-direction:column}}
