/* OMAPS review: UI UX Pro Max accessibility and responsive refinements. */
:root{--blue:#006f91;--focus:#006f91}
html{scroll-padding-top:24px}
body{font-size:16px}
h1,h2,h3{text-wrap:balance}
p,li{overflow-wrap:break-word}
.hero-copy,.service-grid>*,.nav nav{min-width:0}
.nav{gap:24px}
.nav nav{gap:24px;font-size:15px}
.nav nav a{min-height:44px;display:inline-flex;align-items:center;padding:8px 2px}
.nav-contact{font-weight:700}
.eyebrow,.hero .eyebrow,.service .eyebrow,.section-heading .eyebrow,.deliverables .eyebrow,.editorial-heading .eyebrow,.service-hero .eyebrow,.service-contact .eyebrow,.remote-inner .eyebrow{font-size:12px;letter-spacing:1.3px}
.intro,.service-hero .intro{font-size:17px;line-height:1.75}
.button{font-size:15px;min-height:52px;gap:20px}
.primary{width:auto;min-width:276px;max-width:100%}
.text-link{font-size:15px;min-height:44px;display:flex;align-items:center;margin-top:12px;text-decoration:underline;text-underline-offset:5px}
.section-heading>p,.service p:not(.eyebrow),.service ul,.portfolio-row p,.contact p,.contact-guide ol,.body-copy,.input-list li,.section-note,.remote-inner>p:last-child,.process-list p,.faq-list summary,.faq-list details p,.service-contact .contact-action p,.map-source{font-size:16px;line-height:1.75}
.service{border-radius:4px;padding:32px}
.service>a{font-size:15px;min-height:52px;align-items:center}
.deliverable-items span,.deliverables>p,.contact-guide small,.technical-credit,.map-full figcaption,.map-viewer-links{font-size:14px;line-height:1.7}
.deliverables{grid-template-columns:1fr 1.3fr}
.technical-caption{font-size:16px;font-weight:600;line-height:1.5}
.technical-enlarge{font-size:14px;min-height:48px}
.technical-visual-header>span:last-child,.service-hero .technical-visual-header .eyebrow{font-size:12px}
.technical-credit a,.map-source a,.map-full a,.map-viewer-links a{text-underline-offset:4px}
.technical-visual{box-shadow:0 8px 28px #142e430a}
.breadcrumb{font-size:14px;gap:8px 12px}
.breadcrumb a{min-height:44px;display:inline-flex;align-items:center}
.service-switch{gap:24px}
.service-switch a{font-size:15px;white-space:normal;min-height:48px;flex:0 1 auto}
.service-switch a[aria-current]{border-bottom-width:3px}
.section-nav{gap:8px 28px;font-size:15px;padding-block:12px}
.section-nav a{display:inline-flex;align-items:center;min-height:44px}
.contact-action .contact-email,.related-service p,.site-footer,.site-footer nav a{font-size:14px}
.contact-links a,.contact-email,.related-service>a,.site-footer nav a,.map-viewer-links a{min-height:44px;display:inline-flex;align-items:center}
.site-footer nav{gap:8px 24px}
a:hover{text-decoration:underline;text-underline-offset:5px}
.button:hover{text-decoration:none}
a:active{opacity:.8}
:is(a,summary):focus-visible{outline:3px solid var(--focus);outline-offset:5px;border-radius:2px}
.contact :is(a,summary):focus-visible{outline-color:#8ae1ed}
.skip:focus{position:fixed;top:12px;left:12px;z-index:100;background:#fff;color:var(--navy);padding:12px 20px;box-shadow:0 2px 12px #142e4333}
main:focus{outline:none}
@media(max-width:1000px){.nav nav{gap:16px}.hero{gap:32px}.hero-visual{height:560px}.client-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:800px){.nav{height:auto;padding-block:20px;flex-wrap:wrap;justify-content:center}.nav nav{justify-content:center;flex-wrap:wrap;gap:8px 20px}.brand{width:220px}.hero,.service-hero{grid-template-columns:1fr;gap:32px}.hero-visual{width:100%;height:380px}.service-visual.technical-visual{max-width:640px;justify-self:center}.process-list{grid-template-columns:repeat(3,minmax(0,1fr))}.editorial-grid,.service-contact{gap:32px}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.nav{display:flex;gap:16px}.nav nav{margin-top:0;gap:8px 16px;font-size:14px;width:100%}.nav nav a{padding:8px 0}.hero{padding-top:24px;padding-bottom:48px}.hero-visual{height:340px}.hero .eyebrow,.service-hero .eyebrow{font-size:12px;letter-spacing:1px}.hero h1,.service-hero h1{font-size:clamp(32px,8.5vw,40px);line-height:1.16;letter-spacing:-1px}.intro,.service-hero .intro{font-size:16px}.button{font-size:15px;gap:14px;min-width:0}.primary,.service-hero .primary{width:100%}.section{padding-block:48px}.service{padding:24px}.section-heading>p{max-width:38ch}.deliverables{display:block}.deliverable-items{gap:8px}.deliverables>p{margin-top:12px}.client-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.contact-guide small{font-size:14px}.service-switch{gap:16px;align-items:stretch}.service-switch a{flex:1;font-size:14px;line-height:1.5}.breadcrumb{font-size:13px}.section-nav{gap:4px 24px;font-size:14px}.technical-visual-header{flex-wrap:wrap}.technical-caption{font-size:16px}.technical-credit{font-size:14px}.technical-enlarge{font-size:14px}.service-hero .text-link{font-size:15px}.process-list{display:block}.process-list p{font-size:16px}.contact-action .contact-email{font-size:14px}.related-service>a{font-size:16px}.map-source,.map-full figcaption,.map-viewer-links{font-size:14px}.site-footer nav a{font-size:14px}.site-footer span{display:block;margin-left:0}}
@media(max-width:360px){.wrap{width:calc(100% - 32px)}.nav nav{gap:8px 12px}.client-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-links a{font-size:15px}.service{padding:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
