/* Corporate typography and editorial layouts. All fonts are served locally. */
.contact-title{font-size:clamp(36px,4vw,54px);margin:0 0 38px;line-height:1.15}
.breadcrumb{flex-wrap:wrap;align-items:baseline;row-gap:7px}
.breadcrumb>span:last-child{min-width:0;overflow-wrap:anywhere}
.focused-service{min-width:0}
.focused-service>h2{font-size:clamp(30px,3.2vw,42px);margin:0 0 26px}
.focused-service>p{font-size:18px;line-height:1.65;margin:0 0 22px;color:var(--muted)}
.focused-service>.detail-grid{margin:38px 0 25px}
.service-links-section{margin-top:42px}
.service-links-section>h2,.service-questions>h2{font-size:29px;line-height:1.25;margin:0 0 23px}
.service-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.service-links>a{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);padding:25px;background:white;transition:border-color .2s,background .2s}
.service-links>a:hover{border-color:var(--green);background:var(--pale)}
.service-links h3{font-size:20px;line-height:1.35;margin:0 0 13px}
.service-links p{font-size:17px;line-height:1.5;color:var(--muted);margin:0 0 20px}
.service-links a>span{font:600 12px Manrope,Arial,sans-serif;margin-top:auto;color:var(--green)}
.service-questions{margin:42px 0 35px}
.service-questions details{border-top:1px solid var(--line);padding:20px 0}
.service-questions details:last-child{border-bottom:1px solid var(--line)}
.service-questions summary{display:flex;justify-content:space-between;gap:22px;cursor:pointer;font:600 18px/1.5 Manrope,Arial,sans-serif;list-style:none}
.service-questions summary::-webkit-details-marker{display:none}
.service-questions summary>span{font-size:23px;line-height:1.2;color:var(--green);flex:none;transition:transform .2s}
.service-questions details[open] summary>span{transform:rotate(45deg)}
.service-questions details p{font-size:18px;line-height:1.65;color:var(--muted);margin:18px 0 0}
@media(max-width:620px){
 .service-links{grid-template-columns:1fr}
 .service-links>a{padding:23px}
 .focused-service>p,.service-questions details p{font-size:17px}
 .service-questions summary{font-size:16px}
 .service-links-section>h2,.service-questions>h2{font-size:27px}
 .contact-title{margin-bottom:30px}
}
:root{--navy:#071e2b;--navy2:#123947;--ink:#142d37;--muted:#576a73;--green:#137c48;--bright:#9ee4b0;--pale:#f1f4f2;--line:#dae2de;--wrap:1280px}
body{font-family:'Source Sans 3',Arial,sans-serif;font-size:18px;line-height:1.65}
h1,h2,h3,h4,.nav-links,.button,.brand,.text-link,.solution-tab{font-family:Manrope,Arial,sans-serif}
h1,h2{font-weight:600;letter-spacing:-.045em;line-height:1.1}
h1{font-size:clamp(42px,5.4vw,78px)}
h2{font-size:clamp(35px,4.1vw,58px)}
h3{font-weight:600;letter-spacing:-.035em;line-height:1.22}
.utility{font-size:11px;letter-spacing:.09em}
.utility .wrap{min-height:34px}
.utility .wrap>div{font-size:13px}
.nav-wrap{min-height:94px;gap:24px}
.brand{width:205px}
.nav-links{font-size:13px;gap:22px;font-weight:600}
.nav-cta{font-size:12px;min-height:46px;padding:12px 20px}
.dropdown{top:93px}
.dropdown.mega{padding:40px;gap:42px}
.mega h3{font-size:28px}
.mega h4{font-size:12px}
.mega a{font-size:14px}
.mega a small,.mega p{font-size:13px}
.button{padding:16px 25px;font-size:13px;border-radius:0;min-height:53px;font-weight:600}
.eyebrow{font-size:11px;letter-spacing:.16em;margin-bottom:23px}
.eyebrow:before{width:30px}
.text-link{font-size:13px}
.section{padding:110px 0}
.section-head{gap:60px;margin-bottom:52px;align-items:flex-end}
.section-head>p{font-size:17px;line-height:1.6;max-width:340px}
.section-head h2{max-width:810px}
.lead{font-size:22px;line-height:1.5}
.corporate-hero{min-height:740px;max-height:980px;height:calc(100svh - 128px)}
.hero-image{object-position:65% center}
.hero-shade{background:linear-gradient(90deg,#031b24ef 0%,#061f28c7 42%,#071e2b4d 80%),linear-gradient(0deg,#061d27e8,transparent 48%)}
.hero-inner{padding-top:35px;padding-bottom:185px}
.hero-content{max-width:1120px}
.corporate-hero h1{font-size:clamp(50px,5.9vw,88px);line-height:1.08;letter-spacing:-.045em;margin-bottom:30px}
.corporate-hero h1 span{color:#b3e3bc}
.corporate-hero .eyebrow{font-size:11px;color:#d0e9d4;letter-spacing:.16em;margin-bottom:28px}
.corporate-hero p{font-size:19px;line-height:1.6;max-width:620px;margin-bottom:33px;color:#edf1ee}
.corporate-hero .button{font-size:13px;min-height:56px}
.hero-bottom{bottom:36px;padding-top:27px;gap:55px;align-items:flex-end;border-color:#fff4}
.hero-bottom small{font-size:10px;letter-spacing:.14em;color:#a9c2c5;margin-bottom:11px}
.hero-bottom strong{font-size:17px;font-weight:500;line-height:1.45}
.hero-bottom p{font-size:16px;line-height:1.6;margin:0;letter-spacing:0;color:#d4e1de}
.hero-scroll{font-size:10px;letter-spacing:.12em;padding-bottom:5px}
.industry-strip{background:#f6f8f6}
.industry-strip .wrap{padding-block:28px;gap:30px}
.industry-strip span{font-size:10px;max-width:150px}
.industry-strip strong{font-size:14px;font-weight:600}
.about-grid{grid-template-columns:.95fr 1fr;gap:100px}
.about-image{padding-bottom:50px;padding-right:32px}
.about-image img{height:580px;object-position:45% center}
.about-image-label{padding:30px 34px;background:var(--green);border:0;font-size:16px;min-width:325px}
.about-image-label strong{font-family:Manrope,Arial,sans-serif;font-size:21px;font-weight:600}
.about-copy h2{font-size:clamp(38px,4vw,57px)}
.about-copy>p{font-size:18px;line-height:1.65;margin-bottom:22px}
.about-copy>p.lead{font-size:22px;line-height:1.5}
.about-facts{margin-top:37px;padding-top:28px;gap:20px}
.about-facts strong{font-family:Manrope,Arial,sans-serif;font-size:13px}
.about-facts span{font-size:14px}
.focus-section{background:#f2f5f2}
.expertise-grid{gap:26px;align-items:stretch}
.expertise-card{padding:0;border:0;background:white;display:flex;flex-direction:column;box-shadow:0 4px 18px #0b2e1710}
.expertise-card:hover{background:white;transform:translateY(-5px);box-shadow:0 12px 28px #0b2e1720}
.expertise-visual{height:255px;overflow:hidden;position:relative}
.expertise-visual img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.expertise-card:hover img{transform:scale(1.045)}
.expertise-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#071e2b40,transparent 60%)}
.card-index{position:absolute;bottom:0;left:0;z-index:1;background:var(--green);color:#fff;padding:13px 20px;font:600 14px Manrope,Arial,sans-serif;margin:0}
.expertise-copy{padding:33px 31px 29px;flex:1;display:flex;flex-direction:column}
.service-verb{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:var(--green);font-weight:600;margin-bottom:16px}
.expertise-card h3{font-size:29px;line-height:1.16;min-height:68px;margin-bottom:18px}
.expertise-card p{font-size:17px;line-height:1.6;max-width:none;margin-bottom:23px}
.expertise-card ul{font-size:15px;line-height:1.5;margin-bottom:27px}
.card-link{margin-top:auto;font-family:Manrope,Arial,sans-serif;font-size:12px;line-height:1.4;padding-top:23px}
.card-link>span{font-size:20px}
.solutions-section{background:var(--navy);color:white}
.solutions-section .section-head>p{color:#c0d1d2}
.solutions-section .eyebrow{color:var(--bright)}
.solution-tabs{border:0;background:transparent;border-bottom:1px solid #fff3;gap:22px;margin-bottom:38px}
.solution-tab{padding:18px 0 22px;font-size:14px;gap:12px;background:transparent;border:0;color:#b5c8ca;position:relative;text-align:left}
.solution-tab[aria-selected=true]{background:transparent;color:#fff}
.solution-tab[aria-selected=true]:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:3px;background:var(--bright)}
.solution-tab span{font-size:11px;color:#8caaa0}
.solution-panel{grid-template-columns:.94fr 1.06fr;gap:75px;min-height:490px;background:transparent;align-items:stretch}
.solution-copy{padding:26px 0 23px}
.solution-copy h3{font-size:clamp(34px,3.15vw,45px);line-height:1.16;margin-bottom:24px}
.solution-copy>p{font-size:18px;line-height:1.6;color:#c1d0d1;margin-bottom:25px}
.solution-copy .eyebrow{font-size:11px}
.solution-copy .check-list{font-size:16px;color:#dae4df}
.solution-copy .check-list li{margin-bottom:12px}
.solution-copy .button{margin-top:16px}
.solution-visual{overflow:hidden;min-height:480px}
.solution-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.solution-image-caption{padding:20px 26px;font-size:13px;line-height:1.5;background:#071e2be3}
.solution-visual.site-photo{display:flex;align-items:center;justify-content:center;min-height:0;height:auto;padding:0 0 58px;background:#123442}
.solution-visual.site-photo img{position:static;width:auto;height:auto;max-width:100%;max-height:620px;object-fit:contain;object-position:center}
.solution-visual.site-photo .solution-image-caption{background:#102d39;color:#e0ebe5}
.contact-item a{display:block}
.contact-item a+a{margin-top:12px}
.delivery-intro{max-width:390px}
.delivery-intro p{font-size:18px;margin-bottom:20px}
.delivery-stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px}
.delivery-stages article{border-top:1px solid var(--line);padding-top:26px;position:relative}
.delivery-stages article:before{content:'';position:absolute;left:0;top:-2px;width:40px;height:3px;background:var(--green)}
.delivery-stages span{font:500 45px/1 Manrope,Arial,sans-serif;color:#91afa1;letter-spacing:-.04em;display:block;margin-bottom:24px}
.delivery-stages h3{font-size:25px;margin-bottom:15px}
.delivery-stages p{font-size:17px;margin:0}
.portfolio-section{background:#f4f6f5}
.project-card{border:1px solid #d6e0da;background:white}
.project-top{padding:25px 30px;background:#e5eee8}
.project-top>span:first-child{font-size:11px;letter-spacing:.1em;color:#386049}
.project-number{font-size:24px;font-family:Manrope,Arial,sans-serif;color:#467456}
.project-body{padding:30px}
.project-discipline{font-size:11px!important;margin-bottom:18px}
.project-card h3{font-size:28px;min-height:69px;margin-bottom:21px}
.project-card p{font-size:17px;line-height:1.6}
.project-client{padding:20px 0;margin-top:26px}
.project-client small{font-size:10px}
.project-client strong{font-size:15px;font-weight:600}
.project-card summary{font-size:13px;line-height:1.5}
.project-card .check-list{font-size:15px}
.project-card .text-link{font-size:12px}
.hse-home{position:relative;isolation:isolate;overflow:hidden;padding:115px 0;border:0}
.hse-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}
.hse-home:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#071e2bec,#071e2bcc),linear-gradient(0deg,#071e2b70,#071e2b40)}
.hse-home .wrap{gap:100px;grid-template-columns:1.12fr .88fr}
.hse-home h2{font-size:clamp(36px,3.8vw,54px);line-height:1.16}
.hse-home p{font-size:18px;color:#d0dfdb;max-width:560px}
.hse-points>div{padding:25px 0 25px 52px;border-color:#fff3}
.hse-points span{top:27px;font-size:13px}
.hse-points strong{font:600 21px/1.4 Manrope,Arial,sans-serif}
.hse-points p{font-size:16px;margin-top:12px}
.partner-strip{background:white;border-bottom:1px solid var(--line)}
.partner-strip .wrap{padding-block:39px}
.partner-strip .wrap>span{font-size:11px;max-width:185px}
.partner-mini span{font-family:Manrope,Arial,sans-serif;font-size:15px}
.partner-mini small{font-family:'Source Sans 3',Arial,sans-serif;font-size:13px}
.enquiry-entry .wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:100px}
.enquiry-entry p{font-size:18px;max-width:440px;margin:0}
.enquiry-paths{border-top:1px solid var(--line)}
.enquiry-paths a{display:flex;align-items:center;gap:22px;border-bottom:1px solid var(--line);padding:27px 0;transition:color .2s}
.enquiry-paths a:hover{color:var(--green)}
.enquiry-paths a>span:first-child{font:500 12px Manrope,Arial,sans-serif;color:var(--green);align-self:flex-start;margin-top:5px}
.enquiry-paths a>span:last-child{font-size:26px;margin-left:auto}
.enquiry-paths h3{font-size:23px;margin-bottom:9px}
.enquiry-paths p{font-size:16px;line-height:1.5}
.project-cta{padding:78px 0;background:linear-gradient(110deg,#0e6a40,#174c44)}
.project-cta h2{font-size:clamp(35px,3.8vw,53px);line-height:1.13}
.project-cta p{font-size:18px;max-width:460px}
.footer{padding-top:80px}
.footer .brand{width:205px}
.footer-grid{gap:55px}
.footer h3{font-size:12px}
.footer p,.footer-grid>div>a:not(.brand){font-size:16px;line-height:1.5}
.footer-focus{font-size:12px;line-height:1.7}
.footer-bottom{font-size:12px;padding-block:25px}
/* Secondary pages follow the same corporate scale and readable measure. */
.page-hero{padding:43px 0 85px;background:linear-gradient(110deg,#071e2b,#173c40)}
.page-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 69%,#fff03 69%,#fff03 calc(69% + 1px),transparent calc(69% + 1px)),linear-gradient(0deg,transparent 25%,#fff03 25%,#fff03 calc(25% + 1px),transparent calc(25% + 1px));pointer-events:none}
.page-hero h1{font-size:clamp(42px,5vw,72px);max-width:1000px;line-height:1.13;margin-bottom:28px}
.page-hero p{font-size:21px;line-height:1.55;color:#c5d8d3;max-width:750px}
.breadcrumb{font-size:13px;margin-bottom:49px}
.page-hero.with-image{padding-bottom:85px;min-height:500px}
.page-hero-image{opacity:1;object-position:68% 45%}
.page-hero.with-image:after{background:linear-gradient(90deg,#071e2be8,#071e2b70)}
.split-content p{font-size:18px}
.split-content p.lead{font-size:22px}
.photo-caption{font-size:13px;padding:20px}
.pill{font-size:13px}
.mission-grid h3{font-size:35px}
.mission-grid p{font-size:18px}
.values-row{font-size:14px;gap:24px}
.why-grid h3{font-size:33px}
.why-grid p{font-size:18px}
.why-grid span{font-size:14px}
.delivery-flow h3{font-size:24px}
.delivery-flow p{font-size:16px}
.service-summary h2{font-size:clamp(35px,3.8vw,52px)}
.service-summary p{font-size:18px}
.service-tab{font-size:16px;padding:20px 17px}
.service-tab span{font-size:11px}
.service-panel h2{font-size:43px}
.service-panel .lead{font-size:20px}
.detail-box h3,.detail-box h2{font-size:25px}
.check-list{font-size:17px;line-height:1.6}
.detail-box .check-list{font-size:17px}
.note{font-size:15px;line-height:1.65}
.capability-links h3{font-size:28px}
.capability-links p{font-size:17px}
.capability-links b{font-size:13px}
.service-detail aside h3{font-size:22px}
.service-detail aside>a:not(.button){font-size:15px;line-height:1.5}
.service-detail>div>p{font-size:18px}
.info-card h3{font-size:27px}
.info-card .check-list{font-size:17px}
.product-grid h3{font-size:24px}
.product-grid p{font-size:16px}
.product-grid .text-link{font-size:12px}
.quality-statement h3{font-size:38px}
.quality-statement p{font-size:18px}
.quality-grid h3{font-size:27px}
.quality-grid p{font-size:17px}
.partner-card h3{font-size:28px}
.partner-card p{font-size:18px}
.partner-card>small{font-size:11px}
.partner-card .text-link{font-size:12px}
.portfolio-controls button{font-size:15px;padding:12px 20px}
.portfolio-count{font-size:14px}
.contact-item a,.contact-item strong{font-family:Manrope,Arial,sans-serif;font-size:29px}
.contact-item small{font-size:12px}
.contact-item p{font-size:17px}
.contact-aside h2{font-size:41px}
.contact-aside p{font-size:18px}
.contact-aside .check-list{font-size:16px}
.installation-statement{padding:55px;background:var(--navy);color:#fff;border-left:4px solid var(--green)}
.installation-statement .eyebrow{color:var(--bright)}
.installation-statement h3{font-size:60px;line-height:1.08}
.installation-statement p{color:#c6d8d0;font-size:18px}
.wizard h2{font-size:32px}
.wizard p,.helper-card p{font-size:17px}
.steps{font-size:13px}
.field label,.field legend{font-size:16px}
.field small{font-size:14px}
.radio-option{font-size:16px;padding:20px}
.radio-option small{font-size:14px}
.consent{font-size:15px;line-height:1.6}
.micro,.status-message{font-size:14px}
.helper-card ul{font-size:16px}
.enquiry-summary{font-family:'Source Sans 3',Arial,sans-serif;font-size:16px;line-height:1.65}
.error-box{font-size:16px}
.prose p,.prose li{font-size:18px}
@media(min-width:1600px){.corporate-hero h1{font-size:92px}.hero-content{max-width:1200px}}
@media(max-width:1200px){
 .brand{width:185px}.nav-links{font-size:12px;gap:17px}.nav-wrap{gap:18px}.nav-cta{font-size:11px;padding-inline:16px}
 .corporate-hero h1{font-size:68px}.hero-content{max-width:960px}.hero-bottom{gap:25px}
 .about-grid{gap:65px}.about-image img{height:550px}.about-copy h2{font-size:46px}.about-image-label{min-width:290px;padding:27px}
 .solution-panel{gap:50px}.solution-copy h3{font-size:38px}.expertise-copy{padding:29px 25px}.expertise-card h3{font-size:26px}
 .delivery-stages{gap:28px}.hse-home .wrap{gap:65px}.enquiry-entry .wrap{gap:65px}
}
@media(max-width:1100px){
 .nav-wrap{min-height:82px}.brand{width:195px}.nav-cta{font-size:12px;min-height:46px}.nav-links{font-size:14px}
 .dropdown{top:auto}.nav-links>a,.nav-group>a{padding-block:14px}.dropdown.mega{gap:30px;padding:25px}
 .corporate-hero{min-height:720px}.corporate-hero h1{font-size:64px}.hero-inner{padding-bottom:190px}.corporate-hero p{font-size:18px}
 .hero-disciplines{display:none}.hero-bottom strong{font-size:17px}.hero-bottom p{font-size:15px}
 .about-grid{gap:45px}.about-copy h2{font-size:42px}.about-copy>p{font-size:17px}.about-image img{height:550px}
 .expertise-visual{height:225px}.expertise-card h3{font-size:25px}.expertise-card p{font-size:16px}.expertise-card ul{font-size:14px}
 .solution-tab{font-size:13px}.solution-copy h3{font-size:35px}.solution-copy>p{font-size:17px}.solution-panel{gap:38px}
 .project-body{padding:27px}.project-card h3{font-size:25px}.project-card p{font-size:16px}.footer-grid{gap:38px}
}
@media(max-width:1000px){.utility .wrap>span{display:none}.utility .wrap{justify-content:flex-end}.utility .wrap>div{gap:25px}}
@media(max-width:900px){
 .section{padding:85px 0}.section-head h2{font-size:43px}.section-head>p{font-size:17px;max-width:280px}
 .corporate-hero h1{font-size:57px}.corporate-hero .eyebrow{font-size:10px}.hero-shade{background:linear-gradient(90deg,#071e2bee,#071e2b80),linear-gradient(0deg,#071e2be8,transparent 50%)}
 .about-grid{grid-template-columns:1fr;gap:48px}.about-image{max-width:620px}.about-image img{height:500px}.about-copy h2{font-size:47px}.about-copy>p{font-size:18px}.about-copy>p.lead{font-size:23px}
 .expertise-grid{grid-template-columns:1fr;gap:24px}.expertise-card{display:grid;grid-template-columns:.9fr 1.1fr}.expertise-visual{height:100%;min-height:335px}.expertise-copy{padding:31px}.expertise-card h3{font-size:28px;min-height:0}.expertise-card p{font-size:17px}.expertise-card ul{font-size:15px}.card-link{font-size:12px}
 .solution-tabs{gap:15px}.solution-tab{font-size:12px;gap:7px}.solution-panel{grid-template-columns:1fr 1fr;gap:28px}.solution-copy h3{font-size:32px}.solution-copy>p{font-size:17px}.solution-copy .check-list{font-size:15px}.solution-visual{min-height:500px}
 .delivery-stages{grid-template-columns:1fr 1fr;gap:40px}.delivery-intro p{font-size:17px}
 .portfolio-section .project-card:last-child{display:block}.portfolio-section .projects-grid{grid-template-columns:1fr}.portfolio-section .project-card{display:grid;grid-template-columns:160px 1fr}.portfolio-section .project-top{flex-direction:column;align-items:flex-start;gap:40px;justify-content:space-between;padding:30px}.portfolio-section .project-card h3{min-height:0;font-size:28px}.project-card p{font-size:17px}
 .hse-home{padding:90px 0}.hse-home .wrap{grid-template-columns:1fr;gap:38px}.hse-home h2{font-size:47px}.hse-points{display:grid;grid-template-columns:1fr 1fr 1fr;gap:25px}.hse-points>div{padding:38px 0 25px;border-top:1px solid #fff3;border-bottom:0}.hse-points span{top:10px}.hse-points strong{font-size:18px}.hse-points p{font-size:15px}
 .partner-mini{gap:30px}.enquiry-entry .wrap{gap:45px;grid-template-columns:1fr 1fr}.enquiry-entry h2{font-size:43px}.enquiry-paths h3{font-size:21px}.enquiry-paths a{gap:17px}
 .project-cta h2{font-size:40px}.project-cta p{font-size:17px}.footer-grid{gap:40px 65px}
 .info-card .check-list{font-size:16px}.info-card h3{font-size:23px}.service-tab{font-size:15px}.service-panel h2{font-size:37px}.service-detail aside>a:not(.button){font-size:14px}
 .contact-aside h2{font-size:34px}.contact-aside p{font-size:17px}.page-hero h1{font-size:57px}.page-hero p{font-size:20px}
 .solution-visual.site-photo{align-self:start}.solution-visual.site-photo img{max-height:520px}
}
@media(max-width:620px){
 body{font-size:17px}.wrap{width:calc(100% - 40px)}.utility .wrap>span{display:block;font-size:9px}.utility .wrap{min-height:28px;justify-content:center}.nav-wrap{min-height:76px;gap:12px}.brand{width:158px}.nav-cta{font-size:10px;padding:10px 12px;min-height:40px;gap:8px}.menu-toggle{width:38px;min-height:42px}.nav-links{top:76px;left:-20px;right:-20px;padding-inline:20px;max-height:calc(100dvh - 76px)}
 .button{font-size:12px;min-height:51px;padding:15px 21px}.eyebrow{font-size:10px;letter-spacing:.13em;margin-bottom:21px}.eyebrow:before{width:23px}
 .corporate-hero{height:calc(100svh - 104px);min-height:710px;max-height:900px}.hero-image{object-position:62% center}.hero-inner{padding-top:12px;padding-bottom:170px}.hero-content{max-width:520px}.corporate-hero h1{font-size:clamp(41px,10.5vw,62px);line-height:1.1;letter-spacing:-.045em;margin-bottom:25px}.corporate-hero h1 br{display:block}.corporate-hero h1 span{display:block;margin-top:6px}.corporate-hero .eyebrow{font-size:9px;max-width:315px;line-height:1.8;letter-spacing:.1em;margin-bottom:24px}.corporate-hero p{font-size:17px;line-height:1.6;max-width:425px;margin-bottom:27px}.corporate-hero .actions{gap:12px;flex-direction:column;align-items:flex-start}.corporate-hero .button{font-size:12px;min-height:49px;padding:14px 19px;gap:22px}.hero-bottom{bottom:25px;padding-top:22px}.hero-bottom small{font-size:9px;margin-bottom:9px}.hero-bottom strong{font-size:15px;line-height:1.45;max-width:350px}
 .industry-strip .wrap{padding-block:26px;gap:17px 23px}.industry-strip span{font-size:10px;width:100%;max-width:none}.industry-strip strong{font-size:13px}
 .section{padding:66px 0}.section-head{margin-bottom:32px;display:block}.section-head h2{font-size:clamp(34px,8.7vw,44px);line-height:1.14;margin-bottom:21px}.section-head>p{font-size:17px;max-width:none}.about-grid{gap:38px}.about-image{padding-right:22px;padding-bottom:42px}.about-image img{height:390px}.about-image-label{padding:24px;min-width:280px;font-size:14px}.about-image-label strong{font-size:17px}.about-copy h2{font-size:clamp(36px,9.2vw,46px);line-height:1.13}.about-copy>p{font-size:17px}.about-copy>p.lead{font-size:21px}.about-facts{margin-top:30px;padding-top:25px;gap:18px}.about-facts strong{font-size:12px}.about-facts span{font-size:13px}
 .expertise-card{display:flex}.expertise-visual{height:235px;min-height:0}.expertise-copy{padding:31px 27px}.expertise-card h3{font-size:29px;line-height:1.18;min-height:0}.expertise-card p{font-size:17px}.expertise-card ul{font-size:15px}.service-verb{font-size:10px}.card-index{padding:12px 18px;font-size:13px}.card-link{font-size:12px;padding-top:21px}
 .solution-tabs{display:flex;overflow-x:auto;gap:27px;margin-bottom:26px;padding-bottom:0}.solution-tab{font-size:13px;padding:17px 0 20px;gap:9px;flex:0 0 auto}.solution-tab span{font-size:10px}.solution-panel{grid-template-columns:1fr;gap:30px;min-height:0}.solution-copy{padding:4px 0}.solution-copy h3{font-size:33px;line-height:1.16}.solution-copy>p{font-size:17px}.solution-copy .check-list{font-size:16px}.solution-copy .eyebrow{font-size:10px}.solution-visual{height:330px;min-height:0}.solution-image-caption{font-size:12px;padding:18px 22px}
 .solution-visual.site-photo{height:auto;min-height:0;padding-bottom:70px}.solution-visual.site-photo img{width:auto;height:auto;max-width:100%;max-height:560px}
 .delivery-intro{max-width:none}.delivery-intro p{font-size:17px}.delivery-stages{grid-template-columns:1fr 1fr;gap:35px 22px}.delivery-stages span{font-size:37px;margin-bottom:19px}.delivery-stages h3{font-size:22px}.delivery-stages p{font-size:16px;line-height:1.6}
 .portfolio-section .project-card{display:block}.portfolio-section .project-top{flex-direction:row;padding:23px 27px;gap:20px;align-items:center}.project-number{font-size:22px}.project-body{padding:27px}.portfolio-section .project-card h3,.project-card h3{font-size:28px;min-height:0}.project-card p{font-size:17px}.project-client strong{font-size:15px}.project-card summary{font-size:13px}.section-bottom{margin-top:30px}
 .hse-home{padding:68px 0}.hse-home .wrap{gap:33px}.hse-home h2{font-size:clamp(32px,8.1vw,42px);line-height:1.2}.hse-home p{font-size:17px}.hse-points{display:block}.hse-points>div{padding:24px 0 24px 44px;border-top:1px solid #fff3}.hse-points span{top:26px;font-size:12px}.hse-points strong{font-size:19px}.hse-points p{font-size:16px}
 .partner-strip .wrap{padding-block:32px}.partner-mini{gap:25px}.partner-mini span{font-size:13px}.partner-mini small{font-size:12px}.partner-strip .text-link{font-size:12px;max-width:135px;margin-top:25px}
 .enquiry-entry .wrap{grid-template-columns:1fr;gap:33px}.enquiry-entry h2{font-size:38px}.enquiry-entry p{font-size:17px;max-width:none}.enquiry-paths a{padding:24px 0;gap:17px}.enquiry-paths h3{font-size:22px}.enquiry-paths p{font-size:16px}.enquiry-paths a>span:last-child{font-size:23px}
 .project-cta{padding:58px 0}.project-cta h2{font-size:36px;line-height:1.15}.project-cta .wrap{gap:25px}.project-cta p{font-size:17px}.footer{padding-top:58px}.footer .brand{width:190px}.footer-grid{gap:38px 22px}.footer h3{font-size:11px}.footer p,.footer-grid>div>a:not(.brand){font-size:14px;line-height:1.55}.footer-focus{font-size:11px}.footer-bottom{font-size:11px;gap:13px 25px}
 .page-hero{padding:29px 0 51px}.page-hero h1{font-size:clamp(36px,9.3vw,46px);line-height:1.16;margin-bottom:25px}.page-hero p{font-size:18px;line-height:1.55}.page-hero .eyebrow{font-size:10px}.breadcrumb{font-size:12px;margin-bottom:32px;gap:10px}.page-hero.with-image{min-height:440px;padding-bottom:52px}.page-hero-image{object-position:64% center}
 .split-content h2{font-size:34px}.split-content p{font-size:17px}.split-content p.lead{font-size:21px}.photo-caption{font-size:12px}.mission-grid h3{font-size:29px}.mission-grid p{font-size:17px}.values-row{font-size:13px;gap:18px 24px}.pill{font-size:12px}
 .why-grid h3{font-size:29px}.why-grid p{font-size:17px}.delivery-flow h3{font-size:21px}.delivery-flow p{font-size:16px}.service-summary h2{font-size:34px}.service-summary p{font-size:17px}.service-tab{font-size:13px;padding:18px 12px;gap:8px;line-height:1.45}.service-tab span{font-size:10px}.service-panel h2{font-size:32px}.service-panel .lead{font-size:19px}.detail-box h3,.detail-box h2{font-size:24px}.detail-box .check-list{font-size:16px}.check-list{font-size:16px}.note{font-size:14px;line-height:1.6;padding:18px}.capability-links h3{font-size:27px}.capability-links p{font-size:17px}.capability-links b{font-size:12px}.service-detail aside>a:not(.button){font-size:15px}.service-detail>div>p{font-size:17px}.info-card h3{font-size:26px}.info-card .check-list{font-size:16px}.product-grid{grid-template-columns:1fr;gap:19px}.product-grid article{padding:27px}.product-image{height:180px}.product-image img{width:150px;height:150px}.product-grid h3{font-size:25px}.product-grid p{font-size:17px}.product-grid .text-link{font-size:12px}
 .quality-statement h3{font-size:29px}.quality-statement p{font-size:17px}.quality-grid{grid-template-columns:1fr;gap:28px}.quality-grid h3{font-size:25px}.quality-grid p{font-size:17px}.partner-card h3{font-size:27px}.partner-card p{font-size:17px}.partner-card .text-link{font-size:12px}.portfolio-controls button{font-size:13px;padding:10px 15px}.portfolio-count{font-size:13px}.contact-item a,.contact-item strong{font-size:25px}.contact-item p{font-size:17px}.contact-aside h2{font-size:33px}.contact-aside p{font-size:17px}.contact-aside .check-list{font-size:16px}.installation-statement{padding:34px}.installation-statement h3{font-size:49px}.installation-statement p{font-size:17px}
 .wizard{padding:28px 20px}.wizard h2{font-size:27px}.wizard p{font-size:16px}.steps{font-size:11px;gap:12px}.steps b{width:23px;height:23px}.field label,.field legend{font-size:15px}.field small{font-size:13px}.field input,.field select,.field textarea{font-size:16px;min-height:49px}.radio-grid{grid-template-columns:1fr}.radio-option{font-size:16px;padding:17px}.radio-option small{font-size:14px}.consent{font-size:14px}.form-actions .button{font-size:12px;min-height:48px}.micro,.status-message{font-size:13px}.enquiry-summary{font-size:15px;padding:18px}.prose p,.prose li{font-size:17px}
}
@media(max-width:360px){
 .wrap{width:calc(100% - 32px)}.brand{width:137px}.nav-wrap{gap:9px}.nav-cta{padding-inline:9px}.nav-links{left:-16px;right:-16px;padding-inline:16px}.corporate-hero h1{font-size:34px}.corporate-hero{min-height:715px}.corporate-hero .eyebrow{font-size:8px}.about-image-label{min-width:260px;font-size:13px;padding:22px}.about-image-label strong{font-size:16px}.delivery-stages{grid-template-columns:1fr}.steps{font-size:10px;gap:9px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Company photographs are visible editorial figures, with no crop or text overlay. */
.kroft-site-figure{display:block;min-width:0;width:100%;margin:0;background:var(--navy);border-bottom:4px solid var(--green)}
.kroft-site-figure img{position:static;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.kroft-site-figure figcaption{padding:24px 28px}
.kroft-site-figure figcaption>span{display:block;font-family:Manrope,Arial,sans-serif;font-weight:600;font-size:14px;line-height:1.5;color:#fff;margin-bottom:6px}
.kroft-site-figure figcaption>p{color:#c1d4d9;font-size:16px;line-height:1.5;margin:0}
.about-site-figure{max-width:460px;margin-left:auto}
.info-card[id]{scroll-margin-top:125px}
@media(max-width:900px){.home-site-figure{max-width:620px;margin-inline:auto}}
@media(max-width:620px){
 .kroft-site-figure figcaption{padding:21px 23px}
 .kroft-site-figure figcaption>span{font-size:13px}
 .kroft-site-figure figcaption>p{font-size:15px}
 .about-site-figure{margin-inline:auto}
}

/* Equal logo groups make the right-to-left loop continuous at its seam. */
.partner-showcase{--logo-width:208px;--logo-gap:24px;background:var(--pale);padding:56px 0 62px;border-bottom:1px solid var(--line)}
.partner-showcase-head{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:30px}
.partner-showcase .eyebrow{margin-bottom:13px}
.partner-showcase h2{font-size:34px;line-height:1.2;margin:0}
.partner-showcase-controls{display:flex;align-items:center;gap:26px}
.marquee-control{font-family:Manrope,Arial,sans-serif;font-size:12px;line-height:1.4;font-weight:600;min-height:44px;min-width:126px;padding:12px 18px;border:1px solid #bdccc4;background:transparent;color:var(--ink)}
.marquee-control:hover,.marquee-control[aria-pressed=true]{background:white;border-color:var(--green);color:var(--green)}
.partner-marquee{overflow-x:auto;scrollbar-width:thin;padding:3px 0 8px;max-width:100%}
.partner-track{display:flex;width:max-content}
.partner-row{display:flex;flex:none;align-items:center;gap:var(--logo-gap);list-style:none;margin:0;padding:0 var(--logo-gap) 0 0}
.partner-row[aria-hidden=true]{display:none}
.partner-logo-item{display:grid;place-items:center;flex:none;width:var(--logo-width);height:118px;padding:20px;background:#fff;border:1px solid var(--line)}
.partner-logo-item .marquee-logo{width:auto;height:auto;max-width:min(180px,100%);max-height:78px;object-fit:contain}
.partner-logo-item .marquee-logo.compact{max-width:105px;max-height:84px}
.partner-showcase[data-animated=true] .partner-marquee{overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent)}
.partner-showcase[data-animated=true] .partner-track{animation:partner-drift 60s linear infinite}
.partner-showcase[data-animated=true] .partner-row[aria-hidden=true]{display:flex}
.partner-showcase[data-paused=true] .partner-track,.partner-marquee:hover .partner-track,.partner-marquee:focus .partner-track{animation-play-state:paused}
@keyframes partner-drift{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.partner-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.partner-directory-card{min-width:0;padding:30px;background:white;border:1px solid var(--line);display:flex;flex-direction:column}
.directory-partner-logo{height:150px;display:grid;place-items:center;border-bottom:1px solid var(--line);padding:8px 8px 28px}
.directory-partner-logo .directory-logo{width:auto;height:auto;max-width:235px;max-height:105px;object-fit:contain}
.directory-partner-logo .directory-logo.compact{max-width:130px;max-height:112px}
.partner-directory-card h3{font-size:23px;line-height:1.35;margin:24px 0 14px}
.partner-directory-card p{font-size:17px;line-height:1.6;margin:0;padding-top:0}
@media(max-width:900px){
 .partner-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
 .partner-directory-card{padding:25px}
 .directory-partner-logo .directory-logo{max-width:210px}
}
@media(max-width:620px){
 .partner-showcase{--logo-width:174px;--logo-gap:16px;padding:38px 0 42px}
 .partner-showcase-head{display:block;margin-bottom:23px}
 .partner-showcase h2{font-size:29px}
 .partner-showcase-controls{justify-content:space-between;gap:15px;margin-top:24px}
 .partner-showcase-controls .text-link{font-size:12px;gap:10px}
 .marquee-control{font-size:11px;padding-inline:13px;min-width:114px}
 .partner-logo-item{height:108px;padding:15px}
 .partner-logo-item .marquee-logo{max-width:140px;max-height:73px}
 .partner-logo-item .marquee-logo.compact{max-width:89px;max-height:77px}
 .partner-directory-grid{grid-template-columns:1fr;gap:20px}
 .partner-directory-card{padding:26px}
 .directory-partner-logo{height:140px}
 .directory-partner-logo .directory-logo{max-width:230px}
 .partner-directory-card h3{font-size:23px;margin-top:23px}
 .partner-directory-card p{font-size:17px}
}
@media(prefers-reduced-motion:reduce){
 .partner-showcase[data-animated=true] .partner-track{animation:none;transform:none}
 .partner-showcase[data-animated=true] .partner-row[aria-hidden=true]{display:none}
 .partner-showcase[data-animated=true] .partner-marquee{overflow-x:auto;mask-image:none;-webkit-mask-image:none}
 .marquee-control{display:none}
}
