@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');:root{--navy:#071b2d;--navy2:#102c42;--green:#34bb80;--ink:#183044;--muted:#617383;--line:#dce6ea;--bg:#f3f7f8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.7}h1,h2,h3{font-family:Manrope,Arial,sans-serif;line-height:1.17;letter-spacing:-.035em}h1{font-size:clamp(2.6rem,5.4vw,5.2rem);max-width:900px;margin:18px 0}h2{font-size:clamp(2rem,3vw,3rem);margin:0 0 22px}h3{font-size:1.32rem;margin:12px 0}p{margin:0 0 18px}a{color:inherit;text-decoration:none}.wrap{max-width:1190px;margin:auto;padding:0 30px}.top{background:var(--navy);color:white;position:sticky;top:0;z-index:10;border-bottom:1px solid #ffffff1e}.nav{min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:25px}.logo{font-family:Manrope;font-weight:800;font-size:23px;letter-spacing:-1px;white-space:nowrap}.logo em{color:var(--green);font-style:normal}.links{display:flex;flex-wrap:wrap;gap:19px;align-items:center}.links a{font-size:12px;font-weight:700;color:#cbd8df}.links a:hover,.links a.active{color:var(--green)}.hero{color:#fff;background:linear-gradient(110deg,#061a2df2,#092538e8 58%,#123b4cba),url('assets/photo_7_3.png') center/cover;padding:110px 0 115px}.hero p{max-width:700px;color:#d1dfe5;font-size:19px}.eyebrow{color:var(--green);font-size:12px;font-weight:800;letter-spacing:.19em;text-transform:uppercase}.button{display:inline-block;background:var(--green);color:#06283a;padding:13px 22px;border-radius:5px;font-weight:800;margin:12px 12px 0 0}.button.secondary{background:transparent;color:#fff;border:1px solid #94b6c5}.section{padding:85px 0}.light{background:var(--bg)}.intro{max-width:780px;color:var(--muted);font-size:18px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px;margin-top:35px}.card{background:white;border:1px solid var(--line);border-radius:9px;overflow:hidden;box-shadow:0 9px 24px #07233708}.card img{width:100%;height:205px;object-fit:cover;background:#e6eeee}.card .pad{padding:26px}.card p{color:var(--muted);font-size:15px}.tag{color:#188c68;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:800}.split{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:center}.split img{width:100%;max-height:440px;object-fit:cover;border-radius:8px}.statline{display:flex;gap:20px;flex-wrap:wrap;padding-top:15px}.stat{padding-right:24px;border-right:1px solid #d0dddd}.stat strong{display:block;font-size:23px;color:#087b60}.stat small{font-size:12px;color:var(--muted)}.dark{background:var(--navy);color:#fff}.dark .intro,.dark p{color:#c5d3dc}.dark .card{color:var(--ink)}.pagehero{background:linear-gradient(115deg,#061b2e,#154053);color:white;padding:90px 0}.pagehero h1{font-size:clamp(2.5rem,4vw,4rem)}.pagehero p{color:#cbdce3;max-width:760px;font-size:18px}.detail{background:white;border-left:4px solid var(--green);padding:24px 30px;margin:24px 0;box-shadow:0 5px 25px #001a2c0a}.detail p{margin:0}.footer{background:#061724;color:#bbccd5;padding:55px 0}.footer .footgrid{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}.footer a{color:white}.fine{font-size:12px;color:#8fa6b3;margin-top:25px}.notice{font-size:13px;color:#657987}.callout{background:#e5f4ee;padding:34px;border-radius:8px;margin-top:35px}.pill{display:inline-block;border:1px solid #d6e4e4;border-radius:30px;padding:7px 13px;margin:5px;font-size:13px}.list li{margin-bottom:10px}a.textlink{font-weight:800;color:#007b64}img{max-width:100%}@media(max-width:900px){.nav{align-items:flex-start;padding-top:18px;padding-bottom:18px;flex-direction:column}.links{gap:12px}.grid{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}}@media(max-width:600px){.wrap{padding:0 20px}.hero{padding:75px 0}.grid{grid-template-columns:1fr}.section{padding:60px 0}.links a{font-size:11px}.card img{height:220px}}
/* Official corporate identity */
.logo img{display:block;width:160px;height:auto;background:#fff;border-radius:3px;padding:5px 8px}.footer-logo img{width:180px}.nav{min-height:90px}@media(max-width:600px){.logo img{width:145px}}

/* 2026 content expansion */
.expanded{background:#f3f7fa}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:28px}.detail-card{background:white;border:1px solid #dbe5ec;border-radius:12px;padding:26px;box-shadow:0 8px 24px rgba(10,34,58,.045)}.detail-card h3{color:#12385b;margin-top:0;font-size:1.16rem}.detail-card p{line-height:1.75;color:#3c5060}.expanded .eyebrow{color:#19835e}@media(max-width:700px){.detail-grid{grid-template-columns:1fr}.detail-card{padding:20px}}

/* Project portfolio photography and editorial gallery */
.project-visual-lead{padding:68px 0 75px;background:#f4f8f9}.project-visual-lead h2{margin-bottom:12px}.project-visual-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-top:28px}.project-visual-grid figure{margin:0;background:#fff;border:1px solid #e1e9ec;border-radius:9px;overflow:hidden;box-shadow:0 9px 24px #071e2d0a}.project-visual-grid img{width:100%;height:175px;object-fit:contain;background:#edf2f4;display:block}.project-visual-grid figcaption{padding:12px 15px;font-weight:700;font-size:13px;line-height:1.4}.project-gallery{margin-top:24px;display:flex;justify-content:flex-end}.project-gallery figure{margin:0;width:min(42%,390px)}.project-gallery img{width:100%;max-height:245px;object-fit:contain;border-radius:8px;background:#edf3f5}.section .split>img{object-fit:contain;background:#edf2f4;max-height:410px}@media(max-width:850px){.project-visual-grid{grid-template-columns:repeat(2,1fr)}.project-gallery figure{width:75%}}@media(max-width:480px){.project-visual-grid{grid-template-columns:1fr}.project-gallery figure{width:100%}}

/* Global project image gallery */
.ngv-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:30px}.ngv-photo-card{background:white;border:1px solid #dce5e8;border-radius:12px;overflow:hidden;box-shadow:0 4px 20px rgba(15,47,67,.06)}.ngv-photo-card figure{margin:0;height:210px;overflow:hidden;background:#e9eff1}.ngv-photo-card img{width:100%;height:100%;object-fit:cover;display:block}.ngv-photo-body{padding:20px}.ngv-photo-category{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#168e80;font-weight:700}.ngv-photo-body h3{font-size:20px;margin:9px 0}.ngv-photo-body p{margin:0;color:#4d6170;line-height:1.6}@media(max-width:900px){.ngv-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.ngv-photo-grid{grid-template-columns:1fr}.ngv-photo-card figure{height:230px}}

/* About page: four-column experience showcase */
@media(min-width:1100px){.about-experience-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.about-experience-grid .detail-card{min-width:0}
.collaboration-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;margin-bottom:16px}

/* Company heritage timeline */
.history-section{background:linear-gradient(180deg,#f5f9fa 0%,#fff 100%)}.history-heading{max-width:920px;margin-bottom:45px}.history-heading h2{max-width:850px;margin-top:14px}.history-timeline{position:relative;max-width:1020px;margin:0 auto}.history-timeline:before{content:"";position:absolute;left:134px;top:25px;bottom:28px;width:2px;background:#c8e4dc}.history-event{display:grid;grid-template-columns:135px minmax(0,1fr);gap:38px;position:relative;margin-bottom:18px;align-items:start}.history-event:before{content:"";position:absolute;left:127px;top:27px;width:16px;height:16px;border-radius:50%;background:#34bb80;border:4px solid #fff;box-shadow:0 0 0 1px #b6d9cf;z-index:1}.history-date{font-family:Manrope,Arial,sans-serif;font-weight:800;color:#087657;font-size:17px;text-align:right;padding-top:21px;white-space:nowrap}.history-content{background:#fff;border:1px solid #dce6ea;border-radius:12px;padding:22px 28px;box-shadow:0 9px 28px #071b2d0b}.history-content h3{margin:0 0 10px;font-size:21px;color:#102c42}.history-content p{margin:0;color:#536a79;font-size:15px;line-height:1.7}.history-current .history-content{background:#102c42;border-color:#102c42}.history-current .history-content h3{color:#fff}.history-current .history-content p{color:#d8e7ed}.history-note{max-width:850px;font-size:12px;color:#6b7d87;margin:35px auto 0}@media(max-width:650px){.history-timeline:before{left:9px}.history-event{display:block;padding-left:33px;margin-bottom:22px}.history-event:before{left:1px;top:6px}.history-date{text-align:left;padding:0 0 10px;font-size:16px}.history-content{padding:19px}.history-content h3{font-size:19px}}

/* Final review: clean photo frames, prevent empty gray letterbox panels. */
.project-visual-grid img,.section .split>img,.project-gallery img{background:#fff;object-fit:contain}
.project-visual-grid figure,.project-gallery figure{background:#fff}
.future-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:32px}
.future-gallery figure{margin:0;border:1px solid #dce6ea;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 8px 24px #071b2d0b}
.future-gallery img{display:block;width:100%;height:215px;object-fit:contain;background:#fff;padding:12px}
.future-gallery figcaption{font-size:14px;font-weight:700;padding:12px 18px 18px;color:#17394b}
@media(max-width:850px){.future-gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.future-gallery{grid-template-columns:1fr}}

/* Renewable fuel system illustration */
.circular-system-figure{margin:26px 0 0;background:#fff;border:1px solid #e3e9ec;border-radius:14px;overflow:hidden;padding:16px}.circular-system-figure img{display:block;width:100%;height:auto;object-fit:contain}.circular-system-figure figcaption{font-size:.88rem;line-height:1.5;color:#52616a;margin:12px 6px 4px}

/* Test bench: keep full photo visible at every screen width */
.section .split>img[src$="ngv-engine-test-bench.webp"]{width:100%;height:auto;object-fit:contain;background:#fff;border-radius:12px}

/* v17: full-width validation and homologation showcase */
.ngv-validation-feature{max-width:1160px;margin-inline:auto}.ngv-validation-heading{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-bottom:22px}.ngv-validation-heading>div{max-width:800px}.ngv-validation-heading .intro{max-width:800px}.ngv-section-kicker{font-size:.77rem;font-weight:800;letter-spacing:.14em;color:#17866c;margin:0 0 8px}.ngv-validation-logo{width:145px;height:auto;object-fit:contain;flex-shrink:0}.ngv-validation-photo{margin:0;background:white;border:1px solid #e0e8e9;border-radius:14px;overflow:hidden;box-shadow:0 12px 30px rgba(15,44,55,.09)}.ngv-validation-photo>img{display:block;width:100%;height:auto;object-fit:contain}.ngv-validation-photo figcaption{padding:0 24px 22px;font-size:.9rem;color:#47616a;line-height:1.5}@media(max-width:700px){.ngv-validation-heading{display:block}.ngv-validation-logo{display:block;width:110px;margin:12px 0 16px}.ngv-validation-photo figcaption{padding:0 12px 16px;font-size:.8rem}}

/* v18: keep heritage timeline spine and markers clear of year labels */
@media (min-width:651px){
.history-timeline:before{left:170px}
.history-event{grid-template-columns:145px minmax(0,1fr);column-gap:52px}
.history-event:before{left:162px}
.history-date{position:relative;z-index:2;padding-right:0;overflow:visible}
}
@media (max-width:650px){
.history-timeline:before{left:9px}
.history-event:before{left:1px}
.history-date{position:relative;z-index:2;padding-left:0;white-space:normal}
}

/* V20: remove empty-looking gray photo panels and keep photos clean */
.project-gallery:empty,.project-visual-grid figure:empty,.ngv-photo-card figure:empty{display:none!important}.project-visual-grid img,.project-gallery img,.section .split>img,.ngv-photo-card figure,.card img{background:#fff!important}.project-gallery figure{background:transparent!important}

/* Commercial Vehicles: two-photo integration showcase */
.integration-showcase > div:first-child{max-width:860px}
.integration-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:26px}
.integration-photo{margin:0;background:#fff;border:1px solid #e1e8eb;border-radius:12px;overflow:hidden}
.integration-photo img{width:100%;height:320px;display:block;object-fit:cover}
.integration-photo figcaption{padding:13px 16px;color:#42566a;font-size:.9rem;line-height:1.5}
@media(max-width:720px){.integration-photo-grid{grid-template-columns:1fr;gap:16px}.integration-photo img{height:auto;aspect-ratio:16/10;object-fit:cover}}

/* DDF photographic project collage */
.ddf-collage{display:block;width:100%;height:auto;object-fit:contain;border-radius:12px;box-shadow:0 8px 28px rgba(12,32,45,.12);background:white}
