@font-face{font-family:Outfit;font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/outfit-400.ttf') format('truetype')}
@font-face{font-family:Outfit;font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/outfit-500.ttf') format('truetype')}
@font-face{font-family:Outfit;font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/outfit-600.ttf') format('truetype')}
:root{--sans:Outfit,'Segoe UI',Arial,sans-serif;--serif:var(--sans)}
body{font-family:var(--sans);font-size:16px;line-height:1.65}
h1,h2,h3{font-family:var(--sans);font-weight:500;overflow-wrap:normal}
h1,.hero h1,.subhero h1,.text-hero h1,.contact-intro h1{font-size:clamp(32px,3vw,42px);line-height:1.16;letter-spacing:-.8px}
h2,.approach h2,.contact-band h2,.service-detail h2,dialog h2,.contact-form h2{font-size:clamp(26px,2.25vw,32px);line-height:1.25;letter-spacing:-.5px}
h3,.property-title h3,.solution-copy h3,.steps h3,.calculator-input h3,.journey-grid h3,.feature-links h3,.reading-copy h3{font-size:26px;line-height:1.3;letter-spacing:-.35px}
.service-detail h3{font-size:20px;line-height:1.5}
.hero-description,.subhero-description,.text-hero>p:not(.eyebrow),.contact-intro>p:not(.eyebrow){font-size:17px;line-height:1.75;max-width:540px}
.section-heading>p,.reading-copy,.property-card>p:last-child,.solution-copy p,.approach-intro>p:not(.eyebrow),.steps p,.journey-grid p,.feature-links p,.preparation p:not(.eyebrow),.faq>div>p:not(.eyebrow),.questions p,.service-detail>p,.contact-form .dialog-intro,.contact-form #enquiry-success>p:not(.eyebrow),dialog p:not(.eyebrow){font-size:16px;line-height:1.75}
.section-heading>p{max-width:410px}
.solution-copy p{max-width:440px}
.eyebrow,.mini-label,.hero .eyebrow,.section .eyebrow,.subhero .eyebrow,.text-hero .eyebrow,.contact-intro>.eyebrow,.contact-form .eyebrow,dialog .eyebrow,.contact-band .eyebrow,.contact-next .eyebrow,.property-card .eyebrow,.detail-heading .mini-label,.service-scope>p{font-size:12px;font-weight:500;line-height:1.7;letter-spacing:1.15px;white-space:normal}
.hero-footnote,.expertise-strip>span:first-child,.stage-number{font-size:12px;line-height:1.7;letter-spacing:1px}
.expertise-strip p{font-size:15px;line-height:1.7}
.expertise-strip{flex-wrap:wrap}
.expertise-strip b{margin:0 14px}
.header nav{gap:20px}
.header nav>a,.nav-solutions>summary,.solutions-menu a{font-size:15px}
.button,.button.small,.hero-actions .button,.subhero .button,.contact-band .button,.service-detail .button,form .button,.contact-form #enquiry-success .button{font-size:15px;font-weight:500;line-height:1.5;gap:20px}
.button.small{padding:14px 18px;gap:16px}
.text-link,.hero-actions .text-link,.solution-copy .text-link,.home-company .text-link{font-size:15px;line-height:1.5}
.solution-tabs button,.questions summary{font-size:16px;line-height:1.6}
.solution-copy ul,.checklist,.preparation .checklist,.service-detail .checklist{font-size:15px;line-height:1.8}
.solution-copy li{padding:5px 0}
.service-scope>div>span,.steps article>span:first-child{font-size:12px}
.service-scope strong{font-size:14px;line-height:1.5}
.calculator-input label{font-size:16px;line-height:1.5;flex-wrap:wrap}
.calculator-note,.range-labels,.calculator-result small,.service-detail .service-note,.fine-print{font-size:13px!important;line-height:1.7}
.calculator-result>p:not(.capacity){font-size:16px}
.capacity{font-family:var(--sans);font-size:56px;font-weight:500;letter-spacing:-1.5px}
.capacity>span+span{font-size:22px;letter-spacing:0}
.company-lead,.company-details dt,.company-details dd,.sector-tags span,.service-navigation>a,.table-hint,table,.comparison-section table{font-size:15px;line-height:1.7}
.breadcrumbs,caption,.service-navigation>a>span:first-child,.feature-links>a>span{font-size:13px;line-height:1.6}
.contact-details address{font-size:16px;font-weight:400;line-height:1.8}
.contact-details a.map-link{font-size:14px}
form label{font-size:14px;line-height:1.6}
input:not([type=range],[type=checkbox]),select,textarea{font-size:16px;line-height:1.5}
.consent{font-size:13px;font-weight:400;line-height:1.65}
form .form-note{font-size:13px!important;line-height:1.7}
.footer-link{font-size:14px;line-height:1.5}
.multipage-footer .footer-tagline,.multipage-footer nav a,.multipage-footer address,.multipage-footer address>span,.multipage-footer .footer-contact,.multipage-footer .footer-bottom{font-size:13px;line-height:1.8}
footer address::first-line{font-weight:400}
.multipage-footer .footer-top{grid-template-columns:1.05fr 1.1fr 1.1fr 1fr;gap:28px}
.viewer-controls span{font-size:14px}
.hero{min-height:560px}
.hero-content{padding-top:55px;padding-bottom:40px}
.subhero{min-height:470px}
.section-heading{align-items:flex-end}
@media(max-width:1100px){.header nav{gap:14px}.header nav>a,.nav-solutions>summary{font-size:14px}.button.small{font-size:14px;padding:13px 15px;gap:12px}.hero-content{padding-top:45px}.multipage-footer .footer-top{grid-template-columns:1fr 1fr;gap:30px}}
@media(max-width:980px){.header nav{gap:0}.header nav>a,.nav-solutions>summary,.solutions-menu a,.header nav .button{font-size:16px}.subhero-content{padding-right:25px}.contact-intro>p:not(.eyebrow){max-width:640px}}
@media(max-width:760px){.hero{min-height:0}.hero-content{padding:36px 7% 30px}.hero .eyebrow{font-size:12px;letter-spacing:1px}.hero-description,.subhero-description,.text-hero>p:not(.eyebrow),.contact-intro>p:not(.eyebrow){font-size:16px}.hero-footnote{font-size:12px;letter-spacing:.8px}.expertise-strip p{font-size:14px}.expertise-strip b{margin:0 6px}.section-heading>p{max-width:none}.property-title h3,.solution-copy h3,.steps h3,.calculator-input h3,.journey-grid h3,.feature-links h3{font-size:24px}.detail-heading .mini-label{font-size:12px}.contact-band .eyebrow{max-width:none}.subhero{min-height:0}.subhero-content{padding-right:7%}.contact-form{padding:27px 20px}.contact-form .button{padding:15px;gap:12px}.multipage-footer .footer-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:25px 18px}.multipage-footer .footer-contact{font-size:12px;overflow-wrap:anywhere}.company-details dl>div{grid-template-columns:1fr;gap:7px}.solution-copy ul{font-size:15px}.contact-band .button{max-width:100%}.capacity{font-size:52px}}
