:root{--bg:#fff;--fg:#111827;--muted:#6b7280;--border:#e5e7eb;--primary:#2563eb;}
*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial}
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}
.container{max-width:72rem;margin:0 auto;padding:0 1rem}.section{padding:4rem 0}.py-4{padding:1rem 0}.py-3{padding:.75rem 0}.py-hero{padding:4rem 0}
.border-b{border-bottom:1px solid var(--border)}.border-t{border-top:1px solid var(--border)}
.sticky{position:sticky}.top-0{top:0}.z-50{z-index:50}.bg-background-70{background:rgba(255,255,255,.7)}.backdrop-blur{backdrop-filter:blur(8px)}
.row{display:flex;align-items:center}.row-between{display:flex;align-items:center;justify-content:space-between}.wrap{flex-wrap:wrap}
.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-6{gap:1.5rem}
.grid-2{display:grid;grid-template-columns:1fr;gap:2rem}.grid-3{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.grid-contact{display:grid;grid-template-columns:1fr;gap:1.5rem}
@media(min-width:768px){.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-contact{grid-template-columns:2fr 1fr}.nav-desktop{display:flex}.nav-cta-desktop{display:block}}
.nav-desktop{display:none;gap:1rem}.nav-cta-desktop{display:none}.nav-link{font-size:.9rem;color:var(--muted)}.nav-link:hover{color:var(--fg)}
.menu-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border);border-radius:8px;background:transparent}
.menu-btn span{width:18px;height:2px;background:#111;display:block;margin:2px 0;transition:.2s}
.menu-btn.open span:nth-child(1){transform:translateY(4px) rotate(45deg)}.menu-btn.open span:nth-child(2){opacity:0}.menu-btn.open span:nth-child(3){transform:translateY(-4px) rotate(-45deg)}
.mobile-nav.hidden{display:none}.mobile-nav{border-top:1px solid var(--border);background:#fff;padding:.75rem 1rem}
.mobile-link{padding:.5rem;border-radius:8px}.mobile-link:hover{background:#f3f4f6}
.brand-circle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border);border-radius:999px;font-weight:700}
.brand-text{font-weight:600;font-size:.95rem}
.h1{font-size:2.25rem;line-height:1.1;font-weight:800}.h2{font-size:1.875rem;line-height:2.25rem;font-weight:700}
.small{font-size:.9rem}.tiny{font-size:.8rem}.bold{font-weight:600}.muted{color:var(--muted)}.text-center{text-align:center}
.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mb-4{margin-bottom:1rem}.maxw-2{max-width:40rem}
.badge{display:inline-block;padding:.25rem .5rem;border:1px solid var(--border);border-radius:999px;font-size:.8rem;color:var(--muted)}
.pill{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .6rem;border:1px solid var(--border);border-radius:999px}
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1rem;border:1px solid var(--border);border-radius:10px;background:#111;color:#fff}.btn:hover{opacity:.95}
.btn-outline{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1rem;border:1px solid var(--border);border-radius:10px;background:#fff;color:#111}.btn-outline:hover{background:#f3f4f6}
.w-full{width:100%}.inline{display:inline-flex}.lead{font-size:1.125rem;color:var(--muted)}
.hero-img{border-radius:24px;box-shadow:0 10px 25px rgba(0,0,0,.08);width:100%;aspect-ratio:4/3;object-fit:cover;position:relative}
.glow{position:absolute;inset:-10px;filter:blur(40px);background:rgba(37,99,235,.12);border-radius:28px}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;text-align:center;color:var(--muted)}
.stat{border:1px solid var(--border);border-radius:16px;padding:.75rem}.stat-num{font-weight:700;font-size:1rem;color:#111;margin:0}
.card{border:1px solid var(--border);border-radius:16px;padding:1rem}.card-title{margin:0 0 .25rem 0;font-weight:700}
.list{display:grid;gap:.5rem}.list-row{display:flex;align-items:center;justify-content:space-between;padding:.5rem;border:1px solid var(--border);border-radius:12px}
.input,.textarea{width:100%;border:1px solid var(--border);border-radius:10px;padding:.6rem .75rem;font:inherit}
.grid-two{display:grid;grid-template-columns:1fr;gap:.75rem}@media(min-width:768px){.grid-two{grid-template-columns:1fr 1fr}}
.headshot{width:12rem;height:12rem;border-radius:999px;object-fit:cover;box-shadow:0 10px 25px rgba(0,0,0,.08)}
.grid-3 .fig{display:flex;flex-direction:column;gap:.4rem}footer .wrap{gap:.5rem}
