/* Heavy, broad headings inspired by the supplied Elk reference. */
:root{--heading-heavy:'Arial Black','Arial Bold',Manrope,Arial,sans-serif}
body h1,body h2,body h3,body.service-page h1,body.service-page h2,body.service-page h3{font-family:var(--heading-heavy);font-weight:900;font-style:normal;text-transform:none;letter-spacing:-.8px;line-height:1.2}
body h1,body h2,body h3{overflow-wrap:normal}
body:not(.service-page) h2{font-size:clamp(30px,3.2vw,44px)}
body:not(.service-page) .hero h1{font-family:var(--heading-heavy);font-size:clamp(44px,5.1vw,74px);line-height:1.12;letter-spacing:-1.8px;text-transform:none}
body:not(.service-page) .hero-text{max-width:760px}
body:not(.service-page) .shortcut-card h3{font-size:25px;line-height:1.25}
body:not(.service-page) .article-body h3{font-size:21px;line-height:1.4}
body.service-page .service-banner h1{font-size:36px;line-height:1.25;max-width:1060px}
body.service-page .service-article>h2:first-child{font-size:27px;line-height:1.35}
body.service-page .service-article>section>h2,body.service-page .service-article>h2:not(:first-child){font-size:21px;line-height:1.4}
body.service-page .service-sidebar h2{font-size:20px}
body.service-page .sidebar-contact h3{font-size:22px}
body.about-page h1{font-size:46px;line-height:1.18}
body.about-page h2{font-size:34px;line-height:1.25}
body.about-page .about-contact h2{font-size:28px}
body .enquiry-copy h2{font-size:clamp(32px,3.8vw,50px)}
body .enquiry-form h3{font-size:22px}
body header #navigation>a,body header #services-toggle{font-weight:700}
body .button,body summary,body .eyebrow,body .about-eyebrow{font-weight:700}
body .footer-columns h3{font-size:17px;letter-spacing:-.3px}
@media(max-width:700px){body:not(.service-page) .hero h1{font-size:clamp(34px,8.9vw,54px);letter-spacing:-1px}body:not(.service-page) h2{font-size:32px}body:not(.service-page) .shortcut-card h3{font-size:21px}body.service-page .service-banner h1{font-size:27px;letter-spacing:-.7px}body.service-page .service-article>h2:first-child{font-size:24px}body.about-page h1{font-size:35px}body.about-page h2{font-size:28px}body.about-page .about-contact h2{font-size:26px}body .enquiry-copy h2{font-size:34px}body .enquiry-form h3{font-size:20px}}
/* Locally hosted rounded typography, closer to the supplied reference. */
@font-face{font-family:Poppins;src:url("../fonts/poppins-400.ttf") format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Poppins;src:url("../fonts/poppins-600.ttf") format('truetype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Poppins;src:url("../fonts/poppins-800.ttf") format('truetype');font-weight:800 900;font-style:normal;font-display:swap}
:root{--heading-heavy:Poppins,Manrope,Arial,sans-serif;--body:Poppins,Arial,sans-serif}
body{font-family:Poppins,Arial,sans-serif}body h1,body h2,body h3,body.service-page h1,body.service-page h2,body.service-page h3{font-family:Poppins,Arial,sans-serif;font-weight:800;letter-spacing:-.7px}body:not(.service-page) .hero h1{font-family:Poppins,Arial,sans-serif;font-weight:800}body header #navigation>a,body header #services-toggle{font-family:Poppins,Arial,sans-serif;font-weight:600}body .button,body summary{font-weight:600}
body.about-page .about-intro{max-width:1100px;gap:85px;padding-block:90px 95px}body.about-page h1{font-size:38px;line-height:1.2}body.about-page h2{font-size:32px;line-height:1.28}body.about-page p{font-size:13px;line-height:1.8}body.about-page .about-faq{max-width:1100px;grid-template-columns:.9fr 1.1fr;gap:80px;padding-block:80px 25px;align-items:start}body.about-page .about-faq h2{font-size:32px;line-height:1.28;max-width:330px}body.about-page .about-eyebrow{font-size:10px;letter-spacing:1.1px}body.about-page .about-questions{margin-top:42px}body.about-page .about-questions details{border:0;padding:16px 0}body.about-page .about-questions summary{font-family:Poppins,Arial,sans-serif;font-weight:600;font-size:13px;line-height:1.65;gap:14px;position:relative;padding-right:36px}body.about-page .about-questions summary::after{position:absolute;right:0;top:0;min-width:25px;width:25px;height:25px;font-size:19px;line-height:25px}body.about-page .about-questions details[open] summary{color:#927100}body.about-page .about-questions details p{font-size:12px;line-height:1.7;margin:14px 35px 0 29px;max-width:325px}body.about-page .about-faq figure{min-height:570px;height:570px}body.about-page .about-faq img{object-position:62% center}body.about-page .about-split-copy{padding:70px clamp(35px,6vw,90px)}body.about-page .about-split-copy h2{max-width:410px}body.about-page .about-contact{padding-block:34px}
@media(max-width:1000px){body.about-page .about-intro{gap:45px}body.about-page .about-faq{gap:40px}body.about-page .about-faq figure{height:550px;min-height:550px}}
@media(max-width:700px){body.about-page .about-intro{padding-block:45px;gap:40px}body.about-page h1{font-size:33px}body.about-page h2,body.about-page .about-faq h2{font-size:28px}body.about-page .about-faq{grid-template-columns:1fr;gap:35px;padding-block:45px 25px}body.about-page .about-questions{margin-top:28px}body.about-page .about-faq figure{height:390px;min-height:390px}body.about-page .about-questions details p{max-width:none;margin-right:20px}body.about-page .about-split-copy{padding:40px 25px}body.about-page .about-collage{margin-right:15px}}
/* FAQ proportions matched to the supplied close-up reference. */
body.about-page .about-faq{max-width:1250px;grid-template-columns:1.08fr 1fr;gap:80px;padding-top:90px;padding-bottom:50px}
body.about-page .about-faq h2{font-size:46px;line-height:1.22;font-weight:800;letter-spacing:-.8px;max-width:none;margin:15px 0 0}
body.about-page .about-faq .about-eyebrow{color:#0076bd}
body.about-page .about-questions{margin-top:76px}
body.about-page .about-questions details{border:0;padding:0;margin:0 0 45px}
body.about-page .about-questions summary{display:block;font-size:20px;line-height:1.5;font-weight:800;letter-spacing:0;padding:0 67px 0 0;min-height:42px;position:relative;color:#24282a}
body.about-page .about-questions summary>span{color:#0076bd;display:inline;margin-right:24px;font-weight:600}
body.about-page .about-questions summary::after{content:'+';position:absolute;right:0;top:5px;width:42px;min-width:42px;height:42px;line-height:40px;font-family:Poppins,Arial,sans-serif;font-size:30px;font-weight:400;background:#e3f2fb;color:#0076bd;border-radius:50%}
body.about-page .about-questions details[open] summary{color:#0076bd}
body.about-page .about-questions details[open] summary::after{content:'−';background:#0076bd;color:#fff}
body.about-page .about-questions details p{font-size:17px;line-height:1.6;font-weight:400;color:#252a2c;margin:24px 63px 0 47px;max-width:none}
body.about-page .about-faq figure{height:700px;min-height:700px}
@media(min-width:1500px){body.about-page .about-faq{max-width:1420px;gap:95px}body.about-page .about-faq h2{font-size:50px}body.about-page .about-questions summary{font-size:22px}body.about-page .about-questions details p{font-size:18px}body.about-page .about-questions summary::after{width:46px;min-width:46px;height:46px;line-height:44px}}
@media(max-width:1050px) and (min-width:701px){body.about-page .about-faq{gap:40px;grid-template-columns:1fr 1fr}body.about-page .about-faq h2{font-size:36px}body.about-page .about-questions summary{font-size:17px;padding-right:47px}body.about-page .about-questions summary>span{margin-right:12px}body.about-page .about-questions details p{font-size:15px;margin-left:31px;margin-right:15px}body.about-page .about-questions summary::after{width:34px;min-width:34px;height:34px;line-height:32px;font-size:25px}}
@media(max-width:700px){body.about-page .about-faq{grid-template-columns:1fr;gap:35px;padding-block:45px 30px}body.about-page .about-faq h2{font-size:34px;line-height:1.23}body.about-page .about-questions{margin-top:45px}body.about-page .about-questions summary{font-size:17px;padding-right:46px;font-weight:800}body.about-page .about-questions summary>span{margin-right:13px}body.about-page .about-questions summary::after{width:34px;min-width:34px;height:34px;line-height:32px;font-size:25px}body.about-page .about-questions details{margin-bottom:32px}body.about-page .about-questions details p{font-size:15px;margin:19px 12px 0 32px}body.about-page .about-faq figure{height:420px;min-height:420px}}
/* Carry the approved FAQ scale through the sections above it. */
body.about-page .about-intro{max-width:1250px;grid-template-columns:1.08fr 1fr;gap:80px;padding-block:95px 105px}
body.about-page .about-intro h1{font-size:46px;line-height:1.22;font-weight:800;letter-spacing:-.8px;margin:18px 0 30px}
body.about-page .about-intro-copy>p:not(.about-eyebrow){font-size:17px;line-height:1.65;color:#34393b;margin-bottom:23px}
body.about-page .about-intro .about-eyebrow,body.about-page .about-split .about-eyebrow{color:#0076bd;font-size:11px;letter-spacing:1.2px;font-weight:600}
body.about-page .about-collage{height:470px;margin:0}
body.about-page .collage-main{height:355px;width:86%;border-radius:18px}
body.about-page .collage-inset{height:215px;width:56%;bottom:40px;left:-24px;border-radius:18px}
body.about-page .collage-accent{background:#0076bd;width:185px;height:210px;left:80px;top:-24px}
body.about-page .about-promises{gap:20px;margin-top:32px}
body.about-page .about-promises>div{border-color:#0076bd;padding:19px 21px;gap:16px}
body.about-page .about-promises span{color:#0076bd;font-size:32px}
body.about-page .about-promises strong{font-size:13px;font-weight:800;line-height:1.45}
body.about-page .about-split{background:#f2f6f9}
body.about-page .about-split figure{min-height:650px}
body.about-page .about-split-copy{padding:85px clamp(40px,6vw,100px)}
body.about-page .about-split-copy h2{font-size:42px;line-height:1.23;font-weight:800;letter-spacing:-.8px;max-width:550px;margin:20px 0 30px}
body.about-page .about-split-copy p:not(.about-eyebrow){font-size:17px;line-height:1.65;color:#34393b;margin-bottom:23px}
body.about-page .about-text-link{font-size:15px;font-weight:600;border-color:#0076bd;margin-top:12px;padding-bottom:9px}
body.about-page .about-text-link span{color:#0076bd}
@media(min-width:1500px){body.about-page .about-intro{max-width:1420px;gap:95px}body.about-page .about-intro h1{font-size:50px}body.about-page .about-intro-copy>p:not(.about-eyebrow),body.about-page .about-split-copy p:not(.about-eyebrow){font-size:18px}body.about-page .about-split-copy h2{font-size:46px}}
@media(max-width:1050px) and (min-width:701px){body.about-page .about-intro{gap:40px;padding-block:75px}body.about-page .about-intro h1{font-size:38px}body.about-page .about-intro-copy>p:not(.about-eyebrow),body.about-page .about-split-copy p:not(.about-eyebrow){font-size:15px}body.about-page .about-split-copy{padding:55px 35px}body.about-page .about-split-copy h2{font-size:34px}body.about-page .about-collage{height:400px}body.about-page .collage-main{height:310px}body.about-page .collage-inset{height:175px;left:0}body.about-page .about-promises{gap:10px}body.about-page .about-promises>div{padding:14px 12px;gap:9px}body.about-page .about-promises strong{font-size:11px}}
@media(max-width:700px){body.about-page .about-intro{grid-template-columns:1fr;gap:50px;padding-block:45px 55px}body.about-page .about-intro h1{font-size:34px;line-height:1.23;margin:17px 0 25px}body.about-page .about-intro-copy>p:not(.about-eyebrow),body.about-page .about-split-copy p:not(.about-eyebrow){font-size:15px;line-height:1.65;margin-bottom:20px}body.about-page .about-collage{height:350px;margin-right:15px}body.about-page .collage-main{height:265px}body.about-page .collage-inset{height:160px;bottom:40px;left:0}body.about-page .collage-accent{width:130px;height:170px;left:50px}body.about-page .about-promises{gap:10px;margin-top:27px}body.about-page .about-promises>div{padding:15px 12px;gap:9px}body.about-page .about-promises strong{font-size:10px}body.about-page .about-promises span{font-size:24px}body.about-page .about-split figure{min-height:350px}body.about-page .about-split-copy{padding:45px 25px}body.about-page .about-split-copy h2{font-size:32px;line-height:1.23;margin:18px 0 25px}body.about-page .about-text-link{font-size:13px}}
