/* Shared mobile navigation. Desktop navigation is owned by desktop-*.css. */
html body#nw-web .nw-nav-header{display:none}
html body#nw-web .nw-nav-dialog{box-sizing:border-box;position:fixed;inset:0;margin:0;width:100%;max-width:100%;height:100dvh;max-height:100dvh;padding:14px max(16px,env(safe-area-inset-right)) calc(28px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));border:0;border-radius:0;background:transparent;isolation:isolate;color:#fff;box-shadow:none;overflow:auto;overscroll-behavior:contain;font-family:Manrope,Arial,sans-serif}
html body#nw-web .nw-nav-dialog:not([open]){display:none!important}
html body#nw-web .nw-nav-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 24px}
html body#nw-web .nw-nav-heading h2{margin:0;font:650 15px/1.4 Manrope,Arial,sans-serif;letter-spacing:0;text-transform:none;color:#fff}
html body#nw-web#nw-web .nw-nav-open,html body#nw-web#nw-web .nw-nav-close{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:0;border-radius:0;background:none;color:#fff;box-shadow:none;appearance:none;cursor:pointer;transform:none}
html body#nw-web .nw-nav-close{margin:0}
html body#nw-web .nw-nav-close svg,html body#nw-web .nw-nav-open svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
html body#nw-web .nw-nav-dialog nav{display:flex;flex-direction:column;gap:0}
html body#nw-web .nw-nav-dialog nav>a{position:relative;display:flex;align-items:center;gap:14px;box-sizing:border-box;min-height:52px;padding:12px 0;border:0;border-radius:0;background:none;color:#fff;text-decoration:none;font:500 18px/1.45 Manrope,Arial,sans-serif;transform:none}
html body#nw-web .nw-nav-link-label{display:inline-block;transition:transform .22s ease}
html body#nw-web .nw-nav-dialog nav>a>svg{width:22px;height:22px;flex:0 0 22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .22s ease}
html body#nw-web .nw-nav-dialog nav>a::after,html body#nw-web .nw-nav-sections a::after{content:"";position:absolute;left:0;right:0;bottom:3px;height:1px;background:linear-gradient(90deg,transparent,#a8bade55 12%,#a8bade55 88%,transparent);opacity:0;transition:opacity .22s ease}
html body#nw-web .nw-nav-dialog a:is(:hover,:focus-visible,[aria-current=page])::after{opacity:1}
html body#nw-web .nw-nav-subtitle{position:relative;margin:20px 0 8px;padding-top:20px;font:600 10px/1.5 Manrope,Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#fff}
html body#nw-web .nw-nav-subtitle::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#a8bade38,transparent)}
html body#nw-web .nw-nav-sections{display:grid;grid-template-columns:1fr 1fr;column-gap:20px;row-gap:0}
html body#nw-web .nw-nav-sections a{position:relative;display:flex;align-items:center;min-height:44px;padding:7px 0;color:#fff;text-decoration:none;font:400 14px/1.45 Manrope,Arial,sans-serif;background:none;border:0;border-radius:0}
html body#nw-web .nw-nav-dialog nav>a.nw-nav-account{margin-top:16px;padding-top:18px;font-size:17px}
html body#nw-web .nw-nav-dialog :focus-visible,html body#nw-web .nw-nav-header :focus-visible{outline:1px solid #c9b2ef;outline-offset:5px}
html.nw-nav-locked{overflow:hidden}
@media(max-width:900px){
 html body#nw-web#nw-web{padding-top:72px!important}
 html body#nw-web#nw-web [data-desktop-header],html body#nw-web#nw-web [data-desktop-dock]{display:none!important}
 html body#nw-web#nw-web .nw-nav-header{display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;position:fixed;inset:0 0 auto;z-index:1000;height:72px;width:100%;margin:0;padding:0 max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left));background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:0}
 html body#nw-web .nw-nav-header::after{content:none}
 html body#nw-web .nw-nav-brand{display:flex;align-items:center;gap:8px;color:#fff;text-decoration:none;font:650 15px/1.4 Manrope,Arial,sans-serif;white-space:nowrap}
 html body#nw-web .nw-nav-brand img{display:block;width:32px;height:26px;object-fit:contain}
 html body#nw-web .refresh-feedback{right:auto;left:0;text-align:left}
 html body#nw-web .status-tools{align-items:flex-start}
 html{scroll-padding-top:88px}
}
@media(min-width:901px){html body#nw-web .nw-nav-header,html body#nw-web .nw-nav-dialog{display:none!important}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){html body#nw-web .nw-nav-dialog nav>a:hover :is(.nw-nav-link-label,svg){transform:translateY(-2px)}}

@media(max-width:360px){html body#nw-web .nw-nav-dialog{padding-inline:24px}html body#nw-web .nw-nav-dialog nav>a{font-size:17px}}

@media(max-width:900px){html body#nw-web#nw-web>header.nw-nav-header{top:0!important;left:0!important;right:0!important;width:100%!important;max-width:none!important;height:72px!important;min-height:72px!important;margin:0!important;transform:none!important;translate:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}html body#nw-web#nw-web>header.nw-nav-header::before{content:none!important}}

html body#nw-web .nw-nav-heading h2{display:flex;align-items:center;gap:8px}html body#nw-web .nw-nav-heading h2 img{width:32px;height:26px;object-fit:contain}

/* Keep the menu wordmark identical to the fixed mobile header. */
@media(max-width:480px){html body#nw-web#nw-web .nw-nav-dialog .nw-nav-heading h2{font-size:15px!important;gap:8px!important}}

html body#nw-web .nw-nav-dialog>nav,html body#nw-web .nw-nav-sections,html body#nw-web .nw-nav-subtitle{margin-left:12px;margin-right:12px}

@media(max-width:900px){html{scrollbar-gutter:stable}}

/* The mobile header overlays the painting; its glass layer fades independently. */
@media(max-width:900px){
 html body#nw-web#nw-web>header.nw-nav-header{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;isolation:isolate}
 html body#nw-web#nw-web>header.nw-nav-header .nw-nav-glass{display:block;position:absolute;inset:0;z-index:0;pointer-events:none;background:#04102b33;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);opacity:0;will-change:opacity;transition:opacity .5s cubic-bezier(.22,.61,.36,1)!important}
 html body#nw-web#nw-web>header.nw-nav-header :is(.nw-nav-brand,.nw-nav-open){position:relative;z-index:1}
 html body#nw-web#nw-web>header.nw-nav-header[data-scrolled="true"] .nw-nav-glass{opacity:1}
 html body#nw-web#nw-web[data-desktop-kind="home"] .hero{box-sizing:content-box!important;margin-top:-72px!important;padding-top:72px!important}
 html body#nw-web#nw-web[data-desktop-kind="home"] .hero>.hero-art{height:calc(51.25rem + 72px)!important}
}
@media(max-width:620px){html body#nw-web#nw-web[data-desktop-kind="home"] .hero>.hero-art{height:calc(38.75rem + 72px)!important}}
@media(prefers-reduced-motion:reduce){html body#nw-web#nw-web>header.nw-nav-header .nw-nav-glass,html body#nw-web#nw-web #nw-nav-dialog::backdrop,html body#nw-web#nw-web #nw-nav-dialog .nw-nav-surface{transition:none!important}}

html body#nw-web#nw-web .nw-nav-close,html body#nw-web#nw-web .nw-nav-close:is(:focus,:focus-visible,:active){outline:none!important;border:0!important;box-shadow:none!important;-webkit-tap-highlight-color:transparent}

/* The dialog controller owns both directions; no competing CSS entry animation. */
html body#nw-web#nw-web .nw-nav-dialog[open]{transform:none!important}
html body#nw-web#nw-web .nw-nav-dialog[open][data-state="closing"]{pointer-events:none}
@media(max-width:900px){
 html body#nw-web#nw-web #nw-nav-dialog{background:transparent!important}
 html body#nw-web#nw-web #nw-nav-dialog::backdrop{background:#020b2026!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important;transition:backdrop-filter var(--nw-nav-close-duration,400ms) cubic-bezier(.22,.61,.36,1),-webkit-backdrop-filter var(--nw-nav-close-duration,400ms) cubic-bezier(.22,.61,.36,1),background-color var(--nw-nav-close-duration,400ms) cubic-bezier(.22,.61,.36,1)}
 html body#nw-web#nw-web #nw-nav-dialog[data-state="opening"]::backdrop,html body#nw-web#nw-web #nw-nav-dialog[data-state="closing"]::backdrop{background-color:transparent!important;backdrop-filter:blur(0)!important;-webkit-backdrop-filter:blur(0)!important}
 html body#nw-web#nw-web #nw-nav-dialog .nw-nav-surface{position:absolute;inset:0;z-index:0;pointer-events:none;background:#04102b33;opacity:1;transition:opacity var(--nw-nav-close-duration,400ms) cubic-bezier(.22,.61,.36,1)}
 html body#nw-web#nw-web #nw-nav-dialog[data-state="opening"] .nw-nav-surface,html body#nw-web#nw-web #nw-nav-dialog[data-state="closing"] .nw-nav-surface{opacity:0}
 html body#nw-web#nw-web #nw-nav-dialog .nw-nav-surface::before{content:"";position:absolute;inset:0;background:url("asset-80a736c7761cf67f4988.webp") center/cover;opacity:.36}
 html[data-theme="light"] body#nw-web#nw-web #nw-nav-dialog .nw-nav-surface{background:#edf2fa77}
 html[data-theme="light"] body#nw-web#nw-web #nw-nav-dialog .nw-nav-surface::before{background-image:url("clouds-light-e649aa1ea841.webp");opacity:.5}
 html body#nw-web#nw-web #nw-nav-dialog .nw-nav-scroll{position:relative;z-index:1}
}

/* Keep one stable brand mark while the mobile dialog fades in and out. */
@media(max-width:900px){
 html body#nw-web#nw-web>header.nw-nav-header:has(+ #nw-nav-dialog[open]) .nw-nav-open{visibility:hidden!important;}
}

/* Match the fixed header's three strokes, then turn them into the close mark. */
html body#nw-web#nw-web #nw-nav-dialog .nw-nav-close svg path{transform-box:fill-box;transform-origin:center;transition:transform .3s cubic-bezier(.22,.61,.36,1),opacity .2s ease}
html body#nw-web#nw-web #nw-nav-dialog[data-state="open"] .nw-nav-icon-top{transform:translateY(6px) rotate(45deg)}
html body#nw-web#nw-web #nw-nav-dialog[data-state="open"] .nw-nav-icon-middle{opacity:0;transform:scaleX(.5)}
html body#nw-web#nw-web #nw-nav-dialog[data-state="open"] .nw-nav-icon-bottom{transform:translateY(-6px) rotate(-45deg)}
@media(prefers-reduced-motion:reduce){html body#nw-web#nw-web #nw-nav-dialog .nw-nav-close svg path{transition:none}}
