/* The navigation uses the same ink, serif titles and fine rules as the pages. */
.practice-nav { --menu-rule:rgba(226,234,245,.18); --menu-muted:#a8b4c5; }
.practice-nav .nav-inner { position:static; }
.practice-nav details { position:static; }
.practice-nav .nav-links { height:100%; }
.practice-nav .services-menu { height:100%; display:flex; align-items:center; }
.practice-nav summary { min-height:44px; }
.practice-nav .services-menu > summary { height:100%; position:relative; }
.practice-nav .services-menu > summary::after { transition:transform 240ms ease; }
.practice-nav .services-menu[open] > summary::after { transform:rotate(225deg); margin-top:3px; }
.practice-nav .services-menu > summary::before { content:''; position:absolute; inset:auto 0 0; height:1px; background:#edf2f8; transform:scaleX(0); transform-origin:left; transition:transform 250ms ease; }
.practice-nav .services-menu[open] > summary::before { transform:scaleX(1); }
.practice-nav .dropdown { box-shadow:none; gap:0; margin:0; background:var(--navy); border-top:1px solid var(--menu-rule); }
.practice-nav .services-panel { top:100%; left:0; right:0; min-width:0; width:100%; padding:0; }
.services-panel-inner { width:100%; display:grid; grid-template-columns: minmax(180px,.8fr) minmax(0,3fr); gap:clamp(35px,calc(5vw / var(--z,1)),80px); padding-block:42px 52px; }
.menu-label { display:block; font:400 10px/1.5 Hanken,Arial,sans-serif; text-transform:uppercase; letter-spacing:.17em; color:var(--menu-muted); }
.menu-intro p { margin-top:18px; color:#d0d8e4; font:300 23px/1.35 Spectral,Georgia,serif; }
.service-menu-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.practice-nav .service-menu-links a { display:block; padding:20px 0 5px; border-top:1px solid var(--menu-rule); position:relative; min-width:0; }
.practice-nav .menu-title { display:block; color:#eef1f6; font:300 clamp(23px,calc(2vw / var(--z,1)),30px)/1.2 Spectral,Georgia,serif; letter-spacing:-.018em; transition:color 180ms ease; }
.practice-nav .menu-description { display:block; color:var(--menu-muted); font:400 14px/1.5 Hanken,Arial,sans-serif; margin-top:13px; max-width:26ch; }
.practice-nav .service-menu-links a::before { content:''; position:absolute; top:-1px; left:0; right:0; height:1px; background:#e9eef5; transform:scaleX(0); transform-origin:left; transition:transform 280ms ease; }
.practice-nav .service-menu-links a:is(:hover,:focus-visible)::before { transform:scaleX(1); }
.practice-nav .service-menu-links a[aria-current=page]::before { transform:scaleX(.16); }
.practice-nav .service-menu-links a[aria-current=page]:is(:hover,:focus-visible)::before { transform:scaleX(1); }
.practice-nav a[aria-current=page] { text-decoration:none; }
.practice-nav a:focus-visible,.practice-nav summary:focus-visible { outline:1px solid #d5e1ef; outline-offset:6px; }
.nav-scrim { position:fixed; inset:96px 0 0; z-index:29; background:rgba(5,12,21,.24); opacity:0; visibility:hidden; transition:opacity 240ms ease,visibility 240ms; pointer-events:none; }
html.services-open .nav-scrim { opacity:1; visibility:visible; pointer-events:auto; }
.practice-nav .mobile-menu { position:static; }
.practice-nav .mobile-menu > summary { gap:12px; }
.practice-nav .mobile-menu > summary::after { display:none; }
.menu-toggle-icon { width:19px; height:15px; position:relative; display:block; }
.menu-toggle-icon::before,.menu-toggle-icon::after { content:''; position:absolute; width:19px; height:1px; left:0; top:4px; background:currentColor; transition:transform 240ms ease; }
.menu-toggle-icon::after { top:10px; }
.mobile-menu[open] .menu-toggle-icon::before { transform:translateY(3px) rotate(45deg); }
.mobile-menu[open] .menu-toggle-icon::after { transform:translateY(-3px) rotate(-45deg); }
@media(max-width:1050px) and (min-width:761px) {
 .services-panel-inner { grid-template-columns:minmax(0,1fr); gap:26px; }
 .menu-intro p { display:none; }
 .service-menu-links { gap:25px; }
}
@media(max-width:760px) {
 .practice-nav .nav-links { display:none; }
 .practice-nav .mobile-panel { position:absolute; top:100%; left:0; right:0; min-width:0; width:100%; padding:0; height:calc(calc(100dvh / var(--z,1)) - 78px); max-height:calc(calc(100dvh / var(--z,1)) - 78px); overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
 .mobile-panel-content { padding:30px var(--rail) max(26px,env(safe-area-inset-bottom)); display:flex; flex-direction:column; min-height:100%; }
 .mobile-practices { display:grid; margin-top:18px; }
 .practice-nav .mobile-practices a { display:block; border-top:1px solid var(--menu-rule); padding:19px 0 21px; position:relative; }
 .practice-nav .mobile-practices .menu-title { font-size:clamp(26px,calc(7.2vw / var(--z,1)),33px); }
 .practice-nav .mobile-practices .menu-description { font-size:13px; margin-top:8px; max-width:none; }
 .practice-nav .mobile-practices a[aria-current=page]::before { content:''; position:absolute; top:-1px; left:0; width:35px; height:1px; background:#e9eef5; }
 .mobile-secondary { display:grid; grid-template-columns:1fr 1fr; gap:0 24px; border-top:1px solid var(--menu-rule); padding:18px 0 25px; }
 .practice-nav .mobile-secondary a { font-size:17px; padding-block:12px; min-height:44px; }
 .menu-signoff { margin-top:auto; padding-top:23px; border-top:1px solid var(--menu-rule); display:flex; justify-content:space-between; color:var(--menu-muted); font-size:11px; letter-spacing:.06em; }
 html.mobile-menu-open { overflow:hidden; }
 html.mobile-menu-open body { overflow:hidden; }
 .nav-scrim { inset-block-start:78px; }
}
@media(prefers-reduced-motion:reduce) {
 .practice-nav *,.practice-nav *::before,.practice-nav *::after,.nav-scrim { transition:none!important; }
}
