/* Consistent brand, clear navigation and dedicated standards pages. */
.company-logo.brand-emblem{width:64px;height:64px;min-width:64px;display:block;background:transparent;overflow:visible;border-radius:0}.brand:hover .brand-emblem{transform:none}.brand-clean-rotor{transform-origin:0 0;animation:brand-clean-spin 10s linear infinite}@keyframes brand-clean-spin{to{transform:rotate(360deg)}}.brand>span{font-size:21px;letter-spacing:1.8px;line-height:1.1;color:#11395a}.brand>span>small{font-size:8px;letter-spacing:2px;line-height:1.5;margin-top:6px;color:#507347}header #nav{gap:18px}.folder-links a{align-items:center}.folder-links .service-icon{width:28px;height:28px;min-width:28px;flex-shrink:0}.service-icon{overflow:visible;flex-shrink:0;aspect-ratio:1}.tile-top .service-icon{width:48px;height:48px}.footer-links{position:static!important;display:flex!important;flex-direction:row!important;flex-wrap:wrap;align-items:center!important;background:none!important;border:0!important;padding:20px 0 0!important;gap:18px!important}.standards-hero{padding:65px 7%;display:grid;grid-template-columns:1.1fr 1fr;gap:55px;align-items:center;background:#143841;color:#f5f7ee}.standards-hero h1{font-size:clamp(36px,4vw,60px);line-height:1.12;letter-spacing:-2px;font-weight:500;margin:24px 0}.standards-hero h1 em{font-style:normal;color:#cfe4a5}.standards-hero p{color:#cad7ce;line-height:1.85;font-size:15px;max-width:550px}.standards-hero .button{margin-top:22px}.standards-hero figure{margin:0}.standards-hero img{width:100%;height:340px;object-fit:cover;border-radius:8px}.standards-hero figcaption{font-size:10px;color:#b7cbbd;margin-top:12px}.standards-points{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:0 0 55px}.standards-points>article,.standards-points>a{background:#eaf0e3;border:1px solid #d0dcc5;border-radius:6px;padding:28px}.standards-points span{font-size:10px;letter-spacing:1.5px;color:#648054}.standards-points h2,.standards-points h3{font-size:22px;letter-spacing:-.5px;font-weight:500;margin:20px 0 15px}.standards-points p{font-size:14px;line-height:1.8;color:#5b705d}.standards-copy{max-width:850px;margin:auto}.standards-copy h2{font-size:34px;letter-spacing:-1px;font-weight:500;margin:20px 0 30px}.standards-copy h3{font-size:22px;font-weight:500;margin:34px 0 15px}.standards-copy p{font-size:15px;line-height:1.95;color:#506755}.standards-related{position:static!important;display:flex!important;background:none!important;flex-direction:row!important;flex-wrap:wrap;padding:30px 0!important;gap:25px!important;max-width:850px;margin:30px auto 0;border-top:1px solid #ced9c5}.standards-related a{font-size:14px;color:#426d49}.brand-logo{max-width:none}.marquee .client-logo{min-width:160px}.photo-tile img{object-fit:cover;object-position:center}.page-heading p,.sector-copy p{max-width:720px}.standards-body{background:#f7f8f1}a,button,summary{-webkit-tap-highlight-color:#bbd5a344}
@media(max-width:1100px){header{height:88px;padding:0 5%}header #nav{display:none;position:absolute;top:88px;left:0;right:0;padding:22px 6%;background:#f7f9f0;flex-direction:column;align-items:stretch;gap:8px;border-bottom:1px solid #ccdac2;max-height:calc(100dvh - 88px);overflow-y:auto}header #nav.open{display:flex}header .menu{display:block}header .nav-folder{width:100%}header .folder-links{position:static;min-width:0;box-shadow:none;margin:6px 0;max-height:none;overflow:visible}header .nav-folder summary{padding:12px 0}header #nav>a{padding:12px 0}.standards-hero{gap:30px}.standards-hero img{height:300px}}
@media(max-width:700px){.company-logo.brand-emblem{width:52px;height:52px;min-width:52px}.brand>span{font-size:18px}.brand>span>small{font-size:7px;letter-spacing:1.6px}.standards-hero{grid-template-columns:1fr;padding:42px 6%}.standards-hero h1{letter-spacing:-1.4px}.standards-hero img{height:240px}.standards-points{grid-template-columns:1fr;gap:15px}.standards-points>article,.standards-points>a{padding:25px}.standards-copy h2{font-size:29px}.standards-related{gap:15px!important}.energy-illustration{min-height:230px}.folder-links .service-icon{width:30px;height:30px}.motion-control{max-width:130px}}
@media(prefers-reduced-motion:reduce){.brand-clean-rotor{animation:none!important}}

.review-page-title{font-size:clamp(36px,4.4vw,60px);letter-spacing:-1.7px;line-height:1.12;font-weight:500;margin:18px 0 26px}.review-page-title em{font-style:normal;color:#6c8c55}.footer-links{width:100%}.standards-points>a:hover{border-color:#7a995e;background:#e2ecd9}.brand-emblem{filter:none!important}

/* Original brand artwork and supplied client identities. */
.company-logo.original-emblem{width:62px;height:70px;min-width:62px;display:block;overflow:hidden;background:#fff;border-radius:0;flex-shrink:0}.brand:hover .original-emblem{transform:none}.brand .original-wordmark{font-size:27px;font-style:italic;font-weight:800;letter-spacing:-.7px;color:#0a305e}.original-wordmark>span{color:#397e2b}.brand .original-wordmark>small{font-size:8px;font-style:normal;font-weight:600;letter-spacing:1.4px;color:#14385c;margin-top:6px}.brand{background:white;padding:7px 12px;border-radius:5px;width:max-content;max-width:100%}header .brand{padding:0;background:transparent}
.partners .client-marquee{background:#fff;border:1px solid #e4e9e7;border-radius:10px;padding:12px 0;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}.client-marquee .marquee-track{animation-duration:52s;align-items:center}.client-marquee .logo-set{gap:28px;padding:15px 14px;flex-shrink:0}.client-card{display:flex;align-items:center;justify-content:center;width:190px;height:92px;padding:15px;flex-shrink:0;background:#fff;box-sizing:border-box}.client-art{display:block;width:100%;height:100%;max-width:100%;object-fit:contain;overflow:hidden}.client-blupine .client-art,.client-goldwind .client-art{max-width:130px}.client-ntpc .client-art{max-width:120px}.client-card:hover{transform:translateY(-3px);transition:transform .25s}.client-marquee:focus-within .marquee-track{animation-play-state:paused}
@media(max-width:650px){.company-logo.original-emblem{width:47px;height:55px;min-width:47px}.brand .original-wordmark{font-size:23px}.brand .original-wordmark>small{font-size:6px;letter-spacing:1px}.client-card{width:155px;height:85px;padding:12px}.client-marquee .logo-set{gap:18px;padding-inline:9px}}
@media(prefers-reduced-motion:reduce){.client-marquee{overflow-x:auto;mask-image:none}.client-marquee .marquee-track{animation:none}.client-marquee .logo-set[aria-hidden]{display:none}}

.client-marquee .marquee-track{animation-duration:105s}.client-adani .client-art{max-width:125px}.client-heft .client-art{max-width:145px}

.supplied-icon-badge{display:flex;align-items:center;justify-content:center;width:76px;height:76px;padding:12px;border-radius:14px;background:#fff;margin-bottom:22px;box-sizing:border-box}.supplied-icon{display:block;width:100%;height:100%;overflow:hidden}.supplied-icon-badge:hover{transform:translateY(-3px);transition:transform .25s}.industrial-identity{height:100%;min-height:350px;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#fff;border-radius:8px;padding:45px;box-sizing:border-box}.industrial-identity .supplied-icon{width:220px;height:220px;max-width:100%}.industrial-identity>span{font-size:10px;letter-spacing:3px;color:#52665e;margin-top:24px}.industrial-identity:hover .supplied-icon{transform:scale(1.025);transition:transform .4s}@media(max-width:650px){.industrial-identity{min-height:270px;padding:25px}.industrial-identity .supplied-icon{width:170px;height:170px}}

/* Unified, lightweight service and assurance symbols. */
.refined-symbol{color:#173e50;display:block;flex-shrink:0}.refined-symbol .assurance-tick{stroke:#549246;stroke-width:4}.refined-badge{width:70px;height:70px;padding:12px;border-radius:16px;background:#f4f8ee;display:flex;align-items:center;justify-content:center;margin-bottom:22px;box-sizing:border-box}.refined-badge .service-icon{width:46px;height:46px}.refined-badge:hover .assurance-tick{stroke:#246c47}.standards-hero-simple{display:block;padding:64px max(7%,calc((100% - 1120px)/2));background:#edf3e8;color:#143841}.standards-hero-simple>div{max-width:800px}.standards-hero-simple h1{font-size:clamp(36px,4.8vw,62px);margin:20px 0}.standards-hero-simple h1 em{color:#557c42}.standards-hero-simple p{color:#51695c;max-width:650px}.standards-hero-simple .refined-badge{background:white;border:1px solid #d9e4d2}.standards-hero-simple .eyebrow{color:#527447}.standards-hero-simple .button{background:#173e38;color:white}.industrial-identity .refined-symbol{width:170px;height:170px;color:#345a65}.folder-links .refined-symbol{width:26px;height:26px}.standards-points>article{border-radius:12px;box-shadow:none}.standards-copy h3{margin-top:28px}.standards-hero .refined-badge{box-shadow:none}
@media(max-width:650px){.standards-hero-simple{padding:42px 7%}.standards-hero-simple h1{letter-spacing:-1.4px}.industrial-identity .refined-symbol{width:135px;height:135px}}

/* Shared alignment across desktop, tablet and phone layouts. */
:root{--header-height:100px;--page-gutter:7%}
html{scroll-padding-top:calc(var(--header-height) + 24px)}
header{height:var(--header-height);gap:24px}
header .brand{flex-shrink:0}
header #nav{min-width:0}
header .menu{flex-shrink:0;min-width:44px;min-height:44px;border:1px solid #bbc9b3;border-radius:4px;background:transparent;color:var(--ink);font-size:20px}
nav.sector-nav{top:var(--header-height);flex-direction:row;align-items:center;flex-wrap:nowrap;scrollbar-width:thin}
nav.sector-nav a{flex-shrink:0;white-space:nowrap}
.folder-links>a{justify-content:flex-start;gap:12px;min-height:48px;line-height:1.5}
.folder-links .service-icon,.folder-links .refined-symbol{width:28px;height:28px;min-width:28px}
.section,.page-heading,.service-cta,.standards-hero-simple{padding-inline:var(--page-gutter)}
.hero-copy{padding-left:var(--page-gutter)}
.section-heading{align-items:flex-end}
.section-heading>*,.intro-grid>*,.contact>*,.application-layout>*,.sector-hero>*,.home-story>*{min-width:0}
.service-tile,.standards-points>article,.standards-points>a{display:flex;flex-direction:column;align-items:flex-start}
.service-tile>b{margin-top:auto;width:100%}
.tile-top{width:100%;align-items:center}
.standards-points p:last-child{margin-bottom:0}
.standards-points .refined-badge{flex-shrink:0}
.button{line-height:1.5;min-height:48px;text-align:left}
.actions,.filters,.profile-actions{flex-wrap:wrap}
input,select,textarea,form,label{min-width:0}
.contact-details a,.apply-destination a{overflow-wrap:anywhere}
footer{align-items:center;padding-bottom:78px}
.footer-base{align-items:flex-start;gap:20px;line-height:1.7}
.footer-links{row-gap:12px!important;line-height:1.6}
.industrial-identity>span{text-align:center;line-height:1.8}
.chapter-nav{top:calc(var(--header-height) + 20px);max-height:calc(100dvh - var(--header-height) - 45px)}
@media(max-width:1100px){
 :root{--header-height:88px}
 header #nav{top:var(--header-height);max-height:calc(100dvh - var(--header-height))}
 header .nav-folder summary{font-size:14px}
 header #nav>a{font-size:14px}
}
@media(min-width:651px) and (max-width:950px){
 .service-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
 .service-tiles .service-tile{grid-column:span 1}
 .service-tiles .service-tile:last-child:nth-child(odd){grid-column:1/-1}
 .sector-hero{grid-template-columns:1fr 1fr}
 .sector-copy{padding:40px 10%}
 .sector-copy h1{font-size:clamp(34px,4.6vw,44px);letter-spacing:-1.5px}
 .assignment-grid,.standards-points{grid-template-columns:repeat(2,minmax(0,1fr))}
 .standards-points>:last-child:nth-child(odd){grid-column:1/-1}
 .application-layout{grid-template-columns:1fr;gap:35px}
 .application-layout>aside{position:static;max-width:700px}
}
@media(max-width:700px){
 .section-heading{align-items:flex-start}
 .standards-points{grid-template-columns:1fr}
 .standards-points>:last-child:nth-child(odd){grid-column:auto}
 .chapter-nav{position:static;max-height:400px}
}
@media(max-width:650px){
 nav.sector-nav{top:var(--header-height);padding:0;gap:0}
 .section-heading{flex-direction:column}
 .next-service{align-items:flex-start;flex-wrap:wrap;gap:18px}
 .hero h1{font-size:clamp(36px,10vw,48px)}
 .hero-controls{right:var(--page-gutter)}
 .hero-bottom{flex-wrap:wrap;line-height:1.7}
 .sector-copy h1{font-size:clamp(34px,10vw,44px)}
 input,select,textarea,#application-form input,#application-form textarea,#application-form select{font-size:16px}
 .contact form{grid-template-columns:1fr}
 .contact form>label{grid-column:1/-1}
 .footer-base{flex-direction:column;gap:8px}
 footer .brand{max-width:100%}
}

/* A single visual language for service and standards icons. */
.service-icon{stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.icon-accent{stroke:#548747;stroke-width:2.8}
.refined-badge{width:80px;height:80px;border-radius:20px;background:#edf3e7;border:1px solid #d7e3ce;padding:15px;box-shadow:none}
.refined-badge .service-icon{width:48px;height:48px;color:#173e50}
.standards-hero .refined-badge{background:#f4f7ef;margin-bottom:25px}
.purpose-emblem{background:#eaf1e4;border:1px solid #d6e2cd;color:#173e50}
.purpose-emblem .service-icon{width:44px;height:44px}
.hero-service-icon .refined-symbol{color:#d7ecb3}
.folder-links .service-icon{color:#385d60;width:28px;height:28px;min-width:28px}
.standards-menu .folder-links>a{display:grid;grid-template-columns:28px minmax(0,1fr) 14px;gap:12px;align-items:center}
.standard-link-arrow{color:#738775;font-size:14px}
.standards-related{align-items:stretch!important;gap:14px!important}
.standards-related>a{display:flex;align-items:center;gap:12px;padding:16px 18px;background:#edf3e7;border:1px solid #d6e2cf;border-radius:8px;line-height:1.5;flex:1 1 250px;min-width:0}
.standards-related>a>.service-icon{width:32px;height:32px;min-width:32px;color:#173e50}
.standards-related>a>span:not(.standard-link-arrow){flex:1}
.standards-related>a:hover{background:#e5eedf;border-color:#98b486}
.standards-related>a:after{display:none}
@media(max-width:650px){.refined-badge{width:72px;height:72px;padding:13px;border-radius:18px}.refined-badge .service-icon{width:44px;height:44px}.standards-related>a{flex-basis:100%;padding:14px 16px}.standards-menu .folder-links>a{font-size:12px}}
.folder-links .service-icon *{animation:none!important}

/* Supplied photography, fitted consistently without stretching. */
.sector-visual.service-photograph{position:relative;overflow:hidden;min-height:450px;background:#163844}
.sector-visual.service-photograph>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.work-photography{background:#edf2e9}
.work-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.work-photo-card{display:block;min-width:0}
.work-photo-frame{aspect-ratio:4/3;border-radius:8px;overflow:hidden;background:#dfe7dc}
.work-photo-frame img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.work-photo-card:hover img{transform:scale(1.035)}
.work-photo-card h3{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:18px;font-weight:500;letter-spacing:-.3px;margin:20px 0 0}
.work-photo-card h3 span{color:#557d46}
.team-photography{background:#eaf0e5}
.team-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;margin-top:34px}
.team-photo-grid figure{margin:0;min-width:0}
.team-photo-grid img{display:block;width:100%;aspect-ratio:3/2;height:auto;object-fit:cover;border-radius:8px}
.team-photo-grid figcaption{padding-top:15px;font-size:13px;color:#52695e}
@media(max-width:950px){.work-photo-grid{gap:18px}.work-photo-card h3{font-size:16px}}
@media(max-width:650px){.sector-visual.service-photograph{min-height:320px}.work-photo-grid,.team-photo-grid{grid-template-columns:1fr;gap:28px}.work-photo-frame{aspect-ratio:3/2}.work-photo-card h3{margin-top:14px;font-size:18px}.team-photo-grid{margin-top:26px}}
@media(prefers-reduced-motion:reduce){.work-photo-frame img{transition:none}.work-photo-card:hover img{transform:none}}
