/* Accessibility and reflow update, 2026-11-01. */
html{font-size:100%;scroll-padding-top:145px}body{font-size:1rem;line-height:1.6}p{font-size:1rem;line-height:1.75}h1,h2,h3{overflow-wrap:break-word}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:3px solid #17232c;outline-offset:3px;box-shadow:0 0 0 6px #fff}a,button{scroll-margin-block:150px 32px}main{scroll-margin-top:145px}.wrap>*{min-width:0}.utility{font-size:.75rem;letter-spacing:.06em}.utility>.wrap{gap:16px;min-height:44px;flex-wrap:wrap}.utility a{display:inline-flex;align-items:center;min-height:44px}.primary-nav{font-size:.875rem;gap:20px}.primary-nav>a{min-height:44px;display:flex;align-items:center}.primary-nav .nav-contact{color:#fff;gap:18px}.eyebrow{font-size:.75rem;letter-spacing:.1em}.btn,.arrow-link,.hero-link{font-size:1rem;min-height:44px}.hero-line{font-size:.75rem;letter-spacing:.08em;flex-wrap:wrap}.hero .eyebrow,.hero-content>p:not(.eyebrow){color:#fff}.hero-overlay{background:linear-gradient(90deg,rgba(16,35,46,.95),rgba(16,35,46,.83) 55%,rgba(16,35,46,.48))}.hero-link{align-items:center}.actions{flex-wrap:wrap}.credentials span,.image-note span,.service-ribbon,.service-ribbon>span{font-size:.875rem}.credentials p{min-width:0}.credentials strong{overflow-wrap:break-word}.image-note{flex-wrap:wrap}.image-note span{max-width:230px}.card-body p,.home-services .card-body p{font-size:1rem}.card-photo>span{font-size:.875rem}.service-ribbon a{padding-block:8px;min-height:44px;display:inline-flex;align-items:center}.service-index>a{font-size:.875rem;min-height:56px;overflow-wrap:break-word}.service-index>a>span{font-size:.8125rem}.person>p,.team-management .person>p{font-size:.9375rem}.portrait-placeholder>span{color:#4c5a62}.principles>article>span,.contact-list>a>span,.career-tags>span{font-size:.8125rem}.application .fine,.fine,.email-label{font-size:.875rem}.email-label{overflow-wrap:anywhere}.footer-top>p{font-size:.875rem}.footer-nav,.footer-bottom{font-size:.875rem}.footer-nav a,.footer-bottom a{min-height:44px;display:inline-flex;align-items:center}.footer-bottom>div{flex-wrap:wrap;gap:10px 22px}.footer-bottom{align-items:flex-start}.contact-list strong{overflow-wrap:anywhere}.skip{top:8px;left:12px;transform:translateY(-180%);background:#fff;color:#17232c;border:2px solid #17232c;font-size:1rem;min-height:44px}.skip:focus{top:8px;transform:translateY(0)}.legal-content{max-width:76ch}.legal-content h2{font-size:1.5rem;margin-top:2rem;letter-spacing:-.02em}.legal-content h3{font-size:1.125rem;margin-top:1.5rem}.legal-content p,.legal-content li,.legal-content address{font-size:1rem;line-height:1.8}.legal-content address{font-style:normal}.legal-content a{text-decoration:underline;text-underline-offset:.18em;overflow-wrap:anywhere}.legal-content li{margin-bottom:.6rem}.legal-content ul{padding-left:1.4rem}.legal-toc{padding:20px 24px;border:1px solid var(--line);background:var(--paper);margin-bottom:36px}.legal-toc a{display:inline-block;padding-block:6px}.legal-updated{color:var(--muted);font-size:.875rem!important}.footer-nav{flex-wrap:wrap}.menu-toggle{min-height:44px;min-width:44px}.legal-content:focus{outline:0}
@media(min-width:1025px) and (max-width:1200px){.primary-nav{font-size:.8125rem;gap:13px}.primary-nav .nav-contact{padding:12px;gap:10px}.header-inner{gap:20px}.brand img{width:115px}}
@media(max-width:1024px){html{scroll-padding-top:24px}.header{position:relative}.header-inner{height:auto;min-height:82px;gap:16px;flex-wrap:wrap;padding-block:12px}.brand img{width:110px}.menu-toggle{display:none;font-size:1rem}.js .menu-toggle{display:inline-flex;align-items:center;gap:16px;background:#fff;border:1px solid #626e76;padding:10px 14px}.primary-nav{position:static;display:flex;flex-direction:column;align-items:stretch;width:100%;font-size:1rem;gap:0;padding:12px 0;background:#fff}.js .primary-nav{position:absolute;top:100%;left:0;right:0;z-index:40;width:auto;padding:16px 24px;max-height:70vh;overflow-y:auto;border-bottom:1px solid #626e76}.js .primary-nav:not(.is-open){display:none}.primary-nav.is-open{display:flex}.primary-nav>a,.primary-nav .nav-contact{padding:12px 14px;min-height:48px;font-size:1rem}.primary-nav>a:not(.nav-contact):after{display:none}.primary-nav>a[aria-current=page]:not(.nav-contact){border-left:3px solid var(--red);background:var(--paper)}a,button,main{scroll-margin-top:24px}.company-layout{gap:32px}.footer-top{grid-template-columns:120px 1fr}.footer-nav{grid-column:1/-1}.service-index{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:740px){.utility>.wrap{gap:0;padding-block:8px;justify-content:flex-start}.utility span{flex-basis:100%}.utility{font-size:.75rem}.eyebrow{font-size:.75rem}.hero-line{font-size:.75rem}.hero h1{font-size:clamp(2.125rem,9vw,2.75rem);letter-spacing:-.04em}.hero-content>p:not(.eyebrow){font-size:1rem}.credentials>.wrap{gap:8px}.credentials span{font-size:.875rem;text-align:left}.credentials p{flex-wrap:wrap;gap:4px 16px}.credentials strong{font-size:1.125rem}.image-note span{font-size:.875rem}.card-body p{font-size:1rem}.lead{font-size:1.125rem}.intro-copy{font-size:1rem}.service-index>a{font-size:.875rem;padding:16px 10px;gap:10px}.footer-top>p{font-size:.875rem}.footer-nav,.footer-bottom{font-size:.875rem}.footer-bottom{gap:8px}.person h3,.team-grid .person h3{font-size:1.0625rem}.person>p{font-size:.9375rem}.contact-list strong{font-size:1.125rem}.footer-top{grid-template-columns:1fr}.footer-top>a{max-width:120px}.hero-line{gap:12px}.image-note strong{white-space:normal}.application .btn{width:100%;gap:12px}.application{padding:24px}.service-ribbon{gap:8px 18px}}
@media(max-width:520px){.wrap{width:calc(100% - 40px)}.service-index{grid-template-columns:1fr}.credentials p{align-items:flex-start;flex-direction:column}.team-grid{grid-template-columns:1fr;gap:30px}.team-grid .person{max-width:260px}.section{padding-block:48px}.legal-toc{padding:16px}.footer-bottom>div{flex-direction:column;align-items:flex-start;gap:0}.contact-list>a{gap:8px}.contact-list>a>span{font-size:.75rem}.hero-line{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media(forced-colors:active){a:focus-visible,button:focus-visible{outline:3px solid Highlight;box-shadow:none}.btn,.nav-contact,.menu-toggle{border:1px solid ButtonText}.primary-nav>a[aria-current=page]{outline:1px solid LinkText}}
.breadcrumb{font-size:.875rem;min-height:44px}.principles p{font-size:1rem}
