/* Site-wide: phone menu, current-page states, accessibility fixes. */
/* qa patch: phone menu, contrast, small a11y fixes */
.tl li { opacity:1; } .tl li:not(.done):not(.cur) b, .tl li:not(.done):not(.cur) span, .tl li:not(.done):not(.cur) small { color:var(--ink-subtle); }
.fn-fig .fn-ft { margin:0 0 18px; font-size:15px; font-weight:600; color:var(--app-ink); }
.mnav { display:none; }
@media (max-width: 1080px) {
  .mnav { position:absolute; left:0; right:0; top:100%; display:flex; flex-direction:column; padding:4px 20px 20px; background:var(--paper); border-bottom:1px solid var(--line); box-shadow:var(--shadow-float); }
  .mnav[hidden] { display:none !important; }
  .mnav a { padding:15px 4px; font-size:18px; font-weight:500; color:var(--ink); text-decoration:none; border-bottom:1px solid var(--line); }
  .mnav a[aria-current] { color:var(--signal) !important; }
  .mnav .btn { margin-top:16px; height:48px; border-bottom:0; color:var(--on-signal); font-size:16px; }
  .hdr.open { border-bottom-color:var(--line); }
}
.nav a[aria-current="page"], .signin[aria-current="page"], .foot li a[aria-current="page"], .foot-base a[aria-current="page"] { color:var(--ink); }

/* ---------- Main menu with dropdown panels ---------- */
.nav { gap:2px; }
.nav-item { position:static; display:flex; align-items:center; }
.nav .nav-top { padding:8px 4px 8px 12px; border-radius:8px 0 0 8px; }
.nav-tog { display:grid; place-items:center; width:26px; height:36px; margin-left:-2px; padding:0; border:0; border-radius:0 8px 8px 0; background:transparent; color:var(--ink-muted); cursor:pointer; }
.nav-tog::before { content:""; width:7px; height:7px; border-right:1.6px solid currentColor; border-bottom:1.6px solid currentColor; transform:translateY(-2px) rotate(45deg); transition:transform .2s var(--ease); }
.nav-item.open .nav-tog::before { transform:translateY(2px) rotate(225deg); }
.nav-item:hover .nav-top, .nav-item.open .nav-top, .nav-item:hover .nav-tog, .nav-item.open .nav-tog { color:var(--ink); background:var(--mist); }
.nav-tog:focus-visible { outline:2px solid var(--signal); outline-offset:-2px; }
.dd { position:absolute; left:0; right:0; top:100%; padding-top:0; opacity:0; visibility:hidden; transform:translateY(-6px); transition:opacity .18s var(--ease), transform .18s var(--ease), visibility 0s linear .18s; }
.nav-item.open .dd { opacity:1; visibility:visible; transform:none; transition:opacity .18s var(--ease), transform .18s var(--ease); }
.dd-in { max-width:calc(var(--page) + 96px); margin:0 auto; padding:24px 48px 28px; display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:24px; background:var(--paper); border-top:1px solid var(--line); border-bottom:1px solid var(--line); box-shadow:0 24px 48px -24px rgba(11,13,23,.22); }
.dd { background:var(--paper); }
.dd-list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:4px 16px; }
.dd-list a { display:flex; flex-direction:column; gap:3px; padding:12px 14px; border-radius:12px; color:var(--ink); text-decoration:none; transition:background-color .15s; }
.dd-list a:hover, .dd-list a:focus-visible { background:var(--mist); }
.dd-list b { font-size:15.5px; font-weight:600; }
.dd-list span { font-size:14px; line-height:20px; color:var(--ink-muted); }
.dd-list a[aria-current="page"] b { color:var(--signal); }
.dd-feature { display:flex; flex-direction:column; gap:6px; padding:20px 22px; border-radius:16px; background:var(--tint-iris); color:var(--ink); text-decoration:none; transition:transform .2s var(--ease); }
.dd-feature:hover { transform:translateY(-2px); }
.dd-feature small { font-size:12.5px; font-weight:600; color:var(--iris-ink); }
.dd-feature b { font-size:19px; line-height:25px; font-weight:500; letter-spacing:-.012em; }
.dd-feature span { font-size:14px; line-height:20px; color:var(--ink-muted); }
.dd-feature i { margin-top:auto; padding-top:8px; font-style:normal; font-size:14px; font-weight:600; color:var(--signal); }
.dd-feature i::after { content:" \2192"; }
.hdr.dd-open { border-bottom-color:var(--line); background:var(--paper); }
@media (max-width: 1080px) { .dd { display:none !important; } }
/* phone menu groups */
.mnav .mg { border-bottom:1px solid var(--line); }
.mnav .mg > button { width:100%; display:flex; justify-content:space-between; align-items:center; padding:15px 4px; border:0; background:none; color:var(--ink); font:inherit; font-size:18px; font-weight:500; text-align:left; cursor:pointer; }
.mnav .mg > button::after { content:""; width:8px; height:8px; border-right:1.6px solid currentColor; border-bottom:1.6px solid currentColor; transform:rotate(45deg); transition:transform .2s; }
.mnav .mg > button[aria-expanded="true"]::after { transform:rotate(225deg); }
.mnav .mg ul { list-style:none; margin:0 0 10px; padding:0 0 0 4px; }
.mnav .mg ul a { display:block; padding:9px 0; font-size:16px; font-weight:500; color:var(--ink-muted); border:0; }
.mnav .mg ul a[aria-current="page"] { color:var(--signal); }
@media (prefers-reduced-motion: reduce) { .dd, .nav-tog::before, .dd-feature { transition:none; } }
