/* PMIC: precise engineering, expansive photography, original four-colour identity. */
:root{--brand-blue:#0e80bd;--brand-sun:#ffb21b;--brand-leaf:#7eae46;--brand-wind:#a2a5a8}
em{font-family:inherit;font-style:normal;font-weight:500}.display,.page-hero h1,.statement h2,.cta-block h2{font-weight:500;letter-spacing:-.055em}
.brand-rule{display:grid;grid-template-columns:repeat(4,1fr);height:4px;width:120px;margin:0 0 30px}.brand-rule i:nth-child(1){background:var(--brand-blue)}.brand-rule i:nth-child(2){background:var(--brand-sun)}.brand-rule i:nth-child(3){background:var(--brand-leaf)}.brand-rule i:nth-child(4){background:var(--brand-wind)}
.home-hero .hero-photograph{object-position:60% center}.home-hero .hero-shade{background:linear-gradient(90deg,#061d2ef2 0%,#061d2ec9 28%,#061d2e33 64%,#061d2e0a 100%),linear-gradient(0deg,#061d2ec9,transparent 35%)}
.home-hero h1{font-weight:500;max-width:830px}.home-hero .hero-lead{max-width:575px}.home-hero .hero-content{z-index:4}
.wind-traces{position:absolute;z-index:1;right:0;top:8%;width:58%;height:75%;opacity:.22;pointer-events:none;overflow:visible}.wind-traces path{stroke:#d0e8ef;stroke-width:.8;fill:none;stroke-dasharray:120 800;animation:wind-flow 18s linear infinite}.wind-traces path:nth-child(2){animation-delay:-6s}.wind-traces path:nth-child(3){animation-delay:-12s}@keyframes wind-flow{to{stroke-dashoffset:-920}}
.page-hero{margin-top:88px;min-height:550px;padding:115px 0 65px}.page-hero .hero-image{left:39%;filter:none;background-position:center}.page-hero:after{background:linear-gradient(90deg,#071824 0%,#071824f5 29%,#07182488 53%,#07182410 80%)}.page-hero .grid-overlay{display:none}.page-hero h1{font-size:clamp(3.5rem,5.7vw,6.3rem);max-width:900px;line-height:1.09}.page-hero h1 em{color:#b7d8e8}.page-hero .hero-content{max-width:880px}.page-hero p{max-width:540px}.breadcrumb{top:33px;font-size:.75rem;letter-spacing:.08em}.page-hero .kicker{font-size:.75rem}.page-hero .hero-content>p.kicker{font-size:.75rem}
.section{padding-top:96px;padding-bottom:96px}.section-label{font-size:.75rem}.body-copy{font-size:1rem}.kicker{font-size:.75rem}.page-hero p,.story-copy>p:not(.kicker){font-size:1rem}
.visual-frame{position:relative;margin:0;overflow:hidden;background:#dce5e9}.visual-frame img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.6,.3,1)}.visual-frame:hover img{transform:scale(1.025)}.visual-frame figcaption{position:absolute;left:25px;right:25px;bottom:22px;color:#fff;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}.visual-frame.has-caption:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#071824c9);pointer-events:none}.visual-frame figcaption{z-index:2}.visual-frame .image-index{position:absolute;z-index:2;top:22px;left:25px;color:#fff;font-size:.75rem}
.service-intro-photo{height:340px;margin:0 0 48px}.service-detail-photo{height:330px;margin:45px 0 0}.editorial-nav{top:110px}.editorial-nav a{font-size:.8rem}.editorial-content p{line-height:1.85}.editorial-content h2{font-weight:500}.capability-matrix{gap:16px;background:none;border:0}.capability{border:1px solid var(--line);position:relative;padding:30px}.capability h3{font-weight:600}.capability:before{content:'';display:block;width:30px;height:3px;background:var(--brand-blue);margin-bottom:24px}.capability:nth-child(2):before{background:var(--brand-sun)}.capability:nth-child(3):before{background:var(--brand-leaf)}.capability:nth-child(4):before{background:var(--brand-wind)}
.sector-directory{padding-top:35px;padding-bottom:35px;border-bottom:1px solid var(--line);display:flex;gap:24px;flex-wrap:wrap}.sector-directory a{font-size:.77rem;color:var(--slate);padding:5px 0;border-bottom:1px solid transparent}.sector-directory a:hover{border-color:var(--brand-blue);color:var(--brand-blue)}
.sector-feature{display:grid;grid-template-columns:1.05fr 1fr;gap:7vw;align-items:center;padding-top:90px;padding-bottom:90px;scroll-margin-top:75px}.sector-feature+.sector-feature{border-top:1px solid var(--line)}.sector-feature:nth-child(even) .sector-visual{order:2}.sector-feature:nth-child(even) .sector-description{order:1}.sector-visual{height:520px}.sector-description .section-label{margin-bottom:26px}.sector-description h2{font-size:clamp(2.35rem,3.8vw,4.1rem);font-weight:500;margin-bottom:30px}.sector-description p{color:var(--slate);line-height:1.85;font-size:1rem}.sector-feature.environment .sector-visual{height:380px}.sector-feature.transport .sector-visual{height:340px}
.brand-landscape{position:relative;isolation:isolate;background:linear-gradient(130deg,#f4f8fa,#e5edf1);overflow:hidden}.brand-landscape .shell{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:590px;align-items:center;gap:9vw}.brand-landscape .brand-copy{padding:70px 0;z-index:2}.brand-landscape .display{font-size:clamp(3rem,4.7vw,5rem);margin-bottom:28px}.brand-landscape .body-copy{max-width:570px}.brand-landscape:after{content:'';position:absolute;inset:auto -15% -70% 10%;height:100%;border:1px solid #0e80bd20;border-radius:50%;transform:rotate(-15deg);z-index:-1}.turbine-field{position:relative;width:100%;height:590px;align-self:end}.turbine-assembly{position:absolute;width:320px;height:530px;bottom:0;left:20%;}.turbine-tower{position:absolute;width:100%;height:100%;object-fit:contain;inset:0}.turbine-rotor{position:absolute;width:100%;height:auto;left:0;top:0;transform-origin:50% 50%;animation:rotor-turn 27s linear infinite;animation-play-state:paused}.brand-landscape.in-view .turbine-rotor{animation-play-state:running}.turbine-assembly.secondary{transform:scale(.56);transform-origin:center bottom;left:-19%;bottom:28px;opacity:.68}.secondary .turbine-rotor{animation-duration:34s;animation-delay:-12s}@keyframes rotor-turn{to{transform:rotate(360deg)}}
.turbine-caption{position:absolute;right:0;bottom:25px;color:#526b78;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.brand-landscape .btn{border-color:#91a9b5}
.service-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:20px}.service-preview figure{height:220px}.home-project-preview{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;margin-top:50px}.home-project-preview figure{height:350px}.home-project-preview figure:last-child{height:270px;margin-top:80px}
.project-grid{gap:32px}.project-card{min-height:440px}.project-card:nth-child(3n){grid-column:auto}.project-card:last-child{grid-column:span 2;min-height:380px}.project-card img{filter:none}.project-card .card-copy{padding:30px}.project-card h2{font-size:2rem;font-weight:500}.project-card .num{background:#ffffff20;padding:7px 10px;color:#fff}.project-card p{line-height:1.6}.image-statement .image{min-height:550px}.statement h2{font-size:clamp(2.8rem,3.7vw,4.5rem)}
.client-card img{filter:none;mix-blend-mode:normal}.client-card{transition:box-shadow .3s,transform .3s}.client-card:hover{box-shadow:0 10px 35px #0718240a;transform:translateY(-3px)}.client-card h3{font-size:.88rem}.client-group-head{border-bottom-width:1px}.client-group-head h2{font-weight:500}.client-group-head span{font-size:.8rem}
.abstract-hero .hero-image{display:none}.abstract-hero:before{content:'';position:absolute;right:-200px;top:-200px;width:800px;height:800px;border:1px solid #ffffff20;border-radius:50%;box-shadow:0 0 0 90px #ffffff04,0 0 0 180px #ffffff03,0 0 0 270px #ffffff02}.abstract-hero:after{background:linear-gradient(90deg,#071824,transparent)}.abstract-hero .hero-content{max-width:1000px}.abstract-hero .brand-rule{margin-top:45px;margin-bottom:0}
.office-card{border-top:0;position:relative;overflow:hidden;background:#f2f6f7;padding:50px;min-height:330px}.office-card:before{content:'';display:block;width:55px;height:3px;background:var(--brand-blue);margin-bottom:28px}.office-card:last-child:before{background:var(--brand-sun)}.office-card h2{font-weight:500}.office-card a{max-width:100%;overflow-wrap:anywhere}.contact-actions a{padding:25px}.cta-block{background:#e3eef1;padding:80px 0}.cta-block h2{font-size:clamp(2.5rem,4.5vw,4.5rem)}
.main-nav{gap:20px}.main-nav a{font-size:.75rem;letter-spacing:.025em}.footer-about,.footer-col a{font-size:.9rem}.hero-rail span{font-size:.75rem}.scroll-cue{font-size:.75rem;letter-spacing:.1em}.story-topline,.motion-toggle{font-size:.75rem;letter-spacing:.06em}.story-controls button,.story-controls>a{font-size:.85rem}.story-controls button>span:first-child{font-size:.75rem}.client-strip span{font-size:.85rem}
@media(max-width:1150px){.main-nav{gap:14px}.main-nav a{font-size:.65rem}.logo img{width:165px}.sector-feature{gap:40px}.sector-visual{height:440px}.brand-landscape .shell{gap:25px}.turbine-assembly{left:8%}.turbine-assembly.secondary{left:-33%}.story-controls{gap:22px}}
@media(max-width:920px){.page-hero{margin-top:76px}.main-nav a,.compact .main-nav a{font-size:.9rem}.page-hero .hero-image{left:25%}.page-hero:after{background:linear-gradient(90deg,#071824ed,#07182495 60%,#07182440)}.brand-landscape .shell{grid-template-columns:1fr 1fr}.turbine-assembly{width:270px;height:470px}.turbine-field{height:500px}.brand-landscape .display{font-size:3rem}.service-preview figure{height:180px}.home-project-preview figure{height:280px}.home-project-preview figure:last-child{height:230px;margin-top:50px}}
@media(max-width:700px){.sector-feature{grid-template-columns:1fr;padding-top:60px;padding-bottom:60px;gap:30px}.sector-feature:nth-child(even) .sector-visual{order:0}.sector-feature:nth-child(even) .sector-description{order:0}.sector-visual{height:330px}.sector-feature.environment .sector-visual{height:300px}.sector-feature.transport .sector-visual{height:230px}.sector-description h2{font-size:2.5rem}.sector-directory{gap:12px 20px}.brand-landscape .shell{grid-template-columns:1fr;gap:0}.brand-landscape .brand-copy{padding-bottom:0}.turbine-field{height:380px;max-width:450px;margin:auto}.turbine-assembly{width:250px;height:405px;left:32%}.turbine-assembly.secondary{left:0;bottom:10px}.turbine-caption{right:auto;left:0;bottom:20px}.service-preview{grid-template-columns:1fr 1fr}.service-preview figure:last-child{display:none}.home-project-preview{grid-template-columns:1fr}.home-project-preview figure{height:290px}.home-project-preview figure:last-child{height:260px;margin-top:0}.project-card:last-child{grid-column:auto}.capability-matrix{grid-template-columns:1fr}.service-intro-photo,.service-detail-photo{height:250px}.story-topline,.motion-toggle{font-size:.66rem}.story-tools{gap:12px}.story-controls button{font-size:.73rem}.story-controls>a{font-size:.73rem;padding-left:0}.story-controls button>span:first-child{margin-right:8px}.cinematic .story-controls{gap:17px}}
@media(max-width:520px){.page-hero{min-height:520px;padding:120px 0 65px}.page-hero h1{font-size:3.3rem}.page-hero .hero-image{left:0}.page-hero:after{background:linear-gradient(90deg,#071824e8,#0718248c)}.page-hero p{font-size:1rem}.home-hero .hero-shade{background:linear-gradient(90deg,#061d2edf,#061d2e66),linear-gradient(0deg,#061d2ebf,transparent 60%)}.home-hero .hero-lead{font-size:1rem}.hero-photograph{object-position:66% center}.service-preview figure{height:155px}.brand-landscape .display{font-size:2.8rem}.turbine-caption{max-width:120px}.office-card{padding:30px}.project-card{min-height:440px}.project-card .card-copy{padding:25px}.project-card h2{font-size:1.8rem}.story-topline{gap:15px}.story-copy>p:not(.kicker){font-size:1rem}}
@media(prefers-reduced-motion:reduce){.wind-traces path,.turbine-rotor{animation:none!important}.visual-frame img{transition:none}.visual-frame:hover img{transform:none}}
.turbine-assembly{--rotor-size:340px;--tower-height:400px;width:var(--rotor-size);height:var(--tower-height);bottom:25px;left:23%}.turbine-rotor{width:var(--rotor-size);top:calc(var(--tower-height)*.117 - var(--rotor-size)*.588);transform-origin:50% 58.8%}.turbine-assembly.secondary{left:-20%;bottom:18px}.brand-landscape .turbine-field{height:590px}
.page-hero .hero-image{mask-image:linear-gradient(90deg,transparent,#000 24%)}.sector-feature{scroll-margin-top:0}.brand-landscape .kicker{color:#17658c}.sector-directory a{font-size:.85rem}
@media(max-width:520px){.page-hero .hero-image{mask-image:none}}
@media(max-width:1150px){.turbine-assembly{left:12%;--rotor-size:300px;--tower-height:370px}.turbine-assembly.secondary{left:-30%}}
@media(max-width:920px){.turbine-assembly{left:7%;--rotor-size:270px;--tower-height:330px}.turbine-assembly.secondary{left:-33%}.brand-landscape .turbine-field{height:520px}}
@media(max-width:700px){.turbine-assembly{left:28%;--rotor-size:250px;--tower-height:300px;bottom:0}.turbine-assembly.secondary{left:-3%;bottom:10px}.brand-landscape .turbine-field{height:440px}}
@media(max-width:520px){.turbine-assembly{left:20%;--rotor-size:230px;--tower-height:290px}.turbine-assembly.secondary{left:-4%}}
@media(max-width:350px){.turbine-assembly{left:17%;--rotor-size:205px;--tower-height:270px}}

/* Integrated service visuals and restrained, subject-related motion. */
.footer-logo{background:transparent;padding:0}.footer-logo img{filter:none}
#wind-energy{scroll-margin-top:0}.wind-motion-toggle{position:absolute;right:var(--pad);top:24px;color:#355969;border-color:#7894a3;z-index:5}
.homepage .service-cards{align-items:stretch;gap:25px}.homepage .service-card{padding:0;overflow:hidden;min-height:0;display:flex;flex-direction:column;transition:background .4s,transform .4s,box-shadow .4s,opacity .8s;transition-delay:0s}.homepage .service-card.reveal{transition-delay:var(--entrance-delay,0ms)}
.service-media{display:block;position:relative;height:225px;overflow:hidden;background:#0c2b3e;flex-shrink:0}.service-media>img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.035);transition:transform 1.4s cubic-bezier(.2,.65,.3,1)}.service-card:hover .service-media>img,.service-card:focus-visible .service-media>img{transform:scale(1.09)}
.service-card-copy{display:flex;flex-direction:column;flex:1;padding:28px 30px 32px}.homepage .service-card h3{margin:26px 0 18px;font-size:1.55rem}.service-card p{margin-bottom:28px}.service-card .card-link{padding-top:12px}.service-card .num{font-size:.75rem}
.service-media:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#061d2e35,transparent 60%);pointer-events:none}.media-sheen{position:absolute;inset:-20% -80%;background:linear-gradient(115deg,transparent 40%,#ffffff20 49%,transparent 58%);transform:translateX(-45%);animation:light-pass 12s ease-in-out infinite;animation-play-state:paused;pointer-events:none}.motion-visible .media-sheen{animation-play-state:running}.service-card:nth-child(2) .media-sheen{animation-delay:-4s}.service-card:nth-child(3) .media-sheen{animation-delay:-8s}
.signal-paths{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.75}.signal-track{fill:none;stroke:#def5ff50;stroke-width:1}.signal-current{fill:none;stroke:#d1f3ff;stroke-width:1.7;stroke-dasharray:32 550;stroke-dashoffset:582;animation:current-flow 7s linear infinite;animation-play-state:paused}.secondary-current{animation-delay:-3.5s;stroke:#ffd382}.motion-visible .signal-current{animation-play-state:running}.service-card[data-service-motion=digital] .service-media>img{object-position:center 65%}.service-card[data-service-motion=voltage] .service-media>img{object-position:85% center}
.sector-visual.motion-visible img{animation:photo-drift 17s ease-in-out infinite alternate}.project-card.motion-visible>img{animation:photo-drift 20s ease-in-out infinite alternate}.project-card:hover>img{animation-play-state:paused}.sector-visual:hover img{animation-play-state:paused}
#story-renewables .story-shade:after{content:'';position:absolute;inset:20% -65% -20%;background:linear-gradient(112deg,transparent 45%,#ffecc11a 50%,transparent 55%);animation:solar-glint 15s ease-in-out infinite;animation-play-state:paused;pointer-events:none}.motion-visible#story-renewables.is-active .story-shade:after{animation-play-state:running}
.brand-landscape:before{content:'';position:absolute;width:48%;height:1px;bottom:19%;left:-50%;background:linear-gradient(90deg,transparent,#0e80bd55,transparent);transform:rotate(-10deg);animation:wind-thread 13s linear infinite;animation-play-state:paused;pointer-events:none}.brand-landscape.in-view:before{animation-play-state:running}
.abstract-hero.motion-visible:before{animation:field-breathe 16s ease-in-out infinite alternate}.brand-landscape .brand-rule i{transform-origin:left;animation:brand-arrive 1s cubic-bezier(.2,.7,.3,1) both;animation-play-state:paused}.brand-landscape.in-view .brand-rule i{animation-play-state:running}.brand-rule i:nth-child(2){animation-delay:.12s}.brand-rule i:nth-child(3){animation-delay:.24s}.brand-rule i:nth-child(4){animation-delay:.36s}
@keyframes light-pass{0%,20%{transform:translateX(-45%)}65%,100%{transform:translateX(45%)}}
@keyframes current-flow{to{stroke-dashoffset:0}}
@keyframes photo-drift{from{transform:scale(1.01) translate3d(0,0,0)}to{transform:scale(1.065) translate3d(-.5%,-.4%,0)}}
@keyframes solar-glint{0%,20%{transform:translateX(-30%);opacity:0}45%{opacity:1}80%,100%{transform:translateX(30%);opacity:0}}
@keyframes wind-thread{to{left:115%}}
@keyframes field-breathe{to{transform:scale(1.12) translate3d(-25px,15px,0)}}
@keyframes brand-arrive{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.document-inactive *,.document-inactive *:before,.document-inactive *:after{animation-play-state:paused!important}
.quiet-motion .service-media>img{transform:none}.quiet-motion .service-card.reveal{transition-delay:0s}
.service-card:hover .num,.service-card:focus-visible .num{color:var(--cyan)}
.service-card[data-service-motion=digital] .service-media>img{object-position:50% 50%}.service-card[data-service-motion=control] .service-media>img{object-position:38% 50%}.service-card[data-service-motion=voltage] .service-media>img{object-position:50% 50%}
.service-card:nth-child(4) .media-sheen{animation-delay:-3s}.service-card:nth-child(5) .media-sheen{animation-delay:-7s}.service-card:nth-child(6) .media-sheen{animation-delay:-10s}
@media(max-width:1050px) and (min-width:701px){.homepage .service-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.homepage .service-cards{grid-template-columns:1fr}.service-media{height:245px}.service-card-copy{padding:27px}.wind-motion-toggle{right:20px;top:20px}}
@media(prefers-reduced-motion:reduce){.service-media>img{transform:none}.service-card.reveal{transition-delay:0s}.sector-visual img,.project-card>img,.media-sheen,.signal-current,.brand-landscape:before,.abstract-hero:before{animation:none!important}}
/* Final responsive and accessibility audit corrections. */
.skip-link{position:fixed;top:12px;left:20px;z-index:100;background:var(--navy);color:#fff;padding:12px 20px;transform:translateY(-150%);font-weight:700}
.skip-link:focus{transform:none}
#main-content{scroll-margin-top:12px}
#main-content:focus{outline:none}
.footer-motion-toggle{align-self:center;min-height:44px;padding:10px 0;font-size:.78rem;color:#d7e4e9}
.footer-bottom{align-items:center;gap:18px;flex-wrap:wrap}
.motion-toggle{min-height:32px}
.service-card:focus-visible{background:var(--navy);color:#fff}
.service-card:focus-visible p{color:#b9c6cb}
.service-card:focus-visible .card-link{color:var(--cyan)}
.sector-line{grid-template-columns:45px minmax(0,1.1fr) minmax(0,1fr) 30px}
.sector-line>*{min-width:0}
.focus-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;border:0}
.focus-card{padding:0;min-height:0;border:1px solid var(--line);overflow:hidden}
.focus-card-copy{padding:30px}
.focus-card h3{margin:28px 0 18px}
.focus-card:hover{transform:none;background:#fff;color:var(--navy)}
.focus-card:hover p{color:#60727a}
.focus-card .service-media{height:215px}
.client-group-head{gap:16px}
.client-group-head span{flex-shrink:0}
@media(max-width:820px){
  .sector-line{grid-template-columns:28px minmax(0,1fr) 22px;gap:18px}
  .sector-line h3{overflow-wrap:break-word}
  .focus-grid{grid-template-columns:1fr}
  .focus-card .service-media{height:280px}
  .image-statement .statement{padding:55px var(--pad)}
}
@media(max-width:520px){
  .page-hero h1{font-size:clamp(2.65rem,12vw,3.3rem)}
  .client-group-head{align-items:flex-start;flex-direction:column;gap:10px}
  .focus-card .service-media{height:230px}
  .image-statement .statement{padding:50px 20px}
  .footer-motion-toggle{margin:12px 0}
}
