html, body { background: #07070d; color: #e5e7eb; overscroll-behavior: none; }
    body { -webkit-font-smoothing: antialiased; overflow-x: hidden; }
    .grid-bg { background-image: radial-gradient(rgba(255,255,255,0.08) 1px, transparent 1px); background-size: 28px 28px; }
    .text-gradient { background: linear-gradient(92deg, #a78bfa 0%, #22d3ee 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
    .glass { background: linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02)); border: 1px solid rgba(255,255,255,0.08); backdrop-filter: blur(10px); transition: border-color .25s ease; }
    .glass:hover { border-color: rgba(167,139,250,0.35); }
    .orb { position: absolute; border-radius: 9999px; filter: blur(90px); opacity: 0.45; pointer-events: none; }
    #mobile-menu{display:none} #mobile-menu.open{display:block} @media (min-width:1024px){#mobile-menu,#mobile-menu.open{display:none !important}}
    a.bg-white{color:#07070d !important;}
    /* Equal team cards: same width, same portrait ratio, same type scale for everyone */
    .team-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 1.5rem; }
    .team-card { width: 100%; max-width: 26rem; }
    @media (min-width: 768px) { .team-card { width: calc(33.3333% - 1rem); max-width: none; } }
    .team-photo { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center top; display: block; }