/* Shared visual language for every page. Loaded after page-specific styles. */
:root,body{--yellow:#0076bd;--display:Poppins,Arial,sans-serif;--accent:#0076bd;--cream:#f2f6f9}
body .button{background:#0076bd;color:#fff;border-radius:30px;font-family:Poppins,Arial,sans-serif;font-weight:600;font-size:12px;min-height:47px;padding:14px 25px}
body .button.pale{background:white;color:#25292b}
body .eyebrow,body .about-eyebrow{color:#0076bd;letter-spacing:1.2px;font-size:11px}
body .eyebrow::before{display:none}
body :focus-visible,body.service-page :focus-visible,body header :focus-visible{outline:3px solid #00588f;outline-offset:4px}
body header #service-menu{border-color:#ece8e3;border-top-color:#0076bd}
body header #navigation>a[aria-current=page],body header #services-toggle[aria-expanded=true]{color:#0076bd}
body header .nav-service-grid a:hover,body header .nav-service-grid a[aria-current=page]{background:#e3f2fb;color:#00588f}
body header .nav-service-grid a span{color:#0076bd}
body .mobile-call{background:#0076bd;color:#fff}
body .global-footer h2{font-size:22px;line-height:1.35}
body.service-page .wrap{max-width:1140px}
body.service-page header .wrap.nav{max-width:1360px}
body.service-page .global-footer .wrap{max-width:1380px}
body.service-page .service-banner{padding:100px 0;background:linear-gradient(90deg,#171b1bd9,#171b1b80),url("../images/recent-work-01.jpg") center 46%/cover}
body.service-page .service-banner h1{font-size:42px;line-height:1.2;letter-spacing:-.8px;max-width:950px}
body.service-page .service-layout{padding-block:65px 90px;gap:45px}
body.service-page .service-sidebar{padding-top:70px}
body.service-page .service-sidebar nav{padding:25px;border-radius:10px;border-color:#e9e5df}
body.service-page .service-sidebar nav a[aria-current],body.service-page .service-sidebar nav a:hover{color:#00588f}
body.service-page .service-sidebar nav a span{color:#0076bd}
body.service-page .sidebar-contact{background:#f2f6f9;padding:25px;border-radius:12px}
body.service-page .sidebar-contact>p:first-child{color:#00588f}
body.service-page .service-article>h2:first-child{font-size:32px;line-height:1.3}
body.service-page .service-article>section>h2,body.service-page .service-article>h2:not(:first-child){font-size:24px;margin-top:38px}
body.service-page .service-article p,body.service-page .service-article li{font-size:14px;line-height:1.85}
body.service-page .service-article .photo-note{font-size:10px}
body.service-page .article-callout{background:#f2f6f9;border-color:#0076bd;border-radius:0 10px 10px 0}
body.service-page .article-related a{border-radius:24px;border-color:#e5dfd7;padding:12px 18px}
body.service-page .article-related a:hover{background:#e3f2fb;color:#00588f}
body.service-page .article-faq details{border:0;padding:18px 0}
body.service-page .article-faq summary{position:relative;list-style:none;padding:0 48px 0 0;font-size:16px;line-height:1.6;font-weight:800;min-height:32px}
body.service-page .article-faq summary::-webkit-details-marker{display:none}
body.service-page .article-faq summary::after{content:'+';position:absolute;right:0;top:0;width:32px;height:32px;line-height:32px;border-radius:50%;background:#e3f2fb;color:#0076bd;text-align:center;font-size:23px;font-weight:400}
body.service-page .article-faq details[open] summary{color:#00588f}
body.service-page .article-faq details[open] summary::after{content:'−';background:#0076bd;color:#fff}
body.service-page .article-faq details p{margin:17px 42px 0 0;padding:0}
body.service-page .contact,body.about-page .about-contact{background:linear-gradient(115deg,#0785ce,#0076bd 70%);border:0;color:white;padding-block:65px}
body.service-page .enquiry-copy h2{font-size:36px;color:white;line-height:1.25}
body.service-page .enquiry-copy>p,body.service-page .enquiry-copy .eyebrow,body.service-page .enquiry-phone,body.service-page .enquiry-email,body.service-page .enquiry-tip,body.about-page .about-contact h2,body.about-page .about-contact p,body.about-page .about-email{color:white}
body.service-page .enquiry-form{background:#fff;border:0;border-radius:12px;padding:30px;color:#25292b}
body.service-page .enquiry-form>.button{background:#0076bd;color:white}
body.service-page .enquiry-phone{font-family:Poppins,Arial,sans-serif;font-size:27px}
body.about-page .about-contact .button{background:white;color:#25292b}
body.about-page .about-intro,body.about-page .about-faq{max-width:1250px}
@media(max-width:900px){body header #service-menu{border-left-color:#0076bd}body header .brand-dot{color:#0076bd}}
@media(max-width:700px){body.service-page .service-banner{padding:60px 0}body.service-page .service-banner h1{font-size:29px}body.service-page .service-layout{padding-block:40px 55px;gap:30px}body.service-page .service-sidebar{padding-top:0}body.service-page .service-article>h2:first-child{font-size:27px}body.service-page .service-article>section>h2,body.service-page .service-article>h2:not(:first-child){font-size:22px}body.service-page .contact,body.about-page .about-contact{padding-block:40px}body.service-page .enquiry-copy h2{font-size:30px}body.service-page .enquiry-form{padding:25px 18px}body.service-page .enquiry-phone{font-size:24px}body.service-page .article-faq summary{font-size:15px}}
@media(min-width:901px){body header .brand{position:relative;z-index:2;padding:18px 20px 23px;margin-top:-32px;min-height:145px;align-items:center;flex-direction:column;justify-content:center;gap:6px;min-width:150px}body header .brand::before{content:'';position:absolute;inset:-8px -5px 0;background:#0076bd;transform:rotate(-17deg);border-radius:0 0 18px 18px;z-index:-1}body header .brand-mark{background:none!important;color:#fff;padding:0;line-height:1;font-size:48px;min-width:0;height:auto}body header .brand-dot{color:white}body header .brand-words{color:#fff;font-size:9px;text-align:center;display:block}body header .wrap.nav{gap:48px}body .topbar>.wrap{padding-left:175px}body header #navigation{margin-left:0}}
body header #navigation>a.nav-contact{background:#0076bd;color:#fff}body header #navigation>a[aria-current=page]{color:#0076bd}body .topbar a>span,body .topbar a>b{color:#0076bd}
