
.hero { text-align: center; padding: 3rem 1rem; }
.badge-team { display: inline-block; background: var(--gray); color: var(--primary); padding: 4px 12px; border-radius: 20px; font-size: 0.8rem; font-weight: bold; margin-bottom: 1rem; }
.hero h1 { font-size: 2.2rem; margin-bottom: 1rem; line-height: 1.2; }
.hero h1 span { color: var(--primary); }
.hero p { font-size: 1rem; color: var(--text-muted); max-width: 550px; margin: 0 auto 1.8rem; }
.hero-buttons { display: flex; justify-content: center; gap: 0.8rem; }
.btn-primary { background: var(--primary); color: #fff; padding: 0.7rem 1.4rem; border-radius: 6px; font-weight: 700; border: none; cursor: pointer; text-align: center; }
.btn-secondary { background: var(--gray); color: #fff; padding: 0.7rem 1.4rem; border-radius: 6px; font-weight: 700; text-align: center; }
.section-sedes { margin-top: 2rem; }
.section-sedes h2 { text-align: center; margin-bottom: 1.5rem; }
.sedes-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1rem; }
.card-sede { background: var(--dark-card); padding: 1.2rem; border-radius: 8px; border: 1px solid var(--gray); }
.card-sede h3 { color: var(--primary); margin-bottom: 0.4rem; font-size: 1.1rem; }
.location { color: var(--text-muted); font-size: 0.85rem; margin-bottom: 0.4rem; }
.desc { font-size: 0.9rem; }
.auth-container { display: flex; justify-content: center; align-items: center; padding: 2rem 1rem; flex: 1; }
.auth-card { background: var(--dark-card); padding: 2rem; border-radius: 8px; width: 100%; max-width: 400px; border: 1px solid var(--gray); }
.auth-card h2 { margin-bottom: 1.2rem; text-align: center; }
.form-group { margin-bottom: 1rem; }
.form-group label { display: block; margin-bottom: 0.3rem; font-size: 0.85rem; color: var(--text-muted); }
.form-group input, .form-group select { width: 100%; padding: 0.7rem; background: var(--gray); border: 1px solid #444; border-radius: 5px; color: #FFF; }
.full-width { width: 100%; margin-top: 0.5rem; }
.alert-error { background: #441111; color: #FFAAAA; padding: 0.7rem; border-radius: 5px; margin-bottom: 1rem; font-size: 0.85rem; }
.alert-success { background: #114422; color: #AAFFAA; padding: 0.7rem; border-radius: 5px; margin-bottom: 1rem; font-size: 0.85rem; }
