/* olm-motion-v2: one motion timing (0.4s), arrow-slide affordance, Offices map. Transform and opacity only for movement; all movement disabled for reduced-motion. */
:root{--olm-dur:.4s;--olm-ease:cubic-bezier(.4,0,.2,1)}
.transition-colors,.transition-all,.transition-opacity,.transition-transform,.duration-300,.duration-500,.cta-link,.olm-toc a{transition-duration:var(--olm-dur)!important;transition-timing-function:var(--olm-ease)!important}
.cta-link{transition-property:color,background-size!important}
.cta-link span{display:inline-block;transition:transform var(--olm-dur) var(--olm-ease)}
svg.lucide-arrow-right,svg.lucide-arrow-up-right{transition:transform var(--olm-dur) var(--olm-ease)}
@media (prefers-reduced-motion:no-preference){
 .cta-link:hover span{transform:translateX(4px)}
 a:hover svg.lucide-arrow-up-right,.group:hover svg.lucide-arrow-up-right{transform:translate(3px,-3px)}
 a:hover svg.lucide-arrow-right:not([class*="translate"]),.group:hover svg.lucide-arrow-right:not([class*="translate"]){transform:translateX(4px)}
 .olm-btn span:last-child{transition-duration:var(--olm-dur)}
 .olm-map .pin .halo{animation:olm-halo 3.2s ease-out infinite;transform-box:fill-box;transform-origin:center}
 .olm-map .pin-hq .halo{animation-duration:2.4s}
 @keyframes olm-halo{0%{transform:scale(.6);opacity:.75}70%{transform:scale(1.9);opacity:0}100%{transform:scale(1.9);opacity:0}}
}
@media (prefers-reduced-motion:reduce){
 .cta-link:hover span,a:hover svg.lucide-arrow-up-right,.group:hover svg.lucide-arrow-up-right{transform:none}
}
/* Offices map */
.olm-mapwrap{position:relative;height:100%;width:100%;background:#1A2A40;display:flex;align-items:center;justify-content:center;padding:1rem 1.5rem 3.5rem}
.olm-map{height:100%;width:auto;max-width:100%;display:block;overflow:visible}
.olm-map .c-reach{fill:rgba(246,244,239,.1);stroke:rgba(246,244,239,.22);stroke-width:.8}
.olm-map .c-aff{fill:rgba(198,161,91,.5);stroke:#C6A15B;stroke-width:.9}
.olm-map .c-hq{fill:#C6A15B;stroke:#E2C98F;stroke-width:1}
.olm-map .pin{cursor:default;outline:none}
.olm-map .pin .dot{fill:#F6F4EF;stroke:#1A2A40;stroke-width:1.6}
.olm-map .pin .halo{fill:rgba(246,244,239,.55)}
.olm-map .pin .lbl{font-family:'Source Sans 3','Source Sans Pro',system-ui,sans-serif;font-size:19px;font-weight:600;fill:#F6F4EF;paint-order:stroke;stroke:#1A2A40;stroke-width:3px;stroke-linejoin:round}
.olm-maplegend{position:absolute;left:1.25rem;right:1.25rem;bottom:1rem;display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;font-family:'Source Sans 3','Source Sans Pro',system-ui,sans-serif;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#C9D1DD}
.olm-maplegend span{display:inline-flex;align-items:center;gap:.5rem}
.olm-maplegend i{display:inline-block;width:12px;height:12px;border-radius:2px}
.olm-maplegend .k-hq{background:#C6A15B}
.olm-maplegend .k-aff{background:rgba(198,161,91,.5);border:1px solid #C6A15B}
.olm-maplegend .k-reach{background:rgba(246,244,239,.12);border:1px solid rgba(246,244,239,.3)}
@media (max-width:1023px){.olm-mapwrap{padding:1rem 1rem 5.5rem}}

/* Hero facts: equal columns, shared baseline (count-up values are inline-block, which pushed labels out of line) */
@media (min-width:1024px){
.olm-hero-stats > .flex{display:grid!important;grid-template-columns:repeat(4,10.5rem);column-gap:1.5rem;justify-content:center;align-items:start}
.olm-hero-stats .stat-item{min-width:0;text-align:center}
.olm-hero-stats .stat-item > .font-serif{display:block!important;min-width:0!important;height:26px;line-height:26px!important}
.olm-hero-stats .stat-item > .font-sans{margin-top:.5rem}
}

/* Footer: every practice and sector linked site-wide */
.olm-footnav{max-width:1400px;margin:3.5rem auto 0;padding-top:2.5rem;border-top:1px solid rgba(26,42,64,.08);display:grid;grid-template-columns:1fr;gap:2.5rem}
.olm-footnav ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.7rem 1.5rem;list-style:none;margin:0;padding:0}
.olm-footnav a{display:inline-block;line-height:1.5;padding:2px 0}
@media (min-width:1024px){.olm-footnav{grid-template-columns:3fr 2fr;gap:3rem}}

/* Print (v6): hide site chrome, keep content readable on paper. */
@media print {
  header[role="banner"], nav, footer, .olm-footnav, .grain-overlay, .vignette-overlay,
  video, .olm-heropause, .olm-maplegend, .olm-hero-stats, button, iframe,
  .olm-rail, .olm-toc, #olm-apply, #olm-wa-root, .olm-wa { display: none !important; }
  html, body { background: #fff !important; color: #000 !important; }
  main, section, div { background: #fff !important; box-shadow: none !important; }
  h1, h2, h3, h4, p, li, span, a { color: #000 !important; }
  a { text-decoration: underline; }
  .olm-body a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 11px; color: #333 !important; }
  img { max-width: 100% !important; page-break-inside: avoid; }
  h1, h2, h3 { page-break-after: avoid; }
  .reveal { opacity: 1 !important; transform: none !important; }
}