/* Readable type, tighter section rhythm, and the original wordmark in a horizontal lockup. */
.wrap{width:min(1400px,calc(100% - 72px))}
body{font-size:17px}
.topline{font-size:13px}.topline .wrap{min-height:38px}
.header-inner{min-height:86px;gap:25px}
.brand{width:auto;display:inline-flex;align-items:center;gap:16px;flex-shrink:0}
.logo-wordmark{position:relative;display:inline-block;width:130px;height:37px;overflow:hidden;flex-shrink:0}
.logo-wordmark img{position:absolute;width:232px;max-width:none;height:auto;left:-51px;top:-9.7px;mix-blend-mode:multiply}
.logo-descriptor{font-size:15px;font-weight:600;letter-spacing:.12em;color:var(--teal);white-space:nowrap;padding:10px 0}
.header nav{font-size:15px;gap:24px}.nav-contact{padding:13px 16px;gap:18px}
.hero-grid{min-height:570px;padding-top:44px;padding-bottom:44px;gap:38px;grid-template-columns:1.05fr 1fr}
h1{font-size:clamp(48px,4.35vw,68px);margin-bottom:23px}.desktop-break{display:none}
.eyebrow{font-size:13px;letter-spacing:.1em;margin-bottom:18px}
.hero .eyebrow{font-size:12px;letter-spacing:.08em}
.hero-description{font-size:19px;line-height:1.65;max-width:580px;margin-bottom:26px}
.button{font-size:16px;padding:16px 21px}.text-link{font-size:16px;gap:16px}
.actions{gap:24px}.hero-location{font-size:13px;margin-top:26px}
.hero-visual{min-height:430px}.visual-kicker{font-size:11px;letter-spacing:.1em}.visual-bottom{font-size:12px}
.node-code{font-size:10px;letter-spacing:.03em;margin-bottom:6px}.system-node strong{font-size:13px}.system-node{gap:10px;padding:15px 13px}.software{top:7%}.security{left:3%;bottom:19%}.infrastructure{right:3%;bottom:19%}
.core{background:#fff;border-color:#a7d1d2;height:112px;width:176px;gap:15px}
.core .core-mark{padding:0;transform:scale(.85);margin:-3px 0 -5px}.core>span:last-child{color:var(--teal);font-size:8px;font-weight:600;letter-spacing:.08em}
.capability-strip .wrap{min-height:62px}.capability-strip span{font-size:12px;letter-spacing:.05em}
.section{padding:68px 0}.section-intro{gap:45px;margin-bottom:34px;align-items:center}.section-intro>p{font-size:17px;line-height:1.65;max-width:470px}
h2{font-size:clamp(36px,3.2vw,48px)}
.service{padding:28px}.service-top{margin-bottom:20px}.service-top>span:last-child{font-size:13px}
.service h3{font-size:27px;line-height:1.2;margin-bottom:15px}.service p{font-size:16px;line-height:1.65;margin-bottom:18px}
.service ul{margin-bottom:21px}.service li{font-size:14px;padding:7px 0;line-height:1.5}.service>a{font-size:14px;line-height:1.5;gap:12px}
.solution-layout{gap:34px;grid-template-columns:.82fr 1.25fr}.solution-tabs button{font-size:17px;padding:23px 19px;line-height:1.45}
.sector-panel{padding:30px 34px;min-height:360px}.sector-head{font-size:12px;letter-spacing:.06em;margin-bottom:20px}.sector-panel h3{font-size:35px}.sector-panel>p{font-size:17px;line-height:1.65;max-width:620px}.sector-panel li{font-size:15px;line-height:1.5}.sector-panel .text-link{font-size:15px}
.steps article{padding:24px 25px 0 0}.steps article+article{padding-left:18px}.steps article>span{font-size:15px;margin-bottom:18px}.steps h3{font-size:27px}.steps p{font-size:16px;line-height:1.65}
.about{background:#eef5f5;color:var(--navy);padding:62px 0}.about-grid{gap:50px;grid-template-columns:.88fr 1.2fr}.about-label{border-color:#cbdcde}.about .eyebrow{color:var(--teal)}.about-brand{margin:38px 0 25px;gap:17px;max-width:100%}.about-brand .logo-descriptor{font-size:16px}.about-label>p:last-child{color:var(--muted);font-size:20px;line-height:1.6}.about-copy h2{font-size:40px;margin-bottom:21px}.about-copy p{color:var(--muted);font-size:17px;line-height:1.65}.about-copy .text-link{color:var(--teal)}
.contact-grid{gap:55px;grid-template-columns:.95fr 1.1fr}.contact h2{font-size:48px}.contact-lead{font-size:18px;line-height:1.65;max-width:470px}.contact-details{margin-top:25px;max-width:470px}.contact-details>a,.contact-details>div{font-size:17px;padding:16px 0}.contact-details span{font-size:12px;letter-spacing:.08em}
.enquiry{padding:30px}.enquiry h3{font-size:27px}.enquiry>p{font-size:15px;margin-bottom:22px}.enquiry label{font-size:14px;margin-bottom:17px}.optional{font-size:12px}.enquiry input,.enquiry select,.enquiry textarea{font-size:16px;padding:11px 12px}.enquiry .button{font-size:14px}.email-button{font-size:14px}.enquiry .form-note{font-size:12px;line-height:1.6}.form-status{font-size:14px}
.footer-main{padding-top:28px;padding-bottom:28px;gap:36px}.footer-main .brand{width:auto}.footer-main p{font-size:14px;line-height:1.6}.footer-main>a:last-child{font-size:14px}.footer-bottom{font-size:12px;padding:17px 0}
@media(min-width:1500px){.hero-grid{min-height:580px}.hero-visual{min-height:450px}}
@media(max-width:1200px){.header nav{gap:17px;font-size:13px}.header .brand{gap:12px}.header .logo-descriptor{font-size:12px}.header .logo-wordmark{width:114px;height:32px}.header .logo-wordmark img{width:204px;left:-45px;top:-8.7px}.hero-description{font-size:18px}.hero .button{font-size:15px}.hero .text-link{font-size:14px}.hero-grid{gap:28px}.system-node strong{font-size:11px}.node-code{font-size:8px}.service{padding:24px}.solution-tabs button{font-size:16px}.contact-grid{gap:35px}}
@media(max-width:1000px){.header nav{gap:12px;font-size:12px}.header .logo-descriptor{font-size:11px;letter-spacing:.07em}.header-inner{gap:16px}.nav-contact{gap:9px;padding:12px}.about-grid{grid-template-columns:.8fr 1.2fr;gap:32px}.about-brand{gap:12px}.about-brand .logo-descriptor{font-size:12px}.section-intro>p{max-width:380px}.hero .eyebrow{font-size:10px}.hero-visual{min-height:415px}}
@media(max-width:850px){.wrap{width:calc(100% - 48px)}.header-inner{min-height:78px}.header .logo-descriptor{font-size:14px}.header .logo-wordmark{width:130px;height:37px}.header .logo-wordmark img{width:232px;left:-51px;top:-9.7px}.header nav a{font-size:16px}.menu-toggle{font-size:15px}.hero-grid{grid-template-columns:1fr;padding:38px 0;gap:30px;min-height:0}.hero-copy{max-width:none}h1{font-size:58px}.hero-description{max-width:690px}.hero .eyebrow{font-size:12px}.hero-visual{max-width:650px;min-height:410px}.node-code{font-size:10px}.system-node strong{font-size:13px}.security{left:8%}.infrastructure{right:8%}.hero .button{font-size:16px}.hero .text-link{font-size:16px}.capability-strip span{font-size:11px}.capability-strip .wrap{gap:15px 20px;padding:20px 0}.section{padding:52px 0}.section-intro{gap:30px}.section-intro>p{font-size:16px;max-width:320px}.service-grid{grid-template-columns:repeat(2,1fr)}.solution-layout{grid-template-columns:1fr;gap:22px}.solution-tabs{grid-template-columns:1fr 1fr}.solution-tabs button{font-size:16px;padding:18px 15px}.sector-panel{min-height:0}.steps article+article{padding-left:0}.about-grid{grid-template-columns:1fr;gap:28px}.about-label{border-right:0;border-bottom:1px solid #cbdcde;padding-bottom:25px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px}.about-label .eyebrow{width:100%;margin-bottom:0}.about-brand{margin:10px 0;gap:16px}.about-brand .logo-descriptor{font-size:15px}.about-label>p:last-child{font-size:17px;margin:0}.contact-grid{grid-template-columns:1fr;gap:25px}.contact-details{max-width:none}.contact-lead{max-width:600px}.footer-main{flex-wrap:wrap;gap:25px}.footer-main .logo-descriptor{font-size:13px}.footer-main p{font-size:13px}.footer-main>a:last-child{margin-left:0}}
@media(max-width:560px){.wrap{width:calc(100% - 32px)}.topline .wrap{font-size:10px;min-height:32px}.topline a span{font-size:10px}.header-inner{min-height:74px;gap:12px}.header .brand{gap:10px}.header .logo-wordmark{width:94px;height:27px}.header .logo-wordmark img{width:168px;left:-37px;top:-7px}.header .logo-descriptor{font-size:10px;letter-spacing:.075em}.menu-toggle{padding:9px;font-size:13px;gap:7px}.hero .eyebrow{font-size:10px;letter-spacing:.04em}h1{font-size:45px}.hero-description{font-size:18px;line-height:1.6}.hero .actions{gap:20px}.hero-location{font-size:12px;line-height:1.6}.hero-visual{min-height:355px}.visual-kicker{font-size:9px}.visual-bottom{font-size:10px}.system-node{padding:10px 8px;gap:6px}.node-code{font-size:7px}.system-node strong{font-size:9px}.security{left:2%}.infrastructure{right:2%}.core{width:138px;height:92px;gap:8px}.core .core-mark{transform:scale(.7);margin:-6px 0}.core>span:last-child{font-size:6px}.capability-strip span{font-size:10px;letter-spacing:0}.capability-strip .wrap{gap:16px 12px}.section{padding:42px 0}.eyebrow{font-size:12px;margin-bottom:15px}h2{font-size:35px}.section-intro{display:block;margin-bottom:25px}.section-intro>p{font-size:17px;margin-top:19px;max-width:none}.service-grid{grid-template-columns:1fr}.service{padding:23px}.service h3{font-size:27px}.service p{font-size:17px}.service li{font-size:15px}.service>a{font-size:15px}.solution-tabs{grid-template-columns:1fr}.solution-tabs button{font-size:16px}.sector-panel{padding:25px 22px}.sector-panel h3{font-size:31px}.sector-head{font-size:10px}.sector-panel>p{font-size:17px}.sector-panel li{font-size:15px}.sector-panel .text-link{font-size:15px}.steps{gap:24px 20px}.steps h3{font-size:23px}.steps p{font-size:16px}.steps article{padding-top:21px}.about{padding:42px 0}.about-label{display:block}.about-brand{display:inline-flex;margin:25px 0 20px}.about-brand .logo-descriptor{font-size:13px}.about-label>p:last-child{font-size:18px}.about-copy h2{font-size:35px}.about-copy p{font-size:17px}.contact h2{font-size:42px}.contact-lead{font-size:18px}.contact-details>a,.contact-details>div{font-size:17px;overflow-wrap:anywhere}.enquiry{padding:25px 20px}.enquiry h3{font-size:26px}.enquiry label{font-size:14px}.enquiry .form-note{font-size:12px}.enquiry .button{font-size:14px}.email-button{font-size:14px}.footer-main .logo-wordmark{width:114px;height:32px}.footer-main .logo-wordmark img{width:204px;left:-45px;top:-8.7px}.footer-main .logo-descriptor{font-size:12px}.footer-main p{font-size:14px}.footer-bottom{font-size:11px;flex-wrap:wrap;gap:8px}}
@media(min-width:851px) and (max-width:1000px){.menu-toggle{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:white;padding:11px 14px;font-size:15px}.header nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;border-bottom:1px solid var(--line);padding:20px 32px;box-shadow:0 12px 20px #0001;align-items:stretch;gap:0}.header nav.open{display:flex;flex-direction:column}.header nav a{padding:15px;font-size:16px}.nav-contact{margin-top:10px;justify-content:space-between}.header .logo-descriptor{font-size:14px}}
