/* Gradient team view. Gradients are a deliberate exception to the app's flat house style, used only * on this showcase page (per the user's request). Cards carry their own saturated background, so they * read on any host theme. */ .team-hero { position: relative; border-radius: 20px; padding: 22px 24px; color: #fff; overflow: hidden; margin-bottom: 18px; background: linear-gradient(135deg, #1e1b4b 0%, #4338ca 55%, #6366f1 100%); } .team-orb { position: absolute; right: -40px; top: -40px; width: 180px; height: 180px; border-radius: 50%; background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.25), transparent 60%); } .team-tag { display: inline-block; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; background: rgba(255, 255, 255, 0.18); padding: 4px 10px; border-radius: 999px; margin-bottom: 10px; } .team-hero h3 { margin: 0 0 6px; font-size: 22px; font-weight: 600; } .team-hero p { margin: 0 0 14px; font-size: 13.5px; line-height: 1.55; color: rgba(255, 255, 255, 0.85); max-width: 600px; } .team-stats { display: flex; gap: 22px; flex-wrap: wrap; } .team-stats > div b { font-size: 20px; font-weight: 600; display: block; line-height: 1; } .team-stats > div span { font-size: 11.5px; color: rgba(255, 255, 255, 0.75); } .team-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 14px; } .team-card { position: relative; border-radius: 18px; padding: 16px 16px 14px; color: #fff; overflow: hidden; box-shadow: 0 8px 24px -12px rgba(30, 27, 75, 0.5); transition: transform 0.18s ease, box-shadow 0.18s ease; } .team-card:hover { transform: translateY(-4px); box-shadow: 0 16px 30px -14px rgba(30, 27, 75, 0.6); } .team-sheen { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(120px 80px at 85% 0%, rgba(255, 255, 255, 0.22), transparent 70%); } .team-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; } .team-avatar { width: 46px; height: 46px; border-radius: 30%; background: rgba(255, 255, 255, 0.92); display: grid; place-items: center; font-weight: 700; font-size: 15px; animation: team-breathe 3.6s ease-in-out infinite; } .team-auto { font-size: 10.5px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; background: rgba(255, 255, 255, 0.2); padding: 4px 9px; border-radius: 999px; } .team-name { font-size: 17px; font-weight: 600; line-height: 1.1; } .team-role { font-size: 12px; color: rgba(255, 255, 255, 0.82); margin: 2px 0 12px; } .team-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; } .team-chips span { font-size: 10.5px; background: rgba(255, 255, 255, 0.18); padding: 3px 8px; border-radius: 7px; } .team-status { display: flex; align-items: center; gap: 7px; font-size: 11.5px; color: rgba(255, 255, 255, 0.85); } .team-dot { width: 8px; height: 8px; border-radius: 50%; background: rgba(255, 255, 255, 0.85); } .team-dot-on { animation: team-pulse 1.6s infinite; } @keyframes team-breathe { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.05); } } @keyframes team-pulse { 0% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.55); } 70% { box-shadow: 0 0 0 7px rgba(255, 255, 255, 0); } 100% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0); } } @media (prefers-reduced-motion: reduce) { .team-avatar, .team-dot-on { animation: none; } }