/* Inter matches the reference site's reading, navigation and footer typeface.
   Self-hosted Latin variable font, licensed under the SIL Open Font License. */
@font-face{font-family:Inter;src:url('/assets/inter-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--ink:#172b46;--muted:#3f4f65}
body{font-family:Inter,Arial,sans-serif;font-size:16px;font-weight:450;line-height:1.75}
h1,h2,h3,h4{font-family:Manrope,Arial,sans-serif;font-weight:800}
p{font-weight:450}
button,input,select,textarea{font-family:inherit}

/* Larger navigation without increasing the compact header height. */
.site-header nav{font-family:Inter,Arial,sans-serif;font-size:16px;font-weight:600;line-height:1.4;gap:24px;color:#24344b}
.site-header nav>a:not(.nav-cta),.nav-group summary{padding-block:14px}
.site-header nav>a:not(.nav-cta):hover,.nav-group summary:hover{color:#006d85}
.nav-cta{font-family:Inter,Arial,sans-serif;font-size:13px;font-weight:750;line-height:1.4;padding:13px 17px;white-space:nowrap}
.nav-panel>a{font-size:14px;font-weight:550;line-height:1.55;color:#24344b}
.site-header nav :is(a,summary):focus-visible{outline:3px solid #087d99;outline-offset:4px;border-radius:5px}

/* Comfortable reading sizes and darker supporting copy. */
.hero-copy>p,.page-hero p,.photo-page-copy>p{font-size:17px;line-height:1.8}
.section-intro,.section-heading>p,.photo-split-copy>.section-intro{font-size:16px;line-height:1.8}
.service-card p,.card p,.detail-card p,.specialty-card p,.pillar-grid p,.photo-split-copy .pillar-grid p,.insight-copy>p,.insight-copy li p,.journey-panel>div>p,.audit-preview-grid p{font-size:14.5px;line-height:1.8}
.service-card p{min-height:78px}
.specialty-card .text-link,.service-card .text-link,.photo-feature-link{font-size:12px}
.hero-copy .button,.actions .button{font-size:12px}
.offer-front p:not(.offer-fine){font-size:15px}
.offer-front .offer-fine,.offer-copy .small{font-size:12px;line-height:1.7}
.workflow-board>p{font-size:11px;line-height:1.7}
.breadcrumb{font-size:12px;color:#45566d}
.inquiry-form label{font-size:13px;font-weight:650;color:#24344b}
.inquiry-form :is(input,select,textarea){font-size:15px}
.inquiry-form .form-note,.inquiry-form .small{font-size:12px;line-height:1.7}

/* The footer previously used 9–11px copy. Match the reference's 15px links. */
footer{font-family:Inter,Arial,sans-serif;color:#24344b}
.footer-grid{grid-template-columns:1.25fr 1fr 1fr 1fr;gap:40px}
.footer-grid h3{font-family:Inter,Arial,sans-serif;font-size:14px;font-weight:800;line-height:1.4;letter-spacing:.055em;text-transform:uppercase;color:#142650;margin:6px 0 23px}
.footer-grid>div>a:not(.brand){font-size:15px;font-weight:500;line-height:1.65;margin-bottom:14px;color:#31445b}
.footer-grid>div>a:not(.brand):hover{color:#006d85;text-decoration:underline;text-underline-offset:4px}
.footer-brand p{font-size:18px;font-weight:600;line-height:1.65;color:#24344b}
.footer-brand .small{font-size:14px;font-weight:500;line-height:1.75;color:#3f4f65;margin-top:23px}
.footer-brand .email-link{font-size:14px!important;font-weight:650;color:#00677f!important;overflow-wrap:anywhere}
.footer-bottom{font-size:12px;font-weight:500;line-height:1.75;color:#3f4f65;gap:30px}
.footer-grid a:focus-visible{outline:3px solid #087d99;outline-offset:5px;border-radius:3px}

@media(min-width:1051px) and (max-width:1250px){
 .site-header nav{font-size:14px;gap:18px}
 .nav-cta{font-size:12px;padding-inline:14px;gap:10px}
 .site-header .brand{width:175px}
}
@media(max-width:1050px){
 .menu-toggle{display:block}
 .site-header nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;padding:18px 30px 24px;box-shadow:0 20px 30px #14265016;max-height:calc(100dvh - 115px);overflow-y:auto}
 .site-header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0;font-size:16px;font-weight:600}
 .site-header nav>a:not(.nav-cta){padding:15px 8px}
 .nav-group summary{padding:15px 8px;justify-content:space-between}
 .nav-panel{position:static;min-width:0;border:0;border-left:2px solid #c3dce7;box-shadow:none;border-radius:0;margin:0 0 10px 8px;padding:0 12px}
 .nav-panel>a{font-size:14px;padding:12px}
 .site-header nav>.nav-cta{margin-top:12px;justify-content:center;padding:16px;font-size:14px}
 .footer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}
 .footer-brand{grid-column:1/-1}
 .footer-brand .brand{margin-bottom:20px}
}
@media(max-width:650px){
 .site-header nav{top:68px;padding-inline:20px;max-height:calc(100dvh - 103px)}
 .hero-copy>p,.page-hero p,.photo-page-copy>p{font-size:16px}
 .section-intro,.section-heading>p,.photo-split-copy>.section-intro{font-size:15px}
 .service-card p,.card p,.detail-card p,.specialty-card p,.pillar-grid p,.photo-split-copy .pillar-grid p,.insight-copy>p,.insight-copy li p,.journey-panel>div>p,.audit-preview-grid p{font-size:14px}
 .service-card p{min-height:0}
 .specialty-card .text-link{font-size:11px}
 .hero-copy .button,.actions .button{font-size:12px;white-space:normal}
 .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 22px}
 .footer-brand,.footer-grid>div:last-child{grid-column:1/-1}
 .footer-grid h3{font-size:13px;letter-spacing:.04em;margin-bottom:19px}
 .footer-grid>div>a:not(.brand){font-size:14px;line-height:1.7;overflow-wrap:break-word}
 .footer-brand .email-link{font-size:14px!important}
 .footer-bottom{font-size:11px;gap:14px;padding-bottom:65px}
}
