/* Refined engineering typography and spacing, September 2026. */
@font-face{font-family:Inter;src:url('/assets/inter-latin.woff2') format('woff2');font-style:normal;font-weight:400 700;font-display:swap}
@font-face{font-family:'Inter Tight';src:url('/assets/inter-tight-latin.woff2') format('woff2');font-style:normal;font-weight:400 700;font-display:swap}
:root{--max:1320px;--ink:#183743;--muted:#566c76;--line:#dce7ec;--accent:#007ca6;--body-font:Inter,Arial,sans-serif;--heading-font:'Inter Tight',Inter,Arial,sans-serif}
body{font-family:var(--body-font);font-size:1rem;line-height:1.75;-webkit-font-smoothing:antialiased;font-optical-sizing:auto}
h1,h2,h3,h4{font-family:var(--heading-font);font-weight:550;letter-spacing:-.025em;line-height:1.12;text-wrap:balance}
h2{font-size:clamp(2.15rem,3.55vw,3.3rem)}
h3{font-size:1.5rem;font-weight:600;line-height:1.28;letter-spacing:-.014em}
p{line-height:1.75;text-wrap:pretty}
.wrap{width:min(var(--max),calc(100% - clamp(40px,8vw,128px)))}
.topbar{font-size:.75rem;letter-spacing:.015em;background:#f6fbfd}
.topbar .wrap{padding:10px 0;align-items:center;gap:24px}
.topbar .wrap>span,.topbar .wrap>a{font-size:.75rem}
.header{box-shadow:none}.nav{min-height:98px;gap:30px}
.brand-name{font-family:var(--heading-font);font-size:.875rem;font-weight:600;letter-spacing:.1em}
.brand-name small{font-family:var(--body-font);font-size:.65rem;line-height:1.5;letter-spacing:.055em;font-weight:400}
.navlinks{gap:25px}.navlinks>a{font-size:.875rem;font-weight:500;letter-spacing:-.01em}
.button{font-family:var(--body-font);font-size:.875rem;line-height:1.5;font-weight:550;padding:16px 24px;border-radius:2px;gap:24px;min-height:48px}
.navlinks .button{padding:14px 20px}.text-link{font-size:.9375rem;font-weight:550;padding-bottom:5px;border-bottom-color:#9bb8c6}
.eyebrow{font-family:var(--body-font);font-size:.75rem;font-weight:600;line-height:1.65;letter-spacing:.12em;margin-bottom:23px}
.eyebrow:before{width:24px}.hero{background:#fff;padding:34px 0 48px}
.hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);min-height:570px;align-items:stretch}
.hero-copy{padding:56px 60px 52px 0;display:flex;flex-direction:column;justify-content:center}
.hero-copy h1{font-size:clamp(2.65rem,4.15vw,4rem);font-weight:550;line-height:1.105;letter-spacing:-.035em;margin-bottom:30px;max-width:650px;text-wrap:initial}
.hero-copy h1 em{font-weight:500}.hero-copy p{font-size:1.0625rem;line-height:1.8;max-width:510px;margin-bottom:0}
.hero-actions{margin-top:34px;gap:24px}.hero-media{margin-right:0;min-height:540px;border-radius:2px}
.hero-media:after{display:none}.image-caption{bottom:22px;left:22px;right:22px;padding:16px 18px;font-size:.75rem;line-height:1.5;letter-spacing:.055em;border:0}
.image-caption strong{font-family:var(--heading-font);font-size:1.0625rem;font-weight:550;margin-top:3px}.image-caption>span:last-child{align-self:end;text-align:right}
.standards{border-top:1px solid var(--line)}.standards .wrap{display:grid;grid-template-columns:1.2fr repeat(4,1fr);gap:32px;padding:30px 0}
.standards-label{font-size:.8125rem;line-height:1.65}.standard{font-family:var(--heading-font);font-size:1.4rem;font-weight:550;line-height:1.3;letter-spacing:-.02em}
.standard small{font-family:var(--body-font);font-size:.8125rem;line-height:1.5;margin-top:6px}
.section{padding:clamp(76px,8.1vw,120px) 0}.section-head{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:90px;margin-bottom:48px;align-items:end}
.section-head p{font-size:1rem;line-height:1.8;max-width:480px}.section-head h2{font-weight:550}
.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 32px}
.service-card{border:0;box-shadow:none;background:transparent;overflow:visible;border-radius:0}
.service-card:hover{background:transparent;box-shadow:none;border-color:transparent}
.service-card .solution-photo{height:auto;aspect-ratio:3/2;border-radius:2px}
.service-card-copy{padding:24px 0 27px;border-bottom:1px solid var(--line)}
.service-card .card-no{font-size:.8125rem;line-height:1.5;letter-spacing:.065em;margin-bottom:15px;font-variant-numeric:tabular-nums}
.service-card h3{font-size:1.5rem;font-weight:550;line-height:1.3;max-width:100%;margin-bottom:13px;letter-spacing:-.02em;text-wrap:balance}
.service-card p{font-size:1rem;line-height:1.75;max-width:34ch;margin-bottom:24px}
.service-card .card-foot{font-size:.8125rem;line-height:1.6;font-weight:500;text-transform:none;letter-spacing:0;padding-top:8px;color:var(--accent)}
.service-card:hover h3{color:var(--accent)}
.epc-phases{padding:34px 0;gap:35px}.epc-phases strong{font-family:var(--heading-font);font-weight:500;font-size:3.5rem}
.epc-phases span{font-family:var(--heading-font);font-weight:550;font-size:1.35rem;line-height:1.4}.epc-phases small{font-family:var(--body-font);font-size:.875rem;line-height:1.6;font-weight:400;max-width:24ch}
.epc-controls{gap:36px 48px;margin-top:48px}.epc-controls>div{border-top:1px solid var(--line);padding-top:22px;min-width:0}
.epc-controls>div>span,.design-grid .number,.process-item>span{font-size:.8125rem;font-variant-numeric:tabular-nums;letter-spacing:.04em}
.epc-controls h3{font-size:1.3rem;line-height:1.35;margin:15px 0 12px}.epc-controls p{font-size:1rem;line-height:1.75;margin:0}
.industries{gap:30px}.industries>div{padding:26px 0}.industries h3{font-family:var(--heading-font);font-size:1.25rem;line-height:1.4;letter-spacing:-.015em}.industries span{font-size:.8125rem}
.project-grid,.projects-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:52px 36px}
.projects-list .project:first-child{grid-column:auto}
.project img,.project.wide img,.project-grid .project img,.project-grid .project.wide img,.projects-list .project:first-child img{height:auto;aspect-ratio:16/10;border-radius:2px}
.project-meta{justify-content:flex-start;flex-wrap:wrap;gap:3px 20px;font-size:.8125rem;line-height:1.7;text-transform:none;letter-spacing:0;margin:24px 0 12px}
.project-meta>span:first-child{font-weight:550;color:var(--accent)}.project h3{font-size:1.75rem;font-weight:550;line-height:1.3;letter-spacing:-.025em;margin-bottom:12px}
.project p{font-size:1rem;line-height:1.75;max-width:57ch;margin-bottom:20px}.project{padding-bottom:28px}
.process-item{border-top-width:1px;padding-top:24px}.process-item h3{font-size:1.3rem;line-height:1.3}.process-item p{font-size:1rem;line-height:1.75}
.design-grid{gap:26px}.design-grid h3{font-size:1.25rem;line-height:1.35;font-weight:550}.design-grid p{font-size:1rem;line-height:1.75}
.systems-grid{gap:26px}.system-card{border:0}.system-card figcaption{padding:24px 0 0}.system-card h3{font-size:1.3rem;font-weight:550}.system-card p{font-size:1rem}
.page-hero{padding:36px 0 66px;border-bottom:1px solid #e6eff3;background:linear-gradient(120deg,#f5fafc,#fff)}
.breadcrumb{font-size:.8125rem;line-height:1.7;margin-bottom:40px}.page-hero h1{font-size:clamp(2.7rem,4.6vw,4.25rem);line-height:1.13;max-width:980px;margin-bottom:26px;font-weight:550}
.page-hero p{font-size:1.125rem;line-height:1.8;max-width:740px;margin-bottom:0}.page-tags{margin-top:28px}.page-tags span,.scope-list li{font-size:.875rem;line-height:1.6;border-color:#dae6ec;background:#fff;padding:8px 14px}
.detail-grid{grid-template-columns:minmax(0,1.75fr) minmax(260px,1fr);gap:90px}.prose{min-width:0}.prose p,.prose li{font-size:1.0625rem;line-height:1.8}.prose h2,.project-intro h2{font-size:2rem;font-weight:550;line-height:1.25}
.aside-box{padding:32px 30px;border-top:2px solid var(--accent);background:#f5fafc}.aside-box h3{font-size:1.5rem;font-weight:550}.aside-box li{font-size:.9375rem;line-height:1.65}
.faq summary{font-family:var(--heading-font);font-size:1.2rem;line-height:1.5;font-weight:550}.note,.capability-note{font-size:.9375rem;line-height:1.75}
.project-facts{gap:44px;margin-top:36px;padding-top:26px}.project-facts dt{font-size:.75rem;line-height:1.6;letter-spacing:.09em}.project-facts dd{font-size:1rem;line-height:1.65}
.project-intro{max-width:850px}.project-intro p{font-size:1.0625rem;line-height:1.8}
.photo-gallery{gap:30px 24px}.photo-gallery figcaption,.service-photo figcaption{font-size:.875rem;line-height:1.65;padding-top:14px}.gallery-link{border-radius:2px}
.design-hero h2{font-size:clamp(2rem,3vw,2.8rem)}.design-detail h2{font-size:1.8rem;font-weight:550;line-height:1.3}
.contact-grid{gap:90px}.contact-row h3{font-family:var(--body-font);font-size:.8125rem;line-height:1.5;letter-spacing:.085em}.contact-row a{font-family:var(--heading-font);font-size:1.5rem;font-weight:500;letter-spacing:-.01em}.contact-row p{font-size:1.125rem;line-height:1.7}
.brief{padding:42px;border-top:2px solid var(--accent)}.brief h2{font-size:2.1rem;font-weight:550}.brief p,.brief li{font-size:1rem;line-height:1.75}
.cta{padding:66px 0;background:#f0f9fd}.cta h2{font-weight:550;font-size:clamp(2rem,3.3vw,3rem)}.cta p{font-size:1rem;max-width:700px}
footer{padding:70px 0 30px}.footer-grid{grid-template-columns:1.35fr 1fr 1.2fr;gap:65px}.footer-grid p,footer ul{font-size:.9375rem;line-height:1.75}.footer-grid h3{font-family:var(--body-font);font-size:.8125rem;line-height:1.6;font-weight:550;letter-spacing:.075em}.footer-grid a{overflow-wrap:anywhere}
.country-acknowledgement{display:grid;grid-template-columns:1fr 2.25fr;gap:65px;padding:36px 0 0;margin-top:42px;border-top:1px solid var(--line)}
.country-acknowledgement h3{font-family:var(--body-font);font-size:.8125rem;line-height:1.6;font-weight:550;letter-spacing:.075em;margin:0}
.country-acknowledgement p{font-size:.875rem;line-height:1.8;max-width:870px;color:var(--muted);margin:0}
.footer-bottom{font-size:.75rem;line-height:1.7;margin-top:32px;padding-top:24px}
@media(min-width:1600px){.hero-grid{min-height:620px}.hero-copy{padding-top:60px}.hero-copy h1{font-size:4.25rem}}
@media(max-width:1100px){.section-head{gap:50px}.hero-copy{padding-right:35px}.hero-grid{min-height:520px}.hero-media{min-height:500px}.image-caption>span:last-child{display:none}.footer-grid{gap:34px}.detail-grid,.contact-grid{gap:48px}.design-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1040px){.nav{min-height:86px;justify-content:space-between}.menu-toggle{display:block;font-size:.875rem;min-height:44px}.navlinks{display:none;position:absolute;left:0;right:0;top:86px;background:#fff;padding:24px;box-shadow:0 12px 24px #18374310;flex-direction:column;align-items:stretch;gap:0}.navlinks.open{display:flex}.navlinks>a{font-size:1rem;padding:15px;border-bottom:1px solid var(--line)}.navlinks .button{margin-top:16px}.hero-copy h1{font-size:2.9rem}.standards .wrap{gap:24px}}
@media(max-width:820px){.hero{padding:0 0 36px}.hero-grid{grid-template-columns:1fr;min-height:0}.hero-copy{padding:52px 0 42px}.hero-copy h1{font-size:clamp(2.75rem,6vw,3.7rem);max-width:680px}.hero-copy p{max-width:600px}.hero-media{margin:0;min-height:420px}.image-caption>span:last-child{display:block}.section-head{grid-template-columns:1fr;gap:25px}.section-head p{max-width:650px}.standards .wrap{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.standards-label{grid-column:1/-1;max-width:none}.standards-label br{display:none}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 26px}.industries{grid-template-columns:repeat(2,minmax(0,1fr))}.epc-phases{gap:24px}.epc-phases>div{gap:14px}.epc-phases strong{font-size:2.75rem}.epc-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.detail-grid,.contact-grid{grid-template-columns:1fr}.design-hero{grid-template-columns:1fr;gap:32px}.footer-grid{grid-template-columns:1fr 1fr;gap:38px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid>div:last-child{grid-column:auto}.country-acknowledgement{grid-template-columns:1fr;gap:14px}.page-hero h1{max-width:720px}.cta .wrap{display:block}.cta .button{margin-top:28px}}
@media(max-width:640px){.wrap{width:calc(100% - 40px)}.topbar .wrap{gap:12px;align-items:start;padding:9px 0}.topbar .wrap>span,.topbar .wrap>a{font-size:.75rem;line-height:1.55;letter-spacing:0}.topbar .wrap>a{max-width:165px}.brand-name{font-size:.75rem}.brand-name small{font-size:.6rem;max-width:130px;white-space:normal}.brand-logo{width:86px;height:57px}.hero-copy{padding:42px 0 36px}.hero-copy h1{font-size:clamp(2.25rem,8.3vw,3rem);line-height:1.13;letter-spacing:-.025em;margin-bottom:24px}.hero-copy p{font-size:1rem;line-height:1.75}.eyebrow{font-size:.75rem;margin-bottom:20px}.hero-actions{gap:20px;margin-top:28px}.hero-media{min-height:330px}.image-caption{left:14px;right:14px;bottom:14px;padding:14px;font-size:.75rem}.image-caption>span:last-child{display:none}.standards .wrap{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:25px 0}.standard{width:auto;font-size:1.35rem}.standard small,.standards-label{font-size:.8125rem}.section{padding:62px 0}.section-head{margin-bottom:34px;gap:22px}.section-head h2{font-size:2.15rem;line-height:1.14}.service-grid{grid-template-columns:1fr;gap:32px}.service-card{padding:0}.service-card-copy{padding:24px 0}.service-card h3{font-size:1.55rem}.service-card .solution-photo{height:auto;aspect-ratio:3/2}.service-card p{max-width:none}.epc-phases{grid-template-columns:1fr;gap:24px;padding:28px 0}.epc-phases strong{font-size:3rem;width:48px}.epc-phases small{max-width:none}.epc-controls{gap:26px 22px}.epc-controls h3{font-size:1.2rem}.epc-controls p{font-size:1rem}.industries{gap:0 24px}.industries h3{font-size:1.15rem}.project-grid,.projects-list{grid-template-columns:1fr;gap:38px}.project h3{font-size:1.6rem}.project-meta{margin-top:20px}.process-grid{gap:28px 22px}.process-item h3{font-size:1.2rem}.process-item p{font-size:1rem}.design-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.design-grid p{font-size:1rem}.systems-grid{gap:20px}.system-card figcaption{padding:18px 0}.system-card h3{font-size:1.2rem}.system-card p{font-size:1rem}.page-hero{padding:28px 0 45px}.page-hero h1{font-size:2.55rem;line-height:1.13}.page-hero p{font-size:1.0625rem}.breadcrumb{font-size:.8125rem;margin-bottom:30px}.page-tags span,.scope-list li{font-size:.875rem}.prose h2,.project-intro h2{font-size:1.8rem}.prose p,.prose li,.project-intro p{font-size:1rem}.photo-gallery{gap:24px 16px}.photo-gallery figcaption{font-size:.875rem;line-height:1.65}.gallery-link img{height:180px}.project-facts{grid-template-columns:1fr;gap:20px}.aside-box,.brief{padding:28px 24px}.brief h2{font-size:1.9rem}.contact-row a{font-size:1.3rem}.contact-row p{font-size:1.0625rem}.footer-grid{grid-template-columns:1fr;gap:30px}.footer-grid>div:first-child{grid-column:auto}.footer-grid>div:last-child{grid-column:auto}.footer-grid .brand-name{font-size:.8125rem}.footer-grid .brand-name small{max-width:none}.country-acknowledgement{gap:14px;margin-top:30px;padding-top:30px}.footer-bottom{font-size:.75rem;gap:16px}.cta{padding:48px 0}.cta h2{font-size:2.2rem}footer{padding-top:50px}}
@media(max-width:380px){.hero-actions{align-items:start;flex-direction:column}.epc-controls,.process-grid,.design-grid,.systems-grid{grid-template-columns:1fr}.brand-name small{max-width:110px}.brand-logo{width:72px}.nav{gap:12px}.page-hero h1{font-size:2.25rem}}
