:root { --blue:#315efb; --ink:#111827; --muted:#667085; --line:#e7eaf0; --soft:#f7f8fc; --green:#17815b; --radius:20px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:100px; }
body { margin:0; color:var(--ink); background:#fff; font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; line-height:1.6; }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
button:disabled { cursor:default; }
button:focus-visible,a:focus-visible,summary:focus-visible { outline:3px solid #7996ff; outline-offset:5px; }
h1,h2,h3,p { margin:0; }
h1,h2,h3 { line-height:1.15; letter-spacing:-.045em; }
.container { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
.skip-link { position:fixed; top:8px; left:8px; transform:translateY(-160%); z-index:100; background:white; padding:12px; }
.skip-link:focus { transform:translateY(0); }
.site-header { position:sticky; top:0; z-index:20; background:rgba(255,255,255,.96); backdrop-filter:blur(12px); border-bottom:1px solid var(--line); }
.header-inner { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:flex; align-items:center; gap:10px; font-weight:800; letter-spacing:-.6px; font-size:18px; }
.brand-mark { display:grid; place-items:center; width:36px; height:36px; border-radius:10px; background:var(--blue); color:white; font-size:23px; }
.site-nav { display:flex; align-items:center; gap:27px; font-size:14px; font-weight:600; }
.site-nav a:hover,.footer-links a:hover { color:var(--blue); }
.site-nav [aria-current] { color:var(--blue); }
.button { display:inline-flex; align-items:center; justify-content:center; gap:16px; min-height:48px; padding:12px 22px; border:1px solid transparent; border-radius:9px; font-size:14px; font-weight:650; transition:transform .18s,background .18s; }
.button:hover { transform:translateY(-2px); }
.button.primary { background:var(--blue); color:white; box-shadow:0 5px 14px #315efb20; }
.button.primary:hover { background:#2448c8; }
.button.secondary { border-color:var(--line); background:white; color:var(--ink); }
.menu-toggle { display:none; background:white; border:1px solid var(--line); border-radius:8px; padding:8px 12px; }
.eyebrow { color:var(--blue); font-size:11px; font-weight:750; letter-spacing:.15em; text-transform:uppercase; }
.muted { color:var(--muted); }
.site-footer { border-top:1px solid var(--line); padding:34px 0; font-size:13px; }
.footer-inner { display:flex; justify-content:space-between; align-items:center; gap:24px; }
.footer-links { display:flex; flex-wrap:wrap; gap:24px; }
[hidden] { display:none !important; }
@media(max-width:760px) { .container { width:calc(100% - 32px); } .header-inner { min-height:68px; flex-wrap:wrap; gap:0; } .brand { font-size:16px; } .menu-toggle { display:block; } .site-nav { display:none; width:100%; padding:16px 0 24px; align-items:stretch; flex-direction:column; gap:18px; } .site-nav.is-open { display:flex; } .footer-inner { flex-direction:column; align-items:flex-start; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none !important; transition:none !important; } }

/* Mobile navigation dropdown */
.header-inner { position: relative; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (max-width: 760px) {
  .menu-toggle { width: 44px; height: 40px; display: grid; place-items: center; font-size: 22px; line-height: 1; cursor: pointer; }
  .site-nav { position: absolute; z-index: 20; top: 62px; right: 0; width: min(260px, calc(100vw - 32px)); padding: 14px; background: #fff; border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 18px 40px rgba(20, 30, 60, .14); }
  .site-nav.is-open { display: flex; }
  .site-nav a, .site-nav .button { width: 100%; text-align: left; }
}
