:root{
 --blue:#294194;--blue-dark:#1d2f70;--ink:#111827;--ink-2:#202736;--muted:#647084;--line:#d9dee8;--surface:#f4f6f9;--white:#fff;--max:1280px;--header:92px;--radius:3px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:#fff;color:var(--ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}img,video{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}.container{width:min(calc(100% - 48px),var(--max));margin-inline:auto}.section{padding:110px 0}.section-surface{background:var(--surface)}.section-dark{background:#111722;color:#fff}.section-dark p{color:#b7bfcd}.section-dark h2{color:#fff}h1,h2,h3{margin:0 0 22px;font-family:"Barlow Condensed",Arial,sans-serif;line-height:.96;letter-spacing:-.02em}h1{font-size:clamp(56px,7.5vw,112px);font-weight:600}h2{font-size:clamp(44px,5vw,72px);font-weight:600}h3{font-size:34px;font-weight:600}h1 strong,h2 span,h2 strong{color:var(--blue);font-weight:600}p{margin:0 0 20px;color:#4e596c}.lead,.lead-copy{font-size:19px}.eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:18px;color:var(--blue);font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.eyebrow:before{content:"";width:28px;height:2px;background:currentColor}.eyebrow.light{color:#fff}.btn{display:inline-flex;min-height:52px;align-items:center;justify-content:center;padding:0 25px;border:1px solid transparent;border-radius:var(--radius);font-weight:750;font-size:14px;transition:.2s ease}.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover{background:var(--blue-dark);transform:translateY(-1px)}.btn-outline{border-color:#b9c1d0;background:#fff;color:var(--ink)}.btn-outline:hover{border-color:var(--blue);color:var(--blue)}.btn-light{background:#fff;color:var(--blue)}.btn-ghost-light{border-color:rgba(255,255,255,.58);color:#fff;background:rgba(255,255,255,.04);backdrop-filter:blur(4px)}.btn-ghost-light:hover{background:#fff;color:var(--blue)}.btn.full{width:100%}.button-row{display:flex;gap:12px;flex-wrap:wrap}.text-link{display:inline-flex;align-items:center;gap:12px;color:var(--ink);font-weight:750}.text-link span,.text-link b{color:var(--blue)}.text-link:hover span,.text-link:hover b{transform:translateX(4px)}.text-link span,.text-link b{transition:transform .2s}.site-header{position:fixed;z-index:1000;top:0;left:0;right:0;height:var(--header);background:#fff;border-bottom:1px solid rgba(17,24,39,.09);box-shadow:0 6px 28px rgba(17,24,39,.05)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:36px}.brand{display:flex;align-items:center;flex:0 0 auto}.brand img{width:250px;height:auto;max-height:70px;object-fit:contain}.main-nav{display:flex;align-items:center;gap:24px;font-size:14px;font-weight:700}.main-nav>a:not(.nav-cta){position:relative;padding:34px 0 31px}.main-nav>a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:19px;height:2px;background:var(--blue);transition:right .2s}.main-nav>a:hover:after,.main-nav>a.active:after{right:0}.main-nav>a.active{color:var(--blue)}.nav-cta{display:inline-flex;align-items:center;min-height:46px;padding:0 18px;background:var(--blue);color:#fff;border-radius:2px}.menu-toggle{display:none;border:0;background:transparent;padding:10px}.menu-toggle span{display:block;width:27px;height:2px;margin:6px 0;background:var(--ink)}main{padding-top:var(--header)}.hero-home{position:relative;min-height:calc(100svh - var(--header));height:820px;max-height:900px;overflow:hidden;background:#101521;color:#fff}.hero-media,.hero-media video,.hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-media img{filter:saturate(.8)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,13,27,.9) 0%,rgba(7,13,27,.67) 42%,rgba(7,13,27,.18) 74%,rgba(7,13,27,.3) 100%),linear-gradient(0deg,rgba(7,13,27,.74) 0%,transparent 40%)}.hero-grid-overlay{position:absolute;inset:0;opacity:.09;background-image:linear-gradient(rgba(255,255,255,.7) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.7) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(to right,#000 0%,rgba(0,0,0,.4) 55%,transparent 90%)}.hero-content{position:relative;z-index:2;height:calc(100% - 108px);display:flex;align-items:center;justify-content:space-between;gap:60px;padding-bottom:24px}.hero-copy{max-width:850px}.hero-copy h1{color:#fff}.hero-copy h1 strong{color:#fff}.hero-copy p{max-width:720px;color:#e3e7ef;font-size:19px}.hero-copy .button-row{margin-top:34px}.hero-side-note{align-self:center;width:180px;padding:18px;border-left:2px solid rgba(255,255,255,.5);display:flex;flex-direction:column}.hero-side-note span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#cfd6e2}.hero-side-note strong{font-family:"Barlow Condensed";font-size:50px;line-height:1}.hero-side-note b{font-size:18px;color:#fff}.hero-bottom{position:absolute;z-index:3;left:0;right:0;bottom:0;background:rgba(12,19,34,.79);backdrop-filter:blur(7px);border-top:1px solid rgba(255,255,255,.12)}.hero-bottom-grid{display:grid;grid-template-columns:repeat(4,1fr)}.hero-bottom-grid>div{min-height:108px;padding:20px 28px;border-right:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;justify-content:center}.hero-bottom-grid>div:first-child{padding-left:0}.hero-bottom-grid strong{font-family:"Barlow Condensed";font-size:32px;line-height:1;color:#fff}.hero-bottom-grid span{font-size:12px;color:#bfc7d5;text-transform:uppercase;letter-spacing:.09em}.split-heading,.editorial-grid{display:grid;grid-template-columns:1.05fr .8fr;gap:100px;align-items:start}.split-heading h2,.editorial-grid h2{max-width:760px}.intro-copy{padding-top:38px}.intro-copy p,.editorial-grid p{font-size:18px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:46px}.section-head>p{max-width:470px;margin:0}.discipline-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.discipline-card{position:relative;min-height:330px;padding:34px 30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;transition:.25s}.discipline-card:hover{background:var(--blue);color:#fff;transform:translateY(-5px);box-shadow:0 20px 40px rgba(41,65,148,.16)}.discipline-card:hover p,.discipline-card:hover .card-index,.discipline-card:hover .card-arrow{color:#fff}.card-index{display:block;margin-bottom:55px;color:var(--blue);font-size:12px;font-weight:800;letter-spacing:.1em}.discipline-card h3{font-size:39px}.discipline-card p{font-size:14px}.card-arrow{position:absolute;bottom:24px;right:28px;color:var(--blue);font-size:26px}.project-preview-grid,.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}.project-card{background:#fff;border:1px solid #e2e6ed;overflow:hidden;transition:.25s}.project-card:hover{transform:translateY(-4px);box-shadow:0 20px 50px rgba(18,29,54,.09)}.project-card-media{position:relative;aspect-ratio:16/9;overflow:hidden;background:#dfe3e9}.project-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .55s}.project-card:hover .project-card-media img{transform:scale(1.035)}.project-card-body{padding:28px}.project-meta{display:flex;justify-content:space-between;gap:16px;color:var(--blue);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.project-card h3,.project-card h2{margin:14px 0 12px;font-size:40px}.project-card p{font-size:14px}.status-badge{position:absolute;top:18px;left:18px;padding:7px 11px;background:#fff;color:var(--blue);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.inhouse-section{background:#121927;color:#fff}.inhouse-grid{display:grid;grid-template-columns:.8fr 1fr;gap:100px;align-items:start}.inhouse-copy{position:sticky;top:130px}.inhouse-copy h2{color:#fff}.inhouse-copy p{color:#bdc4d1;font-size:18px}.process-list{border-top:1px solid rgba(255,255,255,.15)}.process-list a{display:grid;grid-template-columns:58px 1fr 24px;align-items:center;min-height:85px;border-bottom:1px solid rgba(255,255,255,.15);transition:.2s}.process-list a:hover{padding-left:12px;background:rgba(255,255,255,.03)}.process-list span{color:#7f8ba0;font-size:12px}.process-list strong{font-family:"Barlow Condensed";font-size:30px}.process-list b{color:#fff}.quality-grid{display:grid;grid-template-columns:.75fr 1fr;gap:110px;align-items:center}.quality-mark{min-height:350px;background:var(--blue);color:#fff;padding:45px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.quality-mark span{font-size:35px;font-weight:700;line-height:1}.quality-mark strong{font-family:"Barlow Condensed";font-size:120px;line-height:.9}.quality-mark b{font-size:34px}.quality-grid p{font-size:18px}.quality-points{display:flex;flex-wrap:wrap;gap:8px;margin:30px 0}.quality-points span{padding:8px 11px;background:var(--surface);font-size:12px;font-weight:700}.jobs-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.job-card{border-top:3px solid var(--blue);padding:30px;background:var(--surface);min-height:260px;display:flex;flex-direction:column;transition:.2s}.job-card:hover{background:#fff;box-shadow:0 16px 45px rgba(12,25,50,.09);transform:translateY(-3px)}.job-card>span{color:var(--blue);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.job-card h3{margin:18px 0 10px}.job-card p{font-size:14px}.job-card b{margin-top:auto;font-size:13px;color:var(--blue)}.cta-band{background:var(--blue);color:#fff;padding:60px 0}.cta-band-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.cta-band h2{margin:0;color:#fff;font-size:54px}.page-hero{position:relative;min-height:520px;display:flex;align-items:end;padding:100px 0;color:#fff;overflow:hidden}.image-hero{background-image:var(--hero-image);background-size:cover;background-position:center}.page-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,15,29,.88),rgba(9,15,29,.46) 60%,rgba(9,15,29,.22))}.page-hero .container{position:relative;z-index:2}.page-hero h1{max-width:950px;color:#fff;font-size:clamp(58px,7vw,100px)}.page-hero h1 strong{color:#fff}.page-hero p{max-width:720px;color:#e0e5ed;font-size:18px}.page-hero.compact{min-height:480px}.simple-hero{min-height:420px;background:linear-gradient(115deg,#111827,#1b2750 65%,var(--blue));padding:90px 0}.simple-hero h1{max-width:1000px}.image-text-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.image-text-grid.reverse>div:first-child{order:1}.image-text-grid.reverse>.image-panel{order:2}.image-panel{aspect-ratio:4/3;overflow:hidden;background:#ddd}.image-panel img{width:100%;height:100%;object-fit:cover}.proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.proof-grid article{background:#fff;padding:30px}.proof-grid strong{display:block;font-family:"Barlow Condensed";font-size:54px;line-height:1;color:var(--blue)}.proof-grid span{font-size:12px;text-transform:uppercase;font-weight:800;letter-spacing:.08em}.proof-grid p{font-size:13px;margin-top:18px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-card{background:#fff;border:1px solid #e0e4eb;overflow:hidden;transition:.25s}.service-card:hover{transform:translateY(-4px);box-shadow:0 16px 50px rgba(15,25,45,.1)}.service-card-image{aspect-ratio:16/10;overflow:hidden}.service-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.service-card:hover img{transform:scale(1.04)}.service-card-content{padding:25px}.service-card-content>span{font-size:11px;color:var(--blue);font-weight:800}.service-card h2{font-size:38px;margin:8px 0 12px}.service-card p{font-size:13px}.service-card b{font-size:13px;color:var(--blue)}.service-detail-grid{display:grid;grid-template-columns:1fr 390px;gap:100px;align-items:start}.service-detail-grid .lead{font-size:19px}.technical-card{background:#111827;color:#fff;padding:35px;position:sticky;top:125px}.technical-card>span{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#b8c2d3}.technical-card ul{padding:0;margin:24px 0 0;list-style:none}.technical-card li{padding:13px 0;border-top:1px solid rgba(255,255,255,.13)}.sector-stack{padding-top:70px}.sector-row{display:grid;grid-template-columns:1.05fr .95fr;min-height:470px;margin-bottom:40px;background:var(--surface);align-items:stretch}.sector-row.reverse{grid-template-columns:.95fr 1.05fr}.sector-row.reverse .sector-image{order:2}.sector-row.reverse .sector-copy{order:1}.sector-image{min-height:430px}.sector-image img{width:100%;height:100%;object-fit:cover}.sector-copy{padding:60px;display:flex;flex-direction:column;justify-content:center}.sector-copy .card-index{margin:0 0 24px}.sector-copy p{font-size:17px}.project-filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:35px}.project-filter button{border:1px solid var(--line);background:#fff;padding:10px 15px;font-size:12px;font-weight:750}.project-filter button.active,.project-filter button:hover{background:var(--blue);border-color:var(--blue);color:#fff}.project-list-card.is-hidden{display:none}.project-detail-hero{position:relative;height:690px;color:#fff;display:flex;align-items:end;overflow:hidden}.project-detail-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.project-detail-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,13,25,.9) 0%,rgba(8,13,25,.24) 72%),linear-gradient(90deg,rgba(8,13,25,.5),transparent 60%)}.project-detail-hero .container{position:relative;z-index:2;padding-bottom:60px}.back-link{display:inline-flex;margin-bottom:30px;font-size:13px;font-weight:700}.back-link.light{color:#fff}.project-detail-hero h1{color:#fff;max-width:1000px}.project-facts{display:flex;gap:0;margin-top:35px}.project-facts span{min-width:170px;padding:10px 28px 10px 0;margin-right:28px;border-right:1px solid rgba(255,255,255,.25);font-weight:700}.project-facts small{display:block;color:#adb6c5;text-transform:uppercase;letter-spacing:.09em;font-size:10px}.project-story{display:grid;grid-template-columns:.7fr 1.2fr;gap:100px}.lead-copy p{font-size:18px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:270px;gap:12px}.gallery-item{border:0;padding:0;overflow:hidden;background:#ddd}.gallery-item.wide{grid-column:span 2;grid-row:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.gallery-item:hover img{transform:scale(1.025)}.video-grid video{width:100%;max-height:720px;background:#000}.video-external{display:inline-flex;padding:20px 25px;border:1px solid var(--line);font-weight:750}.lightbox{position:fixed;inset:0;z-index:1500;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;padding:40px}.lightbox.open{display:flex}.lightbox img{max-width:94vw;max-height:90vh;object-fit:contain}.lightbox-close{position:absolute;right:25px;top:15px;border:0;background:transparent;color:#fff;font-size:48px}.vacancies-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}.vacancy-row{display:grid;grid-template-columns:1fr 190px;gap:30px;align-items:center;padding:35px 10px;border-bottom:1px solid var(--line);transition:.2s}.vacancy-row:hover{padding-left:22px;background:var(--surface)}.vacancy-row span{font-size:11px;color:var(--blue);font-weight:800;text-transform:uppercase;letter-spacing:.1em}.vacancy-row h2{font-size:44px;margin:8px 0}.vacancy-row p{margin:0;max-width:760px;font-size:14px}.vacancy-row>b{text-align:right;color:var(--blue)}.open-application{margin-top:35px;background:var(--blue);color:#fff;padding:35px}.open-application span,.open-application p,.open-application>b{color:#fff}.vacancy-hero{background:linear-gradient(115deg,#111827,#203470 70%,var(--blue));color:#fff;padding:100px 0}.vacancy-hero h1{color:#fff;max-width:950px}.vacancy-hero p{color:#dce2eb;max-width:760px;font-size:18px}.vacancy-detail{display:grid;grid-template-columns:1fr 360px;gap:90px;align-items:start}.vacancy-content section{margin-bottom:60px}.vacancy-content h2{font-size:48px}.vacancy-content p{font-size:17px}.content-list{padding:0;list-style:none}.content-list li{position:relative;padding:10px 0 10px 26px;border-bottom:1px solid #eceff3}.content-list li:before{content:"";position:absolute;left:0;top:20px;width:7px;height:7px;background:var(--blue)}.apply-card{position:sticky;top:125px;background:var(--surface);padding:32px;border-top:4px solid var(--blue)}.apply-card>span{font-size:11px;color:var(--blue);font-weight:800;text-transform:uppercase;letter-spacing:.1em}.apply-card h2{font-size:42px;margin:12px 0}.apply-card small{display:block;margin-top:20px;color:var(--muted)}.contact-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:80px;align-items:start}.contact-form-card h2,.contact-details h2{font-size:50px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form label{display:block;margin-bottom:18px;font-size:12px;font-weight:750;text-transform:uppercase;letter-spacing:.05em}.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:7px;border:1px solid #cdd3de;background:#fff;padding:14px 15px;outline:0;border-radius:0;text-transform:none;letter-spacing:0}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 2px rgba(41,65,148,.09)}.honeypot{position:absolute!important;left:-9999px!important}.alert{padding:14px 16px;margin-bottom:20px;font-size:14px}.alert.success{background:#e9f7ef;color:#17683e}.alert.error{background:#fff0f0;color:#9e2b2b}.contact-details{background:#111827;color:#fff;padding:42px}.contact-details h2{color:#fff}.contact-details p{color:#c3cad5}.contact-lines{display:flex;flex-direction:column;border-top:1px solid rgba(255,255,255,.14)}.contact-lines a{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.14);font-weight:700}.contact-lines small{display:block;color:#8f9aae;text-transform:uppercase;font-size:9px;letter-spacing:.1em}.company-data{display:flex;flex-direction:column;gap:7px;margin-top:30px;color:#aeb7c5;font-size:12px}.empty-state{grid-column:1/-1;padding:30px;background:var(--surface);border:1px dashed #bdc5d2}.error-page{padding:60px 0}.site-footer{background:#0f1521;color:#fff;padding:70px 0 22px}.footer-grid{display:grid;grid-template-columns:1.35fr .6fr .8fr .7fr;gap:60px}.footer-grid h2{font-family:Inter;font-size:12px;text-transform:uppercase;letter-spacing:.12em;margin:0 0 20px;color:#aeb8c8}.footer-grid a,.footer-grid p{display:block;color:#c5ccd6;font-size:13px;margin:0 0 9px}.footer-grid a:hover{color:#fff}.footer-brand p{max-width:380px;margin-top:20px}.footer-logo-card{display:inline-block;background:#fff;padding:8px 12px}.footer-logo-card img{width:280px}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:48px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;color:#778398;font-size:11px}.reveal{animation:reveal .75s both}.reveal.delay-1{animation-delay:.15s}@keyframes reveal{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(max-width:1180px){.main-nav{gap:15px}.main-nav>a:not(.nav-cta){font-size:13px}.brand img{width:220px}.discipline-grid{grid-template-columns:repeat(2,1fr)}.services-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:980px){:root{--header:78px}.container{width:min(calc(100% - 34px),var(--max))}.section{padding:80px 0}.brand img{width:205px}.menu-toggle{display:block}.main-nav{position:absolute;top:100%;left:0;right:0;background:#fff;border-top:1px solid var(--line);padding:18px 22px 28px;display:none;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 16px 25px rgba(0,0,0,.08)}.main-nav.open{display:flex}.main-nav>a:not(.nav-cta){padding:13px 0;border-bottom:1px solid #edf0f4}.main-nav>a:not(.nav-cta):after{display:none}.nav-cta{margin-top:14px;justify-content:center}.hero-home{height:760px;min-height:unset}.hero-content{height:calc(100% - 100px)}.hero-side-note{display:none}.hero-bottom-grid>div{min-height:100px;padding:16px}.split-heading,.editorial-grid,.inhouse-grid,.quality-grid,.image-text-grid,.service-detail-grid,.project-story,.vacancy-detail,.contact-grid{grid-template-columns:1fr;gap:45px}.intro-copy{padding-top:0}.inhouse-copy,.technical-card,.apply-card{position:static}.project-preview-grid,.projects-grid{grid-template-columns:1fr 1fr}.proof-grid{grid-template-columns:1fr 1fr}.sector-row,.sector-row.reverse{grid-template-columns:1fr}.sector-row.reverse .sector-image,.sector-row.reverse .sector-copy{order:initial}.sector-image{min-height:350px}.gallery-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1.3fr 1fr;gap:40px}}
@media(max-width:720px){body{font-size:15px}.container{width:min(calc(100% - 28px),var(--max))}.section{padding:66px 0}.brand img{width:190px}h1{font-size:58px}h2{font-size:45px}.hero-home{height:720px}.hero-content{height:calc(100% - 156px);align-items:flex-start;padding-top:90px}.hero-copy p{font-size:16px}.hero-bottom-grid{grid-template-columns:1fr 1fr}.hero-bottom-grid>div{min-height:76px;padding:10px 12px;border-top:1px solid rgba(255,255,255,.1)}.hero-bottom-grid>div:first-child{padding-left:12px}.hero-bottom-grid strong{font-size:24px}.hero-bottom-grid span{font-size:9px}.section-head{align-items:flex-start;flex-direction:column}.discipline-grid,.project-preview-grid,.projects-grid,.services-grid,.jobs-row,.proof-grid{grid-template-columns:1fr}.discipline-card{min-height:260px}.discipline-card .card-index{margin-bottom:30px}.cta-band-inner{align-items:flex-start;flex-direction:column}.page-hero{min-height:430px;padding:70px 0}.simple-hero{min-height:360px}.page-hero h1{font-size:58px}.sector-copy{padding:34px 25px}.project-detail-hero{height:610px}.project-facts{flex-wrap:wrap}.project-facts span{min-width:44%;margin-bottom:15px}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:250px}.gallery-item.wide{grid-column:auto;grid-row:auto}.vacancy-row{grid-template-columns:1fr;gap:15px}.vacancy-row>b{text-align:left}.form-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.footer-logo-card img{width:230px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* ================================================================
   GEERITS V5 — core business / production architecture
   ================================================================ */

/* navigation */
.nav-group{position:relative;height:100%;display:flex;align-items:center}
.nav-group>a{position:relative;display:flex;align-items:center;gap:5px;padding:34px 0 31px;font-size:14px;font-weight:700}
.nav-group>a:after{content:"";position:absolute;left:0;right:100%;bottom:19px;height:2px;background:var(--blue);transition:right .2s ease}
.nav-group:hover>a:after,.nav-group.active>a:after{right:0}
.nav-group.active>a{color:var(--blue)}
.nav-chevron{font-size:14px;line-height:1;transform:translateY(-1px);transition:transform .2s ease}
.nav-group:hover .nav-chevron{transform:translateY(-1px) rotate(180deg)}
.nav-dropdown{position:absolute;top:calc(100% - 8px);left:-28px;width:360px;padding:12px;background:#fff;border:1px solid #e6e9ef;box-shadow:0 22px 55px rgba(16,28,54,.16);opacity:0;visibility:hidden;transform:translateY(10px);transition:.22s ease;pointer-events:none}
.nav-group:hover .nav-dropdown,.nav-group:focus-within .nav-dropdown{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.nav-dropdown>a{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:13px 14px;border-bottom:1px solid #edf0f4;transition:.18s ease}
.nav-dropdown>a:last-child{border-bottom:0}
.nav-dropdown>a:hover{background:var(--surface);padding-left:18px}
.nav-dropdown small{color:var(--blue);font-weight:800;font-size:10px;letter-spacing:.08em;padding-top:2px}
.nav-dropdown span{display:flex;flex-direction:column;line-height:1.35}
.nav-dropdown strong{font-size:13px;color:var(--ink)}
.nav-dropdown em{font-style:normal;font-size:11px;color:var(--muted);font-weight:500;margin-top:2px}

/* scroll reveal */
[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .72s cubic-bezier(.2,.7,.25,1),transform .72s cubic-bezier(.2,.7,.25,1)}
[data-reveal].is-visible{opacity:1;transform:none}
[data-reveal]:nth-child(2){transition-delay:.06s}
[data-reveal]:nth-child(3){transition-delay:.12s}
[data-reveal]:nth-child(4){transition-delay:.18s}
.media-zoom{overflow:hidden}.media-zoom img{transform:scale(1.045);transition:transform 1.1s cubic-bezier(.2,.7,.25,1)}.media-zoom.is-visible img{transform:scale(1)}

/* V5 hero */
.hero-v5{height:calc(100svh - var(--header));min-height:690px;max-height:880px}
.hero-v5 .hero-media video,.hero-v5 .hero-media img{transform:scale(1.025);animation:heroBreath 15s ease-in-out infinite alternate}
@keyframes heroBreath{from{transform:scale(1.025)}to{transform:scale(1.075)}}
.hero-v5 .hero-overlay{background:linear-gradient(90deg,rgba(7,13,27,.92) 0%,rgba(7,13,27,.73) 43%,rgba(7,13,27,.2) 77%,rgba(7,13,27,.32) 100%),linear-gradient(0deg,rgba(7,13,27,.6),transparent 46%)}
.hero-line-overlay{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,transparent 0,transparent calc(50% - 1px),rgba(255,255,255,.08) 50%,transparent calc(50% + 1px));opacity:.75}
.hero-v5 .hero-content{height:100%;padding-bottom:40px}
.hero-v5 .hero-copy{max-width:930px}
.hero-v5 .hero-copy h1{font-size:clamp(62px,7vw,108px);max-width:970px}
.hero-v5 .hero-copy p{max-width:760px;font-size:19px}
.hero-certification{width:190px;padding:22px 0 22px 24px;border-left:2px solid rgba(255,255,255,.5);display:flex;flex-direction:column;align-self:center}
.hero-certification small{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#bac3d1}
.hero-certification strong{font-family:"Barlow Condensed";font-size:45px;line-height:1.05;margin:7px 0 2px}
.hero-certification span{font-size:16px;font-weight:700}
.hero-scroll-note{position:absolute;z-index:4;left:34px;bottom:25px;display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.68);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.hero-scroll-note span{display:block;width:42px;height:1px;background:rgba(255,255,255,.5);position:relative;overflow:hidden}
.hero-scroll-note span:after{content:"";position:absolute;inset:0;background:#fff;transform:translateX(-100%);animation:scanline 2.3s ease-in-out infinite}
@keyframes scanline{0%{transform:translateX(-100%)}50%,100%{transform:translateX(100%)}}

/* Core business cards */
.core-intro{padding-bottom:125px}.core-heading{margin-bottom:50px}
.core-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.core-card{position:relative;min-height:520px;overflow:hidden;background:#111827;color:#fff}
.core-card-image,.core-card-image img{position:absolute;inset:0;width:100%;height:100%}
.core-card-image img{object-fit:cover;filter:saturate(.78);transition:transform .7s cubic-bezier(.2,.7,.25,1),filter .4s ease}
.core-card-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,13,25,.94) 0%,rgba(8,13,25,.55) 53%,rgba(8,13,25,.15) 100%);transition:.35s ease}
.core-card:before{content:"";position:absolute;z-index:2;left:0;right:0;bottom:0;height:4px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.core-card:hover:before{transform:scaleX(1)}
.core-card:hover .core-card-image img{transform:scale(1.055);filter:saturate(.95)}
.core-card:hover .core-card-shade{background:linear-gradient(0deg,rgba(24,45,111,.96) 0%,rgba(17,27,58,.65) 58%,rgba(8,13,25,.17) 100%)}
.core-index{position:absolute;z-index:3;top:25px;left:25px;font-size:11px;font-weight:800;letter-spacing:.1em;color:rgba(255,255,255,.82)}
.core-card-copy{position:absolute;z-index:3;left:28px;right:28px;bottom:30px;transform:translateY(86px);transition:transform .38s cubic-bezier(.2,.7,.25,1)}
.core-card-copy small{display:block;color:#d8deea;text-transform:uppercase;letter-spacing:.09em;font-size:9px;font-weight:800;margin-bottom:9px}
.core-card-copy h3{font-size:38px;margin:0 0 14px;color:#fff}
.core-card-copy p{color:#e2e6ee;font-size:13px;line-height:1.6;opacity:0;transition:opacity .25s ease;margin-bottom:18px}
.core-card-copy b{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#fff;opacity:0;transition:opacity .25s ease}.core-card-copy b span{font-size:21px}
.core-card:hover .core-card-copy{transform:none}.core-card:hover .core-card-copy p,.core-card:hover .core-card-copy b{opacity:1}

/* About on home */
.home-about-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:85px;align-items:center}
.home-about-media{position:relative;min-height:590px;overflow:hidden}.home-about-media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.media-corner-label{position:absolute;right:0;bottom:0;background:#fff;padding:24px 31px;min-width:220px;border-left:4px solid var(--blue);display:flex;flex-direction:column}.media-corner-label strong{font-family:"Barlow Condensed";font-size:31px;line-height:1;color:var(--blue)}.media-corner-label span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-top:5px}
.home-about-copy .lead{font-size:19px}.fact-row{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:34px 0 28px}.fact-row>div{padding:21px 17px 20px 0;border-right:1px solid var(--line);display:flex;flex-direction:column}.fact-row>div+div{padding-left:18px}.fact-row>div:last-child{border-right:0}.fact-row strong{font-family:"Barlow Condensed";font-size:31px;color:var(--blue);line-height:1}.fact-row span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-top:7px}

/* Production home */
.production-home{background:#fff}.production-home-head{display:grid;grid-template-columns:1fr .7fr;gap:90px;align-items:end;margin-bottom:45px}.production-home-head>p{font-size:17px;margin:0 0 10px}
.production-home-stage{display:grid;grid-template-columns:1.4fr .6fr;min-height:650px;background:#101722;overflow:hidden}
.production-home-image{overflow:hidden}.production-home-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.78);transition:transform 1s ease}.production-home-stage.is-visible .production-home-image img{transform:scale(1.025)}
.production-home-panel{padding:46px 42px;color:#fff;display:flex;flex-direction:column}.production-caption{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#8e9aae;margin-bottom:18px}.production-home-panel ol{list-style:none;margin:0 0 34px;padding:0;border-top:1px solid rgba(255,255,255,.14)}.production-home-panel li{display:grid;grid-template-columns:42px 1fr;gap:10px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.14)}.production-home-panel li span{font-size:10px;color:#758298;font-weight:800}.production-home-panel li strong{font-family:"Barlow Condensed";font-size:22px;font-weight:600}.production-home-panel .btn{align-self:flex-start;margin-top:auto}

/* Projects V5 */
.section-head-action{display:flex;align-items:flex-end;gap:22px}.section-head-action p{max-width:350px;margin:0;font-size:14px}.project-preview-three{grid-template-columns:repeat(3,1fr)}
.project-card-v5{border:0;box-shadow:0 0 0 1px #e2e6ed}.project-card-v5 .project-card-media{aspect-ratio:4/3}.project-card-v5 .project-card-body{padding:25px 26px 29px}.project-card-v5 h3,.project-card-v5 h2{font-size:36px}.project-card-v5:hover{box-shadow:0 22px 55px rgba(17,29,55,.12)}
.projects-hero{background-image:var(--hero-image);background-size:cover;background-position:center 45%;min-height:520px}.projects-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:38px}.projects-toolbar h2{margin-bottom:0}.projects-toolbar .project-filter{margin:0;justify-content:flex-end}.projects-grid-v5{grid-template-columns:repeat(3,1fr)}

/* Quality home */
.quality-banner{position:relative;padding:95px 0;background:#0d1422;color:#fff;overflow:hidden}.quality-banner-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(41,65,148,.27),transparent 55%),repeating-linear-gradient(90deg,transparent 0,transparent 79px,rgba(255,255,255,.035) 80px)}
.quality-banner-grid{position:relative;z-index:2;display:grid;grid-template-columns:.7fr 1fr;gap:110px;align-items:center}.quality-banner-number{min-height:330px;border:1px solid rgba(255,255,255,.18);padding:42px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:rgba(255,255,255,.025)}.quality-banner-number small{font-size:24px;font-weight:800}.quality-banner-number strong{font-family:"Barlow Condensed";font-size:110px;line-height:.82}.quality-banner-number span{font-family:"Barlow Condensed";font-size:32px;font-weight:700;margin-top:10px}.quality-banner-copy h2{color:#fff}.quality-banner-copy p{color:#c4ccd9;font-size:18px;max-width:650px}.quality-banner-copy .btn{margin-top:14px}

/* Expertise */
.expertise-hero,.production-hero{background-image:var(--hero-image);background-size:cover;background-position:center;min-height:560px}.expertise-intro{padding-bottom:95px}.expertise-showcase{width:min(calc(100% - 48px),var(--max));margin:0 auto 110px}.expertise-band{display:grid;grid-template-columns:1.1fr .9fr;min-height:540px;border-top:1px solid var(--line);background:#fff}.expertise-band:last-child{border-bottom:1px solid var(--line)}.expertise-band:nth-child(even){grid-template-columns:.9fr 1.1fr}.expertise-band:nth-child(even) .expertise-band-media{order:2}.expertise-band:nth-child(even) .expertise-band-copy{order:1}.expertise-band-media{position:relative;overflow:hidden;background:#dfe3e9}.expertise-band-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .75s cubic-bezier(.2,.7,.25,1),filter .4s ease}.expertise-band-media:hover img{transform:scale(1.04);filter:saturate(.9)}.expertise-band-number{position:absolute;left:24px;bottom:22px;color:#fff;font-family:"Barlow Condensed";font-size:70px;line-height:1;text-shadow:0 2px 18px rgba(0,0,0,.25)}.expertise-band-copy{padding:62px 65px;display:flex;flex-direction:column;justify-content:center}.expertise-band-copy h2{font-size:57px}.expertise-band-copy p{font-size:17px}.compact-list{padding:0;margin:18px 0 28px;list-style:none;border-top:1px solid var(--line)}.compact-list li{position:relative;padding:10px 0 10px 20px;border-bottom:1px solid var(--line);font-size:13px;color:#4c5769}.compact-list li:before{content:"";position:absolute;left:0;top:18px;width:6px;height:6px;background:var(--blue)}
.production-teaser-grid{display:grid;grid-template-columns:1fr auto;gap:80px;align-items:center}.production-teaser-grid p{max-width:760px}.production-teaser-grid .btn{white-space:nowrap}
.expertise-detail-hero .container>p{max-width:780px;color:#e2e7ef;font-size:18px}.expertise-detail-grid{display:grid;grid-template-columns:.75fr 1fr;gap:100px;align-items:start}.expertise-points{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);margin:30px 0}.expertise-points span{padding:14px 15px 14px 0;border-bottom:1px solid var(--line);font-size:13px;font-weight:700}.expertise-points span:nth-child(even){padding-left:18px;border-left:1px solid var(--line)}

/* Production */
.production-flow{width:min(calc(100% - 48px),var(--max));margin:0 auto 120px;border-top:1px solid var(--line)}.production-step{display:grid;grid-template-columns:1.05fr .95fr;min-height:520px;border-bottom:1px solid var(--line)}.production-step.reverse{grid-template-columns:.95fr 1.05fr}.production-step.reverse .production-step-media{order:2}.production-step.reverse .production-step-copy{order:1}.production-step-media{position:relative;overflow:hidden}.production-step-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s ease}.production-step.is-visible .production-step-media img{transform:scale(1.025)}.production-step-media>span{position:absolute;right:0;bottom:0;background:#fff;color:var(--blue);font-family:"Barlow Condensed";font-size:54px;line-height:1;padding:20px 24px}.production-step-copy{padding:58px 65px;display:flex;flex-direction:column;justify-content:center}.production-step-copy h2{font-size:55px}.production-step-copy>p{font-size:17px}.quality-production{background:var(--surface)}.quality-production-grid{display:grid;grid-template-columns:.72fr 1fr;gap:110px;align-items:center}.quality-production-mark{min-height:340px;background:var(--blue);color:#fff;padding:42px;display:flex;flex-direction:column;justify-content:center}.quality-production-mark small{text-transform:uppercase;letter-spacing:.12em;font-size:10px;color:#dce3ff}.quality-production-mark strong{font-family:"Barlow Condensed";font-size:88px;line-height:.95;margin:10px 0}.quality-production-mark span{font-family:"Barlow Condensed";font-size:34px;font-weight:700}.production-links{display:grid;grid-template-columns:.9fr 1fr;gap:100px;align-items:start}.production-link-grid{border-top:1px solid rgba(255,255,255,.15)}.production-link-grid a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 0;border-bottom:1px solid rgba(255,255,255,.15);font-family:"Barlow Condensed";font-size:27px;font-weight:600;transition:.2s ease}.production-link-grid a span{font-family:Inter;font-size:18px}.production-link-grid a:hover{padding-left:12px;color:#fff;background:rgba(255,255,255,.025)}

/* About V5 */
.about-values-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.about-values-grid article{min-height:290px;padding:31px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.about-values-grid article>span{display:block;color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.1em;margin-bottom:43px}.about-values-grid h3{font-size:30px}.about-values-grid p{font-size:13px}.quality-about{background:#fff}.quality-about-grid{display:grid;grid-template-columns:.7fr 1fr;gap:90px}.proof-grid-v5{grid-template-columns:1fr 1fr}
.footer-quality{margin-top:20px;padding-top:14px;border-top:1px solid rgba(255,255,255,.12);display:flex;gap:10px;align-items:center}.footer-quality span{font-size:10px;letter-spacing:.08em;color:#9ca7b9}.footer-quality strong{font-family:"Barlow Condensed";font-size:22px}

@media(max-width:1180px){
 .main-nav{gap:15px}.nav-group>a{font-size:13px}.core-grid{grid-template-columns:repeat(2,1fr)}.core-card{min-height:450px}.core-card-copy{transform:none}.core-card-copy p,.core-card-copy b{opacity:1}
 .project-preview-three,.projects-grid-v5{grid-template-columns:repeat(2,1fr)}
 .expertise-band-copy,.production-step-copy{padding:48px}
}

@media(max-width:980px){
 .nav-group{height:auto;display:block;border-bottom:1px solid #edf0f4}.nav-group>a{padding:13px 0}.nav-group>a:after{display:none}.nav-chevron{margin-left:auto}.nav-dropdown{position:static;width:auto;padding:0 0 8px;border:0;box-shadow:none;opacity:1;visibility:visible;transform:none;pointer-events:auto;display:none}.nav-group.mobile-open .nav-dropdown{display:block}.nav-group:hover .nav-chevron{transform:none}.nav-group.mobile-open .nav-chevron{transform:rotate(180deg)}.nav-dropdown>a{padding:10px 12px}.nav-dropdown em{display:none}
 .hero-certification{display:none}.hero-scroll-note{display:none}
 .home-about-grid,.production-home-head,.production-home-stage,.quality-banner-grid,.expertise-detail-grid,.quality-production-grid,.production-links,.quality-about-grid{grid-template-columns:1fr;gap:48px}
 .home-about-media{min-height:480px}.production-home-stage{min-height:unset}.production-home-image{min-height:480px}.production-home-panel{min-height:560px}
 .expertise-band,.expertise-band:nth-child(even),.production-step,.production-step.reverse{grid-template-columns:1fr}.expertise-band:nth-child(even) .expertise-band-media,.expertise-band:nth-child(even) .expertise-band-copy,.production-step.reverse .production-step-media,.production-step.reverse .production-step-copy{order:initial}.expertise-band-media,.production-step-media{min-height:410px}
 .production-teaser-grid{grid-template-columns:1fr;gap:28px}.about-values-grid{grid-template-columns:1fr 1fr}
 .projects-toolbar{align-items:flex-start;flex-direction:column}.projects-toolbar .project-filter{justify-content:flex-start}
}

@media(max-width:720px){
 .hero-v5{height:690px;min-height:unset}.hero-v5 .hero-content{height:100%;padding-top:78px}.hero-v5 .hero-copy h1{font-size:57px}.hero-v5 .hero-copy p{font-size:16px}
 .core-grid{grid-template-columns:1fr;gap:10px}.core-card{min-height:430px}.core-card-copy{left:23px;right:23px;bottom:24px}.core-card-copy h3{font-size:35px}
 .home-about-media{min-height:390px}.fact-row{grid-template-columns:1fr}.fact-row>div,.fact-row>div+div{padding:15px 0;border-right:0;border-bottom:1px solid var(--line)}.fact-row>div:last-child{border-bottom:0}.fact-row span{margin-top:3px}
 .production-home-image{min-height:320px}.production-home-panel{padding:32px 25px;min-height:auto}.production-home-panel li strong{font-size:20px}
 .project-preview-three,.projects-grid-v5{grid-template-columns:1fr}.section-head-action{align-items:flex-start;flex-direction:column}.section-head-action p{max-width:none}
 .quality-banner{padding:70px 0}.quality-banner-number{min-height:260px}.quality-banner-number strong{font-size:90px}.quality-banner-grid{gap:38px}
 .expertise-showcase,.production-flow{width:min(calc(100% - 28px),var(--max));margin-bottom:70px}.expertise-band,.production-step{min-height:unset}.expertise-band-media,.production-step-media{min-height:300px}.expertise-band-copy,.production-step-copy{padding:35px 25px}.expertise-band-copy h2,.production-step-copy h2{font-size:45px}.expertise-band-number{font-size:53px}
 .expertise-points{grid-template-columns:1fr}.expertise-points span:nth-child(even){padding-left:0;border-left:0}.production-links{gap:30px}.production-link-grid a{font-size:24px}
 .about-values-grid,.proof-grid-v5{grid-template-columns:1fr}.about-values-grid article{min-height:230px}.about-values-grid article>span{margin-bottom:28px}
}

@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1!important;transform:none!important}.hero-v5 .hero-media video,.hero-v5 .hero-media img,.hero-scroll-note span:after{animation:none!important}}

/* =========================================================
   V6 — Diensten, productie-detailpagina's & footer credit
   ========================================================= */

/* Vacancy open application: keep contrast on hover */
.open-application:hover{background:var(--blue-dark);color:#fff;padding-left:47px;box-shadow:0 16px 38px rgba(29,47,112,.18)}
.open-application:hover span,.open-application:hover h2,.open-application:hover p,.open-application:hover>b{color:#fff}

/* Subtle Devenox credit */
.devenox-credit{display:inline-flex!important;align-items:center;justify-content:flex-end;gap:6px;margin:0!important;color:#7f8a9c!important;white-space:nowrap;transition:color .2s ease,opacity .2s ease}
.devenox-credit img{width:15px;height:15px;object-fit:contain;opacity:.62;transition:opacity .2s ease,transform .2s ease}
.devenox-credit strong{font-size:11px;font-weight:700;color:#a1aaba}
.devenox-credit:hover{color:#cfd5df!important}
.devenox-credit:hover img{opacity:.95;transform:translateY(-1px)}
.devenox-credit:hover strong{color:#fff}

/* Production overview */
.production-overview-hero{background-position:center 55%}
.production-overview-intro{padding-bottom:90px}
.production-feature-section{padding:86px 0}
.production-feature-card{display:grid;grid-template-columns:1.12fr .88fr;min-height:580px;background:#fff;border:1px solid #e0e5ed;box-shadow:0 20px 55px rgba(16,27,53,.06);overflow:hidden}
.production-feature-media{position:relative;overflow:hidden;min-height:580px;background:#dce1e8}
.production-feature-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.25,1),filter .35s ease}
.production-feature-card:hover .production-feature-media img{transform:scale(1.035);filter:saturate(.9)}
.production-feature-badge{position:absolute;left:28px;bottom:28px;padding:10px 14px;background:var(--blue);color:#fff;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.production-feature-copy{padding:65px 62px;display:flex;flex-direction:column;justify-content:center}
.production-feature-copy h2{font-size:64px}
.production-feature-copy .lead{font-size:19px;color:#263247}
.production-feature-copy .btn{align-self:flex-start;margin-top:10px}
.production-capabilities{padding-top:105px}
.production-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.production-capability-card{background:#fff;border:1px solid var(--line);overflow:hidden;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.production-capability-card:hover{transform:translateY(-6px);border-color:#c5ccda;box-shadow:0 22px 55px rgba(17,30,58,.1)}
.production-capability-media{position:relative;aspect-ratio:16/10;overflow:hidden;background:#dde2e8}
.production-capability-media img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.25,1)}
.production-capability-card:hover .production-capability-media img{transform:scale(1.045)}
.production-capability-media>span{position:absolute;left:0;bottom:0;min-width:55px;padding:11px 14px;background:#fff;color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.08em}
.production-capability-copy{padding:28px 28px 30px}
.production-capability-copy small{display:block;margin-bottom:10px;color:var(--blue);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.production-capability-copy h3{font-size:37px;margin-bottom:13px}
.production-capability-copy p{font-size:14px;min-height:72px}
.production-capability-copy b{display:flex;align-items:center;justify-content:space-between;margin-top:22px;padding-top:16px;border-top:1px solid var(--line);color:var(--blue);font-size:12px}
.production-capability-copy b span{font-size:18px;transition:transform .2s ease}
.production-capability-card:hover b span{transform:translateX(4px)}
.production-dark-head p{color:#b7bfcd}
.production-process-line{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.16);border-left:1px solid rgba(255,255,255,.16)}
.production-process-line a{min-height:125px;padding:23px;border-right:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16);display:flex;flex-direction:column;justify-content:space-between;transition:background .2s ease,padding .2s ease}
.production-process-line a:hover{background:rgba(255,255,255,.045);padding-left:29px}
.production-process-line span{font-size:10px;color:#7f8ba0;font-weight:800}
.production-process-line strong{font-family:"Barlow Condensed";font-size:24px;line-height:1.05;color:#fff}

/* Production detail */
.production-detail-hero{height:610px}
.production-detail-hero>img{animation:productionHeroIn 1.2s cubic-bezier(.2,.7,.25,1) both}
@keyframes productionHeroIn{from{transform:scale(1.035);opacity:.82}to{transform:scale(1);opacity:1}}
.production-detail-hero .container>p{max-width:760px;color:#e4e8ef;font-size:18px}
.production-detail-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:95px;align-items:center}
.production-detail-copy h2{font-size:64px}
.production-highlights{margin-top:30px}
.production-detail-intro-image{position:relative;min-height:520px;overflow:hidden;background:#dfe3e9}
.production-detail-intro-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.production-detail-intro-image.is-visible img{transform:scale(1.025)}
.production-detail-intro-image>span{position:absolute;right:0;bottom:0;background:#fff;color:var(--blue);font-family:"Barlow Condensed";font-size:62px;line-height:1;padding:20px 24px}
.machine-showcase-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:center}
.machine-showcase-media{min-height:520px;overflow:hidden;background:#dfe3e9}
.machine-showcase-media img{width:100%;height:100%;min-height:520px;object-fit:cover;transition:transform .8s ease}
.machine-showcase-media.is-visible img{transform:scale(1.02)}
.machine-showcase-copy h2{font-size:58px}
.production-gallery-section{overflow:hidden}
.production-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:300px;gap:12px}
.production-gallery-item{border:0;padding:0;background:#dde2e8;overflow:hidden;cursor:zoom-in}
.production-gallery-item.large{grid-column:span 2;grid-row:span 2}
.production-gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease,filter .35s ease}
.production-gallery-item:hover img{transform:scale(1.035);filter:saturate(.88)}
.production-next-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:90px;align-items:start}
.production-next-links{border-top:1px solid rgba(255,255,255,.14)}
.production-next-links a{display:grid;grid-template-columns:42px 1fr 24px;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.14);transition:padding .2s ease,background .2s ease}
.production-next-links a:hover{padding-left:10px;background:rgba(255,255,255,.025)}
.production-next-links span{font-size:10px;color:#718098;font-weight:800}
.production-next-links strong{font-family:"Barlow Condensed";font-size:25px;color:#fff}
.production-next-links b{color:#fff}

/* Homepage production V6 */
.production-home-v6{background:#fff}
.production-home-feature{display:grid;grid-template-columns:1.25fr .75fr;background:#111722;min-height:525px;overflow:hidden}
.production-home-feature-media{position:relative;overflow:hidden;min-height:525px}
.production-home-feature-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s ease,filter .3s ease}
.production-home-feature:hover .production-home-feature-media img{transform:scale(1.03);filter:saturate(.88)}
.production-home-feature-media>span{position:absolute;left:24px;bottom:24px;padding:9px 12px;background:var(--blue);color:#fff;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.production-home-feature-copy{padding:54px 44px;display:flex;flex-direction:column;justify-content:center;color:#fff}
.production-home-feature-copy .eyebrow{color:#d8e0ff}
.production-home-feature-copy h3{font-size:48px;color:#fff}
.production-home-feature-copy p{color:#bcc5d2}
.production-home-feature-copy .text-link{color:#fff}
.production-home-feature-copy .text-link span{color:#fff}
.production-home-links{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--line);margin-top:18px}
.production-home-links a{min-height:92px;padding:18px 20px;border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:30px 1fr 18px;gap:8px;align-items:center;transition:background .2s ease,color .2s ease,padding .2s ease}
.production-home-links a:hover{background:var(--surface);padding-left:25px}
.production-home-links span{font-size:9px;color:var(--blue);font-weight:800}
.production-home-links strong{font-family:"Barlow Condensed";font-size:23px;line-height:1.05}
.production-home-links b{color:var(--blue)}
.production-home-action{display:flex;justify-content:flex-end;margin-top:26px}

@media(max-width:1100px){
 .production-card-grid{grid-template-columns:repeat(2,1fr)}
 .production-process-line{grid-template-columns:repeat(2,1fr)}
 .production-feature-card,.production-detail-grid,.machine-showcase-grid,.production-next-grid{grid-template-columns:1fr;gap:45px}
 .production-feature-media{min-height:500px}
 .production-feature-copy{padding:48px}
 .production-detail-intro-image{min-height:440px}
 .machine-showcase-media,.machine-showcase-media img{min-height:440px}
 .production-home-feature{grid-template-columns:1fr}
 .production-home-feature-media{min-height:430px}
 .production-home-links{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:720px){
 .production-feature-section{padding:62px 0}
 .production-feature-card{min-height:0}
 .production-feature-media{min-height:330px}
 .production-feature-copy{padding:34px 25px}
 .production-feature-copy h2,.production-detail-copy h2{font-size:46px}
 .production-card-grid{grid-template-columns:1fr}
 .production-capability-copy p{min-height:0}
 .production-process-line{grid-template-columns:1fr}
 .production-process-line a{min-height:94px}
 .production-detail-hero{height:540px}
 .production-detail-intro-image{min-height:330px}
 .machine-showcase-media,.machine-showcase-media img{min-height:330px}
 .production-gallery-grid{grid-template-columns:1fr;grid-auto-rows:260px}
 .production-gallery-item.large{grid-column:auto;grid-row:auto}
 .production-home-feature-media{min-height:320px}
 .production-home-feature-copy{padding:34px 25px}
 .production-home-feature-copy h3{font-size:40px}
 .production-home-links{grid-template-columns:1fr}
 .production-home-action{justify-content:flex-start}
 .footer-bottom{align-items:flex-start}
 .devenox-credit{justify-content:flex-start}
 .open-application:hover{padding-left:35px}
}

/* ================================================================
   GEERITS V6.4 — service architecture
   ================================================================ */

/* Mega navigation: services are grouped by what the client buys. */
.nav-dropdown.nav-dropdown-services{
    left:-185px;
    width:720px;
    padding:18px 18px 12px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0 18px;
}
.nav-service-column{min-width:0}
.nav-service-column + .nav-service-column{border-left:1px solid #e8ebf0;padding-left:18px}
.nav-service-heading{display:block;padding:4px 12px 10px;color:var(--blue);font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.nav-service-column>a{display:grid;grid-template-columns:30px 1fr;gap:10px;padding:11px 12px;border-bottom:1px solid #edf0f4;transition:.18s ease}
.nav-service-column>a:hover{background:var(--surface);padding-left:16px}
.nav-service-column>a small{color:var(--blue);font-weight:800;font-size:9px;letter-spacing:.08em;padding-top:2px}
.nav-service-column>a span{display:flex;flex-direction:column;line-height:1.35}
.nav-service-column>a strong{font-size:12px;color:var(--ink)}
.nav-service-column>a em{font-style:normal;font-size:10px;color:var(--muted);font-weight:500;margin-top:2px}
.nav-services-all{grid-column:1/-1;display:flex!important;align-items:center!important;justify-content:space-between!important;margin-top:10px;padding:12px 14px!important;border:0!important;background:#111827;color:#fff;font-size:11px;font-weight:750;letter-spacing:.03em}
.nav-services-all:hover{background:var(--blue)!important;padding-left:14px!important}
.nav-services-all span{font-size:17px;line-height:1}

/* Homepage: two service families instead of six disconnected tiles. */
.home-services-v64{background:#fff;padding-bottom:125px}
.home-services-heading{align-items:flex-end}
.service-duo{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.service-pillar{display:grid;grid-template-columns:.86fr 1.14fr;min-height:520px;background:#f5f7fa;border:1px solid #e1e5ec;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}
.service-pillar:hover{transform:translateY(-4px);box-shadow:0 24px 60px rgba(20,31,57,.1)}
.service-pillar-media{position:relative;min-height:100%;overflow:hidden;background:#d8dde5}
.service-pillar-media:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,17,31,.46),transparent 48%)}
.service-pillar-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.82);transition:transform .8s cubic-bezier(.2,.7,.25,1),filter .4s ease}
.service-pillar:hover .service-pillar-media img{transform:scale(1.045);filter:saturate(.96)}
.service-pillar-media>span{position:absolute;z-index:2;left:22px;bottom:18px;color:#fff;font-family:"Barlow Condensed";font-size:58px;line-height:1;font-weight:600}
.service-pillar-body{padding:38px 36px 30px;display:flex;flex-direction:column}
.service-pillar-body>small{color:var(--blue);font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;margin-bottom:12px}
.service-pillar-body h3{font-size:43px;line-height:1.02;margin-bottom:16px}
.service-pillar-body>p{font-size:13px;line-height:1.65;margin-bottom:25px}
.service-pillar-links{margin-top:auto;border-top:1px solid #dce1e8}
.service-pillar-links a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 2px;border-bottom:1px solid #dce1e8;transition:.22s ease}
.service-pillar-links a strong{font-family:"Barlow Condensed";font-size:24px;font-weight:600}
.service-pillar-links a span{color:var(--blue);font-size:20px;transition:transform .2s ease}
.service-pillar-links a:hover{color:var(--blue);padding-left:8px}
.service-pillar-links a:hover span{transform:translateX(4px)}

/* Services overview: two chapters, each containing three related services. */
.services-architecture-intro{padding-bottom:90px}
.services-architecture{width:min(calc(100% - 48px),var(--max));margin:0 auto 115px;border-top:1px solid var(--line)}
.service-chapter{display:grid;grid-template-columns:.9fr 1.1fr;min-height:650px;border-bottom:1px solid var(--line);background:#fff}
.service-chapter.reverse{grid-template-columns:1.1fr .9fr}
.service-chapter.reverse .service-chapter-media{order:2}
.service-chapter.reverse .service-chapter-content{order:1}
.service-chapter-media{position:relative;overflow:hidden;background:#dfe3e9;min-height:650px}
.service-chapter-media:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,14,26,.55),transparent 48%)}
.service-chapter-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.82);transition:transform 1s cubic-bezier(.2,.7,.25,1)}
.service-chapter.is-visible .service-chapter-media img,.service-chapter-media.is-visible img{transform:scale(1.025)}
.service-chapter-badge{position:absolute;z-index:2;left:30px;right:30px;bottom:28px;display:flex;align-items:end;justify-content:space-between;color:#fff}
.service-chapter-badge small{font-family:"Barlow Condensed";font-size:72px;line-height:.8}
.service-chapter-badge span{max-width:180px;text-align:right;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.service-chapter-content{padding:65px 62px;display:flex;flex-direction:column;justify-content:center}
.service-chapter-content h2{font-size:58px;max-width:620px}
.service-chapter-intro{font-size:16px;max-width:680px;margin-bottom:30px}
.service-chapter-list{border-top:1px solid var(--line)}
.service-chapter-row{display:grid;grid-template-columns:46px 1fr 34px;gap:18px;align-items:center;padding:20px 4px;border-bottom:1px solid var(--line);transition:background .22s ease,padding .22s ease,color .22s ease}
.service-chapter-row:hover{background:#f4f6f9;padding-left:13px;padding-right:13px;color:var(--blue)}
.service-row-index{font-size:10px;font-weight:800;letter-spacing:.1em;color:var(--blue)}
.service-row-copy{display:flex;flex-direction:column}
.service-row-copy small{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:750;margin-bottom:2px}
.service-row-copy strong{font-family:"Barlow Condensed";font-size:31px;line-height:1.05;font-weight:600}
.service-row-arrow{font-size:23px;color:var(--blue);transition:transform .2s ease}
.service-chapter-row:hover .service-row-arrow{transform:translateX(4px)}

@media(max-width:1180px){
    .nav-dropdown.nav-dropdown-services{left:-235px;width:680px}
    .service-duo{grid-template-columns:1fr}
    .service-pillar{grid-template-columns:.72fr 1.28fr;min-height:430px}
    .service-chapter-content{padding:50px 46px}
}

@media(max-width:980px){
    .nav-dropdown.nav-dropdown-services{position:static;width:auto;display:none;grid-template-columns:1fr;padding:0 0 8px;box-shadow:none;border:0;transform:none;opacity:1;visibility:visible;pointer-events:auto}
    .nav-group.mobile-open .nav-dropdown.nav-dropdown-services{display:grid}
    .nav-service-column + .nav-service-column{border-left:0;padding-left:0}
    .nav-service-heading{padding:12px 12px 5px}
    .nav-services-all{margin:8px 0 0}
    .service-chapter,.service-chapter.reverse{grid-template-columns:1fr;min-height:unset}
    .service-chapter.reverse .service-chapter-media,.service-chapter.reverse .service-chapter-content{order:initial}
    .service-chapter-media{min-height:430px}
    .service-chapter-content{padding:50px 38px}
}

@media(max-width:720px){
    .home-services-v64{padding-bottom:75px}
    .service-pillar{grid-template-columns:1fr;min-height:unset}
    .service-pillar-media{min-height:285px}
    .service-pillar-body{padding:30px 24px 24px}
    .service-pillar-body h3{font-size:37px}
    .service-pillar-links a strong{font-size:22px}
    .services-architecture{width:min(calc(100% - 28px),var(--max));margin-bottom:75px}
    .service-chapter-media{min-height:320px}
    .service-chapter-content{padding:38px 24px}
    .service-chapter-content h2{font-size:45px}
    .service-chapter-row{grid-template-columns:38px 1fr 24px;gap:10px;padding:17px 0}
    .service-row-copy strong{font-size:26px}
    .service-chapter-badge{left:20px;right:20px;bottom:20px}
    .service-chapter-badge small{font-size:55px}
}

/* V6.5 — projects can belong to multiple services */
.project-filter-services{align-items:stretch}
.project-filter-services button{display:flex;align-items:center;gap:8px}
.project-filter-services button small{display:inline-flex;align-items:center;justify-content:center;min-width:23px;height:23px;padding:0 7px;border-radius:99px;background:rgba(41,65,148,.08);color:var(--blue);font-size:9px;font-weight:800;transition:.2s ease}
.project-filter-services button.active small,.project-filter-services button:hover small{background:rgba(255,255,255,.18);color:#fff}
.project-service-tags,.project-detail-services{display:flex;flex-wrap:wrap;gap:7px}
.project-service-tags{margin:11px 0 0}
.project-service-tags span,.project-detail-services a{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border:1px solid #dce2eb;background:#f7f9fc;color:#40506a;font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;transition:.2s ease}
.project-service-tags span:first-child,.project-detail-services a:first-child{border-color:rgba(41,65,148,.24);background:rgba(41,65,148,.07);color:var(--blue)}
.project-detail-services{margin-top:20px}
.project-detail-services a:hover{background:var(--blue);border-color:var(--blue);color:#fff;transform:translateY(-1px)}
.project-filter-empty{display:none;margin:32px 0 0;padding:38px;border:1px solid var(--line);background:#f7f8fb;text-align:center}
.project-filter-empty.is-visible{display:block}
.project-filter-empty strong{display:block;font-family:"Barlow Condensed";font-size:30px;margin-bottom:6px;color:var(--ink)}
.project-filter-empty p{margin:0;color:var(--muted)}
@media(max-width:720px){
  .project-filter-services button{justify-content:space-between}
  .project-filter-services button small{margin-left:auto}
  .project-filter-empty{padding:28px 20px}
}

/* V6.6 — video-first homepage hero with a polished multi-image fallback */
.hero-slideshow{position:absolute;inset:0;overflow:hidden;background:#101521}
.hero-slideshow .hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.035);animation:geeritsHeroCrossfade 21s linear infinite;will-change:opacity,transform}
.hero-slideshow .hero-slide-1{animation-delay:0s;object-position:center 46%}
.hero-slideshow .hero-slide-2{animation-delay:7s;object-position:center 48%}
.hero-slideshow .hero-slide-3{animation-delay:14s;object-position:center 46%}
@keyframes geeritsHeroCrossfade{
  0%{opacity:0;transform:scale(1.045)}
  5%{opacity:1}
  29%{opacity:1}
  34%{opacity:0;transform:scale(1.015)}
  100%{opacity:0;transform:scale(1.015)}
}
.hero-v5 .hero-slideshow img{filter:saturate(.86) contrast(1.02)}
/* Keep the service images strong and architectural, without fighting the copy. */
.home-services-v64 .service-pillar:first-child .service-pillar-media img{object-position:center 48%}
.home-services-v64 .service-pillar:last-child .service-pillar-media img{object-position:center 50%}
@media(prefers-reduced-motion:reduce){
  .hero-slideshow .hero-slide{animation:none!important;opacity:0;transform:none!important}
  .hero-slideshow .hero-slide-1{opacity:1}
}


/* V6.7 — reliable fallback hero and landscape-first service presentation */
/* The generic hero image animation above is intentionally overridden here.
   In V6.6 it won the cascade and kept the fallback slides at opacity:0. */
.hero-v5 .hero-media .hero-slideshow .hero-slide{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  transform:scale(1.035);
  animation:geeritsHeroCrossfadeV67 21s linear infinite;
  will-change:opacity,transform;
}
.hero-v5 .hero-media .hero-slideshow .hero-slide-1{animation-delay:0s;object-position:center 46%}
.hero-v5 .hero-media .hero-slideshow .hero-slide-2{animation-delay:7s;object-position:center 48%}
.hero-v5 .hero-media .hero-slideshow .hero-slide-3{animation-delay:14s;object-position:center 46%}
@keyframes geeritsHeroCrossfadeV67{
  0%{opacity:1;transform:scale(1.045)}
  27%{opacity:1}
  33.333%{opacity:0;transform:scale(1.015)}
  100%{opacity:0;transform:scale(1.015)}
}

/* Services: preserve landscape photography instead of forcing narrow portrait crops. */
.home-services-v67 .service-duo-v67{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  align-items:stretch;
}
.home-services-v67 .service-pillar{
  display:flex;
  flex-direction:column;
  min-height:0;
  background:#f5f7fa;
}
.home-services-v67 .service-pillar-media{
  min-height:0;
  aspect-ratio:16/8.6;
  width:100%;
}
.home-services-v67 .service-pillar-media img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.home-services-v67 .service-pillar-media>span{
  left:26px;
  bottom:22px;
  font-size:64px;
}
.home-services-v67 .service-pillar-body{
  flex:1;
  padding:34px 34px 30px;
}
.home-services-v67 .service-pillar-body>p{
  max-width:590px;
  font-size:14px;
}
.home-services-v67 .service-pillar-links{
  display:grid;
  grid-template-columns:1fr;
  width:100%;
}
.home-services-v67 .service-pillar-links a{
  min-height:58px;
}

@media(max-width:980px){
  .home-services-v67 .service-duo-v67{grid-template-columns:1fr}
  .home-services-v67 .service-pillar-media{aspect-ratio:16/7.5}
}
@media(max-width:720px){
  .home-services-v67 .service-pillar-media{aspect-ratio:16/10}
  .home-services-v67 .service-pillar-body{padding:28px 22px 24px}
  .home-services-v67 .service-pillar-media>span{left:20px;bottom:16px;font-size:52px}
}
@media(prefers-reduced-motion:reduce){
  .hero-v5 .hero-media .hero-slideshow .hero-slide{animation:none!important;opacity:0;transform:none!important}
  .hero-v5 .hero-media .hero-slideshow .hero-slide-1{opacity:1}
}
