/* Editorial visual system. The original G4iE SVG files are used without modification. */
:root{--navy:#123047;--orange:#f09115;--paper:#f7f7f2;--ink:#173448;--rule:#d8e0df}
body{background:var(--paper);color:var(--ink);font-family:Arial,"Segoe UI",sans-serif}
.container{width:min(1320px,calc(100% - 96px))}
.site-header{height:84px;position:relative;background:var(--navy);color:#fff;box-shadow:none}
.header-inner{gap:40px}.brand img{display:block;width:113px;height:auto}
.site-header nav{gap:39px}.site-header nav>a:not(.nav-cta){color:#d2dfe4}.site-header nav>a:not(.nav-cta):hover{color:#fff}
.nav-cta{border:1px solid #6a8798;background:transparent;padding:12px 17px}.nav-cta:hover{background:#24495f}.nav-cta span{color:var(--orange)}
.hero{background:var(--paper);color:var(--ink)}.hero-grid{display:none}
.hero-content{grid-template-columns:1.04fr .96fr;min-height:650px;padding-top:0;padding-bottom:0}
.hero-copy{padding:70px 68px 35px 0;display:flex;flex-direction:column;align-self:stretch}
.eyebrow{color:#b47117}.eyebrow-line{width:8px;height:8px;border-radius:50%}
h1{font-size:clamp(60px,6vw,96px);font-weight:800;letter-spacing:-.077em;line-height:1.04;margin:58px 0 30px;max-width:740px}
h1 em{color:#dc8413}.hero-lead{color:#536c78;font-size:19px;max-width:510px;line-height:1.66}
.hero-actions{gap:31px;margin-top:30px}.button-orange{background:var(--navy);color:#fff}.button-orange:hover{background:#24495f}
.hero .text-link.light{color:var(--navy)}.hero .text-link.light:hover{color:#b56c15}
.hero-visual{max-width:none;width:100%;height:650px;aspect-ratio:auto;justify-self:stretch;background:#14364a;overflow:hidden}
.hero-visual:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(9,34,48,.58),transparent 43%);pointer-events:none}
.hero-visual>img{display:block;width:100%;height:100%;object-fit:cover;object-position:55% center}
.photo-overlay{position:absolute;left:35px;right:35px;bottom:30px;z-index:2;display:flex;justify-content:space-between;align-items:end;gap:20px;color:#fff;font-size:10px;letter-spacing:.15em;font-weight:800}
.photo-overlay small{font-size:10px;letter-spacing:normal;font-weight:400;color:#d4e3e8;white-space:nowrap}
.system-svg{position:absolute;inset:0;width:100%;height:100%}
.visual-top,.visual-bottom{position:absolute;left:35px;right:35px;z-index:2;display:flex;justify-content:space-between;color:#b5cbd4;font-size:10px;font-weight:800;letter-spacing:.17em}
.visual-top{top:33px}.visual-bottom{bottom:30px}.visual-bottom span{color:var(--orange);font-size:24px;line-height:.5}
.visual-label{position:absolute;z-index:2;bottom:100px;top:auto;color:#fff;letter-spacing:normal;font-size:initial;display:flex;flex-direction:column;gap:8px}
.visual-label small{font-size:10px;color:#f2a33d;letter-spacing:.16em;font-weight:800}.visual-label strong{font-size:22px;line-height:1.12;letter-spacing:-.04em}
.label-a{left:35px}.label-c{right:35px;text-align:right}.hero-foot{color:#778b96;border-top:1px solid var(--rule)}.hero-foot b,.hero-foot a span{color:#c77a1b}
.section{padding:125px 0}.kicker{color:#b86b12}.intro{background:var(--paper)}.intro-layout{grid-template-columns:210px 1fr;gap:8%}.intro-layout h2{max-width:980px}.intro-layout>div:first-child{display:contents}.intro-layout .kicker{grid-column:1;grid-row:1;margin-top:8px}.intro-layout h2{grid-column:2;grid-row:1}.intro-copy{grid-column:2;padding:32px 0 0;border-top:1px solid var(--rule)}.intro-copy p{font-size:17px;color:#526b77}.intro h2 span{color:#768d97}
.expertise{background:#fff}.section-heading{align-items:end}.section-heading>p{max-width:280px}.service-grid{background:transparent;border:0;gap:1px}.service-card{border:1px solid #e0e7e5;background:#fff;min-height:330px;padding:34px}.service-card:hover{background:#f8faf8;transform:none}.service-card h3{font-size:24px}.service-card p{color:#667b84}.service-icon{margin:34px 0 23px}.focus-card{background:var(--navy);border-color:var(--navy)}.focus-card:hover{background:#24475b}.focus-card h3{font-size:29px}.approach{background:var(--navy);color:#fff}.approach .kicker{color:#ffb35a}.approach h2 em{color:#ffad47}.approach-left>p:not(.kicker){color:#b9cbd3}.button-outline{border-color:#829ba8;color:#fff}.button-outline:hover{background:#24495f}.step{border-color:#64808f}.step:last-child{border-color:#64808f}.step>span{color:#ffb35a}.step p{color:#bfd0d8}
.collaboration{background:#e9efed}.contact{background:#f1ede4;color:var(--ink)}.contact .kicker{color:#ae6b17}.contact h2{letter-spacing:-.065em}.contact-inner>div>p:not(.kicker){color:#5c737d}.contact .button-orange{background:var(--orange);color:var(--navy)}.contact .button-orange:hover{background:#f8a945}.contact-card{background:transparent;border:1px solid #b8c7c9}.contact-card>span{color:#ad6e1c}.contact-card a{border-color:#bdcbcb}.contact-card a:hover{color:#b66d13}.contact-card p{color:#607781}
.projects{background:#f3f5f1}.projects-heading{margin-bottom:46px}.projects-heading>p{max-width:350px}
.project-feature{display:grid;grid-template-columns:1.12fr .88fr;min-height:460px;background:var(--navy);color:#fff}
.project-image{position:relative;min-height:460px;overflow:hidden}.project-image img{display:block;width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.project-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,33,47,.4),transparent 35%)}.project-image span{position:absolute;z-index:1;left:28px;bottom:20px;color:#e5eeee;font-size:11px}
.project-copy{padding:56px clamp(34px,5vw,75px);display:flex;flex-direction:column;align-items:start}.project-kicker,.network-label,.project-foot span{color:#ffae4c;font-size:10px;font-weight:800;letter-spacing:.16em}.project-copy h3{font-size:clamp(31px,3vw,46px);letter-spacing:-.06em;line-height:1.1;margin:31px 0 20px}.project-copy p{font-size:16px;line-height:1.75;color:#c2d3db;margin:0 0 30px}.project-copy a{margin-top:auto;color:#fff;font-size:12px;font-weight:800;border-bottom:1px solid #f09115;padding-bottom:6px}.project-copy a span{color:#f09115;margin-left:14px}.project-copy a:hover{color:#ffbb67}
.project-foot{display:grid;grid-template-columns:1fr 1fr;gap:8%;border-top:1px solid #d5dfdd;padding-top:30px;margin-top:34px}.project-foot span{color:#ad6b1c}.project-foot p{font-size:14px;line-height:1.7;color:#617883;margin:10px 0 0}.project-foot>p{margin:0}
.network{background:#fff}.network-heading{margin-bottom:50px}.network-split{display:grid;grid-template-columns:.8fr 1.2fr;gap:8%;border-top:1px solid #d7e0df;padding-top:36px}.network-label{display:block;color:#af6e1c;margin:0 0 25px}.network-memberships>a{display:flex;justify-content:space-between;align-items:center;gap:18px;border-top:1px solid #d8e1df;padding:23px 0;font-size:19px;letter-spacing:-.035em}.network-memberships>a:last-child{border-bottom:1px solid #d8e1df}.network-memberships>a span{color:#c58025;font-weight:400}.network-memberships>a:hover,.reference-grid a:hover{color:#be7520}.reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #d8e1df}.reference-grid a{display:flex;justify-content:space-between;gap:8px;padding:18px 15px 18px 0;border-bottom:1px solid #d8e1df;font-size:14px;font-weight:700}.reference-grid a:nth-child(odd){margin-right:24px}.reference-grid a span{color:#b8741b;font-weight:400}.reference-note{font-size:12px;line-height:1.6;color:#758994;margin:20px 0 0}
footer{background:#092230}.footer-logo{width:164px;height:auto;display:block}.footer-inner{align-items:center}
@media(max-width:1100px){.container{width:min(100% - 64px,1320px)}.hero-copy{padding-right:35px}.hero-content{min-height:590px}.hero-visual{height:590px}.intro-layout{grid-template-columns:160px 1fr}}
@media(max-width:900px){.site-header nav{gap:18px}.project-feature{grid-template-columns:1fr 1fr}.project-copy{padding:38px}}
@media(max-width:700px){.container{width:calc(100% - 40px)}.site-header{height:72px}.brand img{width:98px}.menu-toggle span{background:var(--orange)}.site-header nav{background:var(--navy);top:72px;box-shadow:0 14px 25px #0b243340}.site-header nav a{padding:13px 8px}.hero-content{grid-template-columns:1fr;padding-top:0;padding-bottom:0}.hero-copy{padding:55px 0 45px}.hero-visual{width:100%;height:480px;max-width:none;margin:0;justify-self:stretch}.hero-foot{display:none}h1{font-size:clamp(53px,13vw,72px);margin:38px 0 25px}.hero-lead{font-size:17px}.intro-layout{display:block}.intro-layout>div:first-child{display:block}.intro-layout .kicker,.intro-layout h2,.intro-copy{display:block}.intro-copy{padding-top:25px;margin-top:35px}.section{padding:80px 0}.visual-label{bottom:76px}.service-grid{grid-template-columns:1fr}.service-card{min-height:280px}.approach{background:var(--navy)}.project-feature,.project-foot,.network-split{grid-template-columns:1fr}.project-image{min-height:340px}.project-copy{padding:35px}.project-foot{gap:25px}.network-references{margin-top:35px}.contact-card{padding:28px}}
@media(max-width:450px){.container{width:calc(100% - 36px)}h1{font-size:49px}.hero-actions{align-items:flex-start;gap:23px}.hero-visual{height:390px}.photo-overlay{left:20px;right:20px;bottom:18px;font-size:8px}.visual-top,.visual-bottom{left:20px;right:20px;font-size:8px}.visual-top{top:20px}.visual-bottom{bottom:20px}.visual-label strong{font-size:17px}.label-a{left:20px}.label-c{right:20px}.section{padding:68px 0}.project-image{min-height:255px}.project-copy{padding:30px 23px}.reference-grid{grid-template-columns:1fr}.reference-grid a:nth-child(odd){margin-right:0}.footer-logo{width:140px}}

/* 2026 editorial refresh: stronger hierarchy and a connected-systems story. */
html{scroll-padding-top:84px}
body{font-family:"DM Sans","Segoe UI",sans-serif}
h1,h2,h3,.brand{font-family:Manrope,"Segoe UI",sans-serif}
h1{letter-spacing:-.072em}
h2{letter-spacing:-.062em}
.site-header{border-bottom:1px solid rgba(255,255,255,.12)}
.site-header nav>a:not(.nav-cta){transition:color .2s}
.nav-cta,.button{border-radius:3px}
.button-orange{background:var(--orange);color:var(--navy)}
.button-orange:hover{background:#ffab3e}
.hero{background:#f4f4ef}
.hero-content{grid-template-columns:1fr 1fr;min-height:690px}
.hero-copy{padding:82px 52px 65px 0}
.hero h1{font-size:clamp(52px,5.2vw,76px);margin:54px 0 30px}
.hero h1 em{color:#d77b0d}
.hero-lead{font-size:19px;line-height:1.7;max-width:535px}
.hero-visual{height:690px}
.hero-visual>img{object-position:53% center}
.hero-foot{padding:24px 0;letter-spacing:.13em}
.section{padding:116px 0}
.intro{border-bottom:1px solid #e3e7e4}
.intro-layout{grid-template-columns:190px 1fr;gap:7%}
.intro h2{font-size:clamp(46px,4.6vw,70px)}
.intro-copy{max-width:900px}
.intro-copy p:first-child{font-size:20px;color:#28485b;font-weight:600;line-height:1.62}
.intro-copy p:nth-child(2){max-width:780px}
.expertise{background:#fbfcfa}
.section-heading h2{font-size:clamp(43px,4.3vw,64px)}
.section-heading>p{font-size:16px;max-width:340px}
.service-grid{gap:12px}
.service-card{border:1px solid #dfe7e5;min-height:340px;padding:38px;transition:border-color .2s,box-shadow .2s,transform .2s}
.service-card:hover{background:#fff;border-color:#e1a656;box-shadow:0 18px 40px rgba(18,48,71,.08);transform:translateY(-3px)}
.service-card.featured{background:#f3f7f5}
.service-card.featured:hover{background:#f6f9f7}
.service-card h3{font-size:23px;line-height:1.23}
.service-card p{font-size:14px;line-height:1.7}
.focus-card{background:var(--navy)}
.focus-card:hover{background:#22475c}
.tags span{border-radius:20px;padding:8px 11px}
.system-story{position:relative;min-height:580px;background:var(--navy);color:#fff;overflow:hidden;display:flex;align-items:end}
.system-story-image,.system-story-image:after{position:absolute;inset:0}
.system-story-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 48%}
.system-story-image:after{content:"";background:linear-gradient(90deg,rgba(7,30,44,.88) 0%,rgba(7,30,44,.71) 31%,rgba(7,30,44,.1) 78%),linear-gradient(0deg,rgba(7,30,44,.45),transparent 48%)}
.system-story-image>span{position:absolute;z-index:1;right:30px;bottom:23px;font-size:11px;color:#e5eeee}
.system-story-content{position:relative;z-index:1;padding-top:100px;padding-bottom:91px}
.system-story .kicker{color:#ffbd6c;margin-bottom:28px}
.system-story h2{font-size:clamp(48px,5vw,76px);line-height:1.07;max-width:700px;margin:0 0 25px}
.system-story-content>p:last-child{max-width:525px;font-size:18px;line-height:1.7;color:#e1e9e8;margin:0}
.approach{background:#123047}
.approach h2{max-width:630px}
.steps{padding-top:2px}
.step{padding:31px 0}
.step h3{font-size:22px}
.projects{background:#f5f6f2}
.project-feature{min-height:500px}
.project-image{min-height:500px}
.project-copy{padding-top:68px;padding-bottom:68px}
.project-copy h3{font-size:clamp(33px,3.3vw,49px)}
.application-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #cfd9d7;border-bottom:1px solid #cfd9d7;margin-top:47px}
.application-list>div{padding:32px 32px 34px 0}
.application-list>div+div{border-left:1px solid #cfd9d7;padding-left:32px}
.application-list span{font-size:11px;font-weight:800;letter-spacing:.15em;color:#a76716}
.application-list h3{font-size:20px;letter-spacing:-.04em;margin:24px 0 11px}
.application-list p{font-size:14px;line-height:1.7;color:#5c7480;margin:0}
.network-split{gap:9%}
.contact{background:#eceee8}
:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
@media(max-width:1100px){.hero-content{min-height:620px}.hero-visual{height:620px}.hero-copy{padding-right:38px}.hero h1{font-size:clamp(48px,5.4vw,64px)}}
@media(max-width:900px){.hero-content{grid-template-columns:1fr 1fr}.hero h1{font-size:clamp(42px,5.4vw,54px)}.hero-lead{font-size:17px}.site-header nav{gap:17px}.site-header nav>a:not(.nav-cta){font-size:12px}.application-list h3{font-size:18px}}
@media(max-width:700px){html{scroll-padding-top:72px}.hero-content{grid-template-columns:1fr;min-height:0}.hero-copy{padding:56px 0 48px}.hero h1{font-size:clamp(46px,10.5vw,66px);margin:36px 0 24px}.hero-visual{height:420px}.section{padding:82px 0}.intro-layout{display:block}.intro h2{font-size:clamp(43px,10vw,58px)}.service-card{min-height:275px}.system-story{min-height:550px}.system-story-image img{object-position:59% center}.system-story-image:after{background:linear-gradient(0deg,rgba(7,30,44,.88),rgba(7,30,44,.16) 90%)}.system-story-content{padding-top:200px;padding-bottom:55px}.system-story h2{font-size:clamp(44px,10vw,61px)}.system-story-content>p:last-child{font-size:16px}.project-feature{grid-template-columns:1fr}.project-image{min-height:350px}.project-copy{padding:42px}.application-list{grid-template-columns:1fr}.application-list>div,.application-list>div+div{border-left:0;border-top:1px solid #cfd9d7;padding:24px 0}.application-list>div:first-child{border-top:0}.application-list h3{margin:12px 0 8px}.network-split{grid-template-columns:1fr}}
@media(max-width:450px){.hero h1{font-size:clamp(38px,10.3vw,46px)}.hero-visual{height:340px}.hero-actions{gap:19px}.section{padding:68px 0}.system-story{min-height:510px}.system-story-content{padding-top:170px}.system-story h2{font-size:44px}.project-image{min-height:265px}.project-copy{padding:33px 24px}}

/* Readability and application-section refinement. */
h2 span,.intro h2 span{color:#4e6877}
.hero-lead,.intro-copy p,.section-heading>p{color:#405b6a}
.service-card p,.application-list p,.step p{font-size:16px;line-height:1.7}
.service-card p{color:#405969}
.application-list p{color:#425d6b}
.intro-copy p:nth-child(2){color:#435e6c}
.kicker,.eyebrow,.service-number{font-size:12px}
.project-kicker,.network-label,.application-list span{font-size:12px}
.hero-foot{font-size:11px}
.service-card .tags span{font-size:12px}
.step p{color:#d7e3e7}
.project-copy p{font-size:17px;color:#d7e3e9}
.project-copy a{font-size:14px}
.project-image img{object-position:50% center}

.technology-focus{display:grid;grid-template-columns:240px minmax(0,1fr);gap:36px;align-items:start;margin-top:42px;padding:36px 0 0}
.technology-focus .kicker{margin:0 0 13px}
.technology-focus h3{font-size:clamp(23px,2.3vw,30px);letter-spacing:-.04em;margin:0;max-width:270px}
.technology-tags{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.technology-tags li{border:1px solid #cbd8d4;background:#fff;color:#244759;font-size:14px;font-weight:700;line-height:1.4;padding:12px 16px}
@media(max-width:700px){.technology-focus{grid-template-columns:1fr;gap:22px;margin-top:28px;padding-top:28px}.technology-focus h3{max-width:none}.technology-tags li{font-size:13px;padding:10px 13px}}

/* Restrained motion: one-time section entry, precise hover feedback, scroll-led hero image. */
.motion-ready{opacity:.9;transform:translate3d(0,10px,0);transition:opacity .58s ease,transform .58s cubic-bezier(.2,.7,.2,1)}
.motion-ready.motion-in{opacity:1;transform:none}
.service-card{transition:transform .24s ease,border-color .24s ease,background-color .24s ease,box-shadow .24s ease}
.service-card:hover{background:#fdfefd;transform:translateY(-2px);box-shadow:0 10px 24px rgba(18,48,71,.06)}
.service-card.featured:hover{background:#f6f9f7}
.site-header nav a,.button,.text-link,.project-copy a,.network-memberships>a,.reference-grid a,.contact-card a{transition:color .22s ease,background-color .22s ease,border-color .22s ease,transform .22s ease,box-shadow .22s ease}
.hero-visual>img{transform:translate3d(0,var(--hero-shift,0px),0) scale(1.03);transform-origin:center;will-change:transform}
@media(max-width:700px){.hero-visual>img{transform:none;will-change:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion-ready,.motion-ready.motion-in{opacity:1;transform:none;transition:none}.service-card,.site-header nav a,.button,.text-link,.project-copy a,.network-memberships>a,.reference-grid a,.contact-card a{transition:none}.service-card:hover,.button:hover{transform:none}.hero-visual>img{transform:none;will-change:auto}}
.project-image:after{background:linear-gradient(0deg,rgba(9,32,46,.69),transparent 45%),linear-gradient(90deg,rgba(9,32,46,.2),transparent 62%)}
.project-image-detail{position:absolute;z-index:2;left:38px;bottom:58px;display:flex;flex-direction:column;align-items:start;gap:8px;color:#fff}
.project-image .project-image-detail span{position:static;font-size:12px;letter-spacing:.12em;font-weight:800;color:#fff}
.project-image .project-image-detail .detail-rule{display:block;width:65px;height:3px;background:var(--orange);margin-bottom:13px}
.project-image .image-disclaimer{left:auto;right:26px;bottom:21px;z-index:2;font-size:12px}
.network-label{color:#915615}
.network-memberships>a{padding:19px 0 23px}
.network-name{display:flex;flex-direction:column;gap:4px}
.network-name small{font-size:11px;letter-spacing:.15em;color:#995e1a;font-weight:800}
.network-name strong{font-size:20px;line-height:1.3;color:#18394d}
.network-memberships>a:hover .network-name strong{color:#9a5911}
.reference-grid a{font-size:15px;line-height:1.45}
.reference-note{font-size:14px;color:#4e6673}
.contact-inner>div>p:not(.kicker){color:#425d6b}
.contact-card p{color:#506a77}
.footer-right{font-size:13px}
@media(max-width:700px){.project-image-detail{left:27px;bottom:43px}.project-image .project-image-detail span{font-size:11px}.project-image .image-disclaimer{font-size:11px}.network-name strong{font-size:18px}}
@media(max-width:450px){.project-image-detail{left:21px;bottom:39px;gap:5px}.project-image .project-image-detail .detail-rule{margin-bottom:6px}.project-image .project-image-detail span{font-size:10px;letter-spacing:.07em}.project-image .image-disclaimer{right:17px;bottom:14px;font-size:10px}}

/* Authentic, locally served network and reference marks. */
.network-memberships>a{min-height:105px}
.membership-logo{display:block;width:auto;height:auto;max-width:min(100%,239px);max-height:48px;object-fit:contain;object-position:left center}
.logo-mission-green-fuels{height:52px;max-height:52px}
.reference-grid a{min-height:94px;align-items:center;padding-top:13px;padding-bottom:13px}
.reference-logo-image{display:block;width:auto;height:auto;max-width:165px;max-height:48px;object-fit:contain;object-position:left center}
.logo-aalborg-csp{max-width:170px}
.logo-brinckmann{max-height:58px}
.logo-shell,.logo-aau{max-height:48px;max-width:55px}
.logo-on-dark{display:flex;align-items:center;justify-content:center;width:102px;height:61px;background:#123047;border-radius:2px}
.logo-on-dark .logo-blue-power{max-width:77px;max-height:46px}
@media(max-width:700px){.network-memberships>a{min-height:100px}.reference-grid a{min-height:88px}}

/* One LinkedIn profile link with the recognizable brand icon. */
.contact-card .linkedin-link{display:flex;align-items:center;justify-content:flex-start;gap:13px;margin-top:25px;padding:20px 0 0;border-top:1px solid #bdcbcb;border-bottom:0;font-size:18px;font-weight:700}
.linkedin-icon{display:block;flex:none;width:25px;height:25px;color:#0a66c2}
.contact-card .linkedin-link span:not(.linkedin-arrow){font-size:18px}
.contact-card .linkedin-link .linkedin-arrow{margin-left:auto;color:#a76716;font-size:16px}
