/* Site menu and footer (scripts/site/chrome.js). Loaded by the Vue pages, /resources/ and the static site pages.
   The menu sits over each page's dark hero and turns solid white once the page scrolls. */
.rnav{--nk:#0e131b;--nl:#e6e9ef;--nacc:#3f9ee0;--ndeep:#2876a8;position:fixed;top:0;left:0;right:0;z-index:50;border-bottom:1px solid transparent;font-family:"DM Sans",-apple-system,system-ui,sans-serif;transition:background .25s ease,border-color .25s ease,box-shadow .25s ease}
.rnav a{text-decoration:none}
.rnav.scrolled{background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom-color:var(--nl);box-shadow:0 8px 30px -22px rgba(10,14,20,.5)}
.rnav .navbar{max-width:1240px;margin:0 auto;padding:20px 44px;display:flex;align-items:center;justify-content:space-between;gap:28px;transition:padding .25s ease}
.rnav.scrolled .navbar{padding:13px 44px}
.rnav .logo{display:block;flex:0 0 auto;line-height:0}
.rnav .logo img{height:34px;width:auto}
.rnav .logo .lg-dark{display:none}
.rnav.scrolled .logo .lg-light,.rnav.open .logo .lg-light{display:none}
.rnav.scrolled .logo .lg-dark,.rnav.open .logo .lg-dark{display:block;height:38px}
.rnav .nl{display:flex;gap:6px;align-items:center;font-size:15px;font-weight:500}
.rnav .dd{position:relative}
.rnav .ddt{display:flex;align-items:center;gap:7px;padding:10px 14px;border-radius:9px;color:rgba(255,255,255,.92);white-space:nowrap;transition:color .15s ease,background .15s ease}
.rnav .ddt::after{content:"";width:6px;height:6px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:translateY(-2px) rotate(45deg);opacity:.7;transition:transform .2s ease}
.rnav .dd:hover .ddt,.rnav .dd:focus-within .ddt{color:#fff;background:rgba(255,255,255,.08)}
.rnav .dd:hover .ddt::after,.rnav .dd:focus-within .ddt::after{transform:translateY(1px) rotate(225deg)}
.rnav .ddt.on{color:#fff;font-weight:700}
.rnav.scrolled .ddt{color:#3a4250}
.rnav.scrolled .dd:hover .ddt,.rnav.scrolled .dd:focus-within .ddt,.rnav.scrolled .ddt.on{color:var(--ndeep);background:#eef5fb}
/* the panel: hidden until its menu item is hovered or focused; links stay in the HTML either way */
.rnav .ddp{position:absolute;top:100%;left:0;margin-top:8px;min-width:230px;background:#fff;border:1px solid var(--nl);border-radius:16px;box-shadow:0 28px 60px -24px rgba(10,14,20,.45);padding:10px;display:flex;flex-direction:column;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .15s ease,transform .15s ease,visibility 0s .15s}
.rnav .ddp::before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}
.rnav .dd:hover .ddp,.rnav .dd:focus-within .ddp{opacity:1;visibility:visible;transform:none;transition:opacity .15s ease,transform .15s ease}
.rnav .ddp a{display:block;padding:9px 12px;border-radius:9px;color:var(--nk);font-size:14.5px;font-weight:600;white-space:nowrap}
.rnav .ddp a:hover,.rnav .ddp a:focus-visible{background:#eef5fb;color:var(--ndeep)}
.rnav .ddp .ddall{margin-top:6px;border-top:1px solid var(--nl);border-radius:0 0 9px 9px;padding-top:12px;color:var(--ndeep);font-weight:700}
.rnav .ddp-wide{left:-40px;width:860px;display:grid;grid-template-columns:repeat(4,1fr);gap:4px 10px;padding:18px}
.rnav .ddp-wide .ddall{grid-column:1/-1}
.rnav .ddg{display:flex;flex-direction:column;gap:1px;padding-top:10px;border-top:3px solid var(--k)}
.rnav .ddg b{font-size:12.5px;font-weight:700;color:#5a6573;padding:2px 12px 6px}
.rnav .ddg a{white-space:normal;line-height:1.3}
.rnav .nr{display:flex;align-items:center;gap:22px;flex:0 0 auto}
.rnav .navphone{font-weight:700;font-size:15px;color:#fff;white-space:nowrap;line-height:1.2}
.rnav.scrolled .navphone{color:var(--ndeep)}
.rnav .navbtn{background:var(--nacc);color:#04121d;font-weight:700;font-size:14px;padding:11px 22px;border-radius:9px;white-space:nowrap;box-shadow:0 10px 22px -10px rgba(63,158,224,.7)}
.rnav .navtoggle{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;background:none;border:none;cursor:pointer;margin-left:auto}
.rnav .navtoggle span{display:block;width:24px;height:2px;border-radius:2px;background:#fff;transition:transform .25s ease,opacity .2s ease}
.rnav.scrolled .navtoggle span,.rnav.open .navtoggle span{background:var(--nk)}
.rnav.open .navtoggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.rnav.open .navtoggle span:nth-child(2){opacity:0}
.rnav.open .navtoggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.rnav .navmenu{display:none;flex-direction:column;max-height:calc(100vh - 70px);overflow-y:auto;background:rgba(255,255,255,.98);border-bottom:1px solid var(--nl);padding:4px 20px 18px}
.rnav .navmenu details{border-bottom:1px solid var(--nl)}
.rnav .navmenu summary{list-style:none;cursor:pointer;padding:15px 2px;font-size:16px;font-weight:700;color:var(--nk);display:flex;justify-content:space-between;align-items:center}
.rnav .navmenu summary::-webkit-details-marker{display:none}
.rnav .navmenu summary::after{content:"+";float:none;margin:0;transform:none;color:var(--ndeep);font-size:20px;font-weight:500}
.rnav .navmenu details[open] summary::after{content:"\2212";transform:none}
.rnav .nmp{display:flex;flex-direction:column;padding:0 0 12px}
.rnav .nmp a{padding:9px 12px;font-size:15px;font-weight:500;color:#3a4250}
.rnav .nmp .ddall{color:var(--ndeep);font-weight:700}
.rnav .nmb{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.rnav .navbtn2{background:var(--nacc);color:#04121d;font-weight:700;border-radius:10px;text-align:center;padding:14px 10px;font-size:15px}
.rnav .navbtn2.call{background:#fff;border:1.5px solid var(--nl);color:var(--ndeep)}
@media (max-width:1100px){.rnav .ddp-wide{width:720px;left:-120px}}
@media (max-width:900px){
  .rnav .navbar{padding:15px 20px;gap:14px}
  .rnav.scrolled .navbar{padding:11px 20px}
  .rnav .nl,.rnav .nr{display:none}
  .rnav .navtoggle{display:flex}
  .rnav.open{background:rgba(255,255,255,.98);backdrop-filter:blur(14px);border-bottom-color:var(--nl)}
  .rnav.open .navmenu{display:flex}
}

/* footer */
.rfoot{background:#0a0e14;color:rgba(234,240,247,.62);padding:56px 0 40px;font-family:"DM Sans",-apple-system,system-ui,sans-serif}
.rfoot .wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.rfoot a{text-decoration:none;color:inherit}
.rfoot a:hover{color:#fff}
.rfoot .fcols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.1)}
.rfoot .fcols>div{display:flex;flex-direction:column;gap:9px;font-size:14.5px}
.rfoot .fcols>div:first-child{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:min-content;column-gap:24px;row-gap:9px}
.rfoot .fcols>div:first-child b{grid-column:1/-1}
.rfoot .fcols b{color:#fff;font-size:14px;font-weight:700;margin-bottom:4px}
.rfoot .fcols b.b2{margin-top:18px}
.rfoot .fl{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:28px;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:12.5px;letter-spacing:.5px}
.rfoot .fl img{height:30px;width:auto}
@media (max-width:900px){.rfoot .fcols{grid-template-columns:1fr 1fr}.rfoot .fcols>div:first-child{grid-column:1/-1}}
@media (max-width:600px){.rfoot{padding:44px 0 32px}.rfoot .fcols{grid-template-columns:1fr}.rfoot .fcols>div:first-child{grid-template-columns:1fr}.rfoot .fl{flex-direction:column;gap:14px;text-align:center}}
