/* GENERATED by build.js from assets/site.css — do not edit by hand.
   Header / nav / footer rules only, for pages that use the shared chrome
   but keep their own content styling. Edit assets/site.css instead. */

:root{
    --paper:#ffffff;--cream:#FBFFFD;--ink:#111e29;--body:#111111;--slate:#545963;--slate-2:#8a929e;
    --blue:#0f80fb;--blue-deep:#0a63d6;--mint:#4ce0b5;--mint-soft:#def7f0;--green:#24b26b;--amber:#f5b301;
    --clin:#e9f1fd;--pat:#f1efe9;--hair:#e9e7e0;--hair-2:#eceef1;
    --r-card:18px;--r-ctrl:12px;--r-pill:999px;
    --serif:"Newsreader",Georgia,"Times New Roman",serif;
    --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
    --mono:ui-monospace,"SF Mono","Menlo","JetBrains Mono",monospace;
    --shadow:0 1px 2px rgba(17,30,41,.05),0 10px 30px rgba(17,30,41,.07);
    --grad:linear-gradient(120deg,var(--blue),var(--blue-deep));
  }

.wrap{max-width:1120px;margin:0 auto;padding:0 24px}

.btn{display:inline-flex;align-items:center;gap:8px;background:var(--grad);color:#fff;border:0;
    font:inherit;font-weight:600;font-size:15px;padding:14px 24px;border-radius:var(--r-pill);
    cursor:pointer;text-decoration:none;transition:filter .18s ease}

.btn:hover{filter:brightness(1.06)}

.btn svg{width:16px;height:16px}

/* header */
  .site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.85);backdrop-filter:blur(10px);
    border-bottom:1px solid var(--hair-2)}

.nav{display:flex;align-items:center;gap:24px;height:64px}

.logo{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:20px;color:var(--ink);
    text-decoration:none;letter-spacing:-.01em}

.logo-mark{width:45px;height:45px;border-radius:50%;background:var(--mint-soft);flex:none;display:block}

.nav-links{display:flex;gap:22px;margin-left:14px}

.nav-links a{color:var(--ink);text-decoration:none;font-size:14.5px;font-weight:500}

.nav-links a:hover{color:var(--blue)}

.nav .btn{margin-left:auto;padding:9px 18px;font-size:14px}

/* footer */
  .site-footer{background:var(--ink);color:#cfd6de;padding:56px 0 40px}

.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr 1fr;gap:24px;font-size:13.5px;line-height:1.7}

.footer-grid .logo-f{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:20px;color:#fff}

.footer-grid p{margin:10px 0 0;max-width:34ch;color:#9aa4af}

.footer-grid a{color:#cfd6de;text-decoration:none}

.footer-grid a:hover{color:#fff}

@media (max-width:860px){
  .nav-links{display:none}
  .footer-grid{grid-template-columns:1fr;gap:24px}
}

/* nav dropdowns */
  .navdd{position:relative;display:flex;align-items:center}

.navdd-top{display:inline-flex;align-items:center;gap:5px;background:transparent;border:0;font:inherit;
    cursor:pointer;color:var(--ink);font-size:14.5px;font-weight:500;padding:0;transition:color .18s ease}

.navdd-top .chev{width:11px;height:11px;flex:none;color:var(--slate-2);transition:transform .22s ease,color .18s ease}

.navdd-top:hover,.navdd:focus-within .navdd-top{color:var(--blue)}

.navdd:hover .chev,.navdd:focus-within .chev{transform:rotate(180deg);color:var(--blue)}

.navdd-top.active{color:var(--blue)}

.navdd-menu{position:absolute;top:calc(100% + 18px);left:50%;background:var(--paper);
    border:1px solid var(--hair-2);border-radius:16px;padding:12px;min-width:244px;
    display:flex;flex-direction:column;gap:2px;z-index:30;
    box-shadow:0 6px 16px rgba(17,30,41,.06),0 24px 60px rgba(17,30,41,.14);
    opacity:0;visibility:hidden;transform:translate(-50%,10px);
    transition:opacity .22s ease,transform .22s ease,visibility 0s linear .22s}

.navdd:hover .navdd-menu,.navdd:focus-within .navdd-menu{opacity:1;visibility:visible;
    transform:translate(-50%,0);transition:opacity .22s ease,transform .22s ease,visibility 0s}

.navdd-menu::after{content:"";position:absolute;top:-20px;left:0;right:0;height:20px}

.navdd-menu::before{content:"";position:absolute;top:-6px;left:50%;transform:translateX(-50%) rotate(45deg);
    width:11px;height:11px;background:var(--paper);border-left:1px solid var(--hair-2);border-top:1px solid var(--hair-2)}

.navdd-menu a{display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:9px;font-size:14px;
    white-space:nowrap;color:var(--ink);transition:background .15s ease,color .15s ease}

.navdd-menu a::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--mint);flex:none;
    opacity:0;transform:scale(.4);transition:opacity .18s ease,transform .18s ease}

.navdd-menu a:hover{background:var(--cream);color:var(--blue)}

.navdd-menu a:hover::before{opacity:1;transform:scale(1)}

.nav-links>a{position:relative}

.nav-links>a::after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:2px;
    background:var(--blue);border-radius:2px;transition:right .22s ease}

.nav-links>a:hover::after,.nav-links>a.active::after{right:0}

.nav-links>a.active{color:var(--blue)}

.site-header{transition:box-shadow .25s ease}

.site-header.scrolled{box-shadow:0 1px 0 var(--hair-2),0 10px 28px rgba(17,30,41,.07)}

/* footer sitemap */
  .footer-grid b{display:block;color:#fff;font-size:12.5px;font-weight:600;letter-spacing:.03em;margin-bottom:12px}

.footer-grid .fcol a{display:block;margin-bottom:8px}

/* mobile nav */
  .nav-toggle{display:none;background:transparent;border:0;cursor:pointer;
    padding:0;margin-left:4px;width:40px;height:40px;flex-direction:column;
    align-items:center;justify-content:center;gap:5px;border-radius:10px}

.nav-toggle:focus-visible{outline:2px solid var(--blue);outline-offset:2px}

.nt-bar{display:block;width:22px;height:2px;background:var(--ink);border-radius:2px;
    transition:transform .28s cubic-bezier(.4,0,.2,1),opacity .2s ease}

.nav-toggle.open .nt-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}

.nav-toggle.open .nt-bar:nth-child(2){opacity:0;transform:scaleX(.4)}

.nav-toggle.open .nt-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media (max-width:860px){
  .nav-toggle{display:flex}
  .nav-links{display:none;position:absolute;top:64px;left:0;right:0;background:#fff;
      border-bottom:1px solid var(--hair-2);box-shadow:0 24px 48px rgba(17,30,41,.12);flex-direction:column;
      align-items:flex-start;gap:0;margin-left:0;padding:10px 24px 22px;
      max-height:calc(100vh - 64px);overflow-y:auto}
  .nav-links.open{display:flex;animation:navdrop .28s ease}
  .nav-links.open>*{animation:navitem .34s ease backwards}
  .nav-links.open>*:nth-child(1){animation-delay:.04s}
  .nav-links.open>*:nth-child(2){animation-delay:.09s}
  .nav-links.open>*:nth-child(3){animation-delay:.14s}
  .nav-links.open>*:nth-child(4){animation-delay:.18s}
  .nav-links>*+*{border-top:1px solid var(--hair-2)}
  .nav-links > a{padding:14px 0;width:100%;font-size:15.5px;font-weight:600}
  .nav-links>a::after{display:none}
  .navdd{flex-direction:column;align-items:flex-start;width:100%;padding:6px 0 2px}
  .navdd-top{padding:10px 0 6px;width:100%;text-align:left;font-size:12px;font-weight:600;
      letter-spacing:.12em;text-transform:uppercase;color:var(--slate);gap:8px}
  .navdd-top::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--mint);flex:none}
  .navdd-top .chev{display:none}
  .navdd-menu{position:static;opacity:1;visibility:visible;transform:none;transition:none;
      margin:0 0 8px;border:0;box-shadow:none;padding:0 0 0 15px;min-width:0;background:transparent;border-radius:0}
  .navdd-menu::before,.navdd-menu::after{display:none}
  .navdd-menu a{padding:10px 0 10px 12px;font-size:15px;border-radius:8px}
}
