@import url('https://fonts.googleapis.com/css2?family=Syne:wght@400;700;800;900&family=DM+Sans:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap');
:root{--blue:#1d5fc7;--teal:#0fa89f;--gold:#d4960a;--red:#c0291e;--ff-head:'Syne',sans-serif;--ff-body:'DM Sans',system-ui,sans-serif;--ff-mono:'JetBrains Mono',monospace;--ease:cubic-bezier(.4,0,.2,1)}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:hidden}
body{background:#ffffff;color:#1e293b;font-family:var(--ff-body);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
button{cursor:pointer;font-family:var(--ff-body)}
.container{max-width:1160px;margin:0 auto;padding:0 28px}
.topbar{background:#1d5fc7;padding:9px 0;font-size:13px;font-weight:600;color:rgba(255,255,255,.85);text-align:center;z-index:100;position:relative}
.topbar a{color:#93c5fd;font-weight:700}
.topbar a:hover{color:#fff}
.nav{position:fixed;top:38px;left:0;right:0;z-index:99;transition:background .3s,box-shadow .3s,top .3s}
.nav.scrolled{top:0;background:rgba(255,255,255,.97);backdrop-filter:blur(20px);box-shadow:0 1px 0 #e2e8f0,0 4px 20px rgba(0,0,0,.06)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:68px;gap:16px}
.nav-logo img{height:36px;width:auto}
.nav-links{display:flex;align-items:center;gap:2px;list-style:none}
.nav-links a{padding:8px 12px;border-radius:8px;font-size:14px;font-weight:600;color:#475569;transition:color .2s,background .2s}
.nav-links a:hover,.nav-links a.active{color:#1d5fc7;background:rgba(29,95,199,.07)}
.nav-actions{display:flex;align-items:center;gap:10px}
.nav-cta{padding:10px 22px;border-radius:10px;background:#1d5fc7;color:#fff;font-weight:700;font-size:14px;box-shadow:0 4px 14px rgba(29,95,199,.3);transition:background .2s,transform .15s;white-space:nowrap}
.nav-cta:hover{background:#1851b0;transform:translateY(-1px)}
.menu-toggle{display:none;width:40px;height:40px;border-radius:8px;background:transparent;border:1px solid #e2e8f0;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.menu-toggle span{display:block;width:20px;height:2px;background:#334155;border-radius:2px}
.mobile-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:200;opacity:0;pointer-events:none;transition:opacity .3s}
.mobile-overlay.open{opacity:1;pointer-events:all}
.mobile-menu{position:fixed;top:0;right:0;bottom:0;width:min(320px,85vw);background:#fff;border-left:1px solid #e2e8f0;z-index:201;transform:translateX(100%);transition:transform .35s var(--ease);display:flex;flex-direction:column;padding:28px 24px;overflow-y:auto}
.mobile-menu.open{transform:translateX(0)}
.mob-close{align-self:flex-end;font-size:22px;color:#94a3b8;cursor:pointer;margin-bottom:28px}
.mobile-links{list-style:none;display:grid;gap:4px}
.mobile-links a{display:block;padding:13px 16px;border-radius:10px;font-size:16px;font-weight:600;color:#334155;transition:background .2s}
.mobile-links a:hover{background:#f1f5f9;color:#1d5fc7}
.mob-cta{margin-top:16px;display:block;text-align:center;padding:15px;border-radius:12px;background:#1d5fc7;color:#fff;font-weight:700;font-size:15px}
.reveal{opacity:1;transform:none}
.reveal.in{opacity:1;transform:none}
footer{background:#0f172a;color:rgba(255,255,255,.6);padding:clamp(48px,7vw,80px) 0 32px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px}
.footer-col h4{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:16px;font-family:var(--ff-mono)}
.footer-col ul{list-style:none;display:grid;gap:10px}
.footer-col a{font-size:14px;color:rgba(255,255,255,.5);transition:color .2s}
.footer-col a:hover{color:#fff}
.footer-bottom{padding-top:24px;border-top:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px;color:rgba(255,255,255,.5)}
.footer-bottom a{color:rgba(255,255,255,.6)}
.footer-bottom a:hover{color:rgba(255,255,255,.7)}
@media(max-width:1100px){.footer-grid{grid-template-columns:1fr 1fr;gap:36px}}
@media(max-width:860px){.nav-links,.nav-cta{display:none}.menu-toggle{display:flex}}
@media(max-width:600px){.container{padding:0 16px}.footer-grid{grid-template-columns:1fr}}
/* Nav white text on hero pages */
.nav:not(.scrolled) .nav-links a{color:rgba(255,255,255,.85)}
.nav:not(.scrolled) .nav-links a:hover,.nav:not(.scrolled) .nav-links a.active{color:#fff;background:rgba(255,255,255,.15)}
.nav:not(.scrolled) .nav-cta{background:rgba(255,255,255,.2);box-shadow:none;border:1.5px solid rgba(255,255,255,.4)}
.nav:not(.scrolled) .nav-cta:hover{background:rgba(255,255,255,.3)}
