:root{
  --ff-yellow: #F2C200;
  --ff-yellow-soft: #FFDE59;
  --ff-black: #0F0F12;
  --ff-ink: #141414;
  --ff-muted: #6c757d;
}

body{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background: radial-gradient(1200px 700px at 20% 0%, rgba(242,194,0,0.22), transparent 55%),
              radial-gradient(900px 500px at 90% 10%, rgba(242,194,0,0.15), transparent 55%),
              #0b0b0d;
  color: #f2f2f3;
}

h1,h2,h3,h4,.ff-title{
  font-family: Montserrat, Inter, system-ui, sans-serif;
}

.fw-800{ font-weight: 800; }
.fw-700{ font-weight: 700; }

.ff-nav{
  background: rgba(15,15,18,0.92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255,255,255,0.06);
}

.navbar .nav-link{
  color: rgba(255,255,255,0.85);
}
.navbar .nav-link:hover{
  color: #fff;
}
.navbar .nav-link.active{
  color: var(--ff-yellow-soft);
}

.ff-hero{
  background: linear-gradient(135deg, rgba(242,194,0,0.18), rgba(0,0,0,0.2));
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 16px 50px rgba(0,0,0,0.55);
  border-radius: 1.25rem;
}

.ff-card{
  background: rgba(20,20,22,0.92);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 1.25rem;
  box-shadow: 0 12px 40px rgba(0,0,0,0.55);
}

.ff-badge{
  background: rgba(242,194,0,0.18);
  border: 1px solid rgba(242,194,0,0.35);
  color: var(--ff-yellow-soft);
}

.btn-ff{
  --bs-btn-color: #121212;
  --bs-btn-bg: var(--ff-yellow);
  --bs-btn-border-color: var(--ff-yellow);
  --bs-btn-hover-bg: var(--ff-yellow-soft);
  --bs-btn-hover-border-color: var(--ff-yellow-soft);
  --bs-btn-focus-shadow-rgb: 242,194,0;
  font-weight: 700;
}
.btn-ff-outline{
  --bs-btn-color: var(--ff-yellow-soft);
  --bs-btn-border-color: rgba(242,194,0,0.6);
  --bs-btn-hover-bg: rgba(242,194,0,0.15);
  --bs-btn-hover-border-color: var(--ff-yellow);
  --bs-btn-focus-shadow-rgb: 242,194,0;
  font-weight: 700;
}

.ff-input{
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  color: #fff !important;
}
.ff-input::placeholder{ color: rgba(255,255,255,0.55); }

.form-text, .text-muted{ color: rgba(255,255,255,0.65) !important; }

.ff-footer{
  background: rgba(15,15,18,0.92);
  border-top: 1px solid rgba(255,255,255,0.08);
}

.link-muted{
  color: rgba(255,255,255,0.65);
  text-decoration: none;
}
.link-muted:hover{ color: #fff; text-decoration: underline; }

.ff-img-rounded{
  border-radius: 1.25rem;
  border: 1px solid rgba(255,255,255,0.08);
}

.ff-small{
  font-size: 0.95rem;
}

.ff-kicker{
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.65);
  font-size: 0.85rem;
}

.ff-divider{
  height: 1px;
  background: rgba(255,255,255,0.08);
}

.alert{
  border-radius: 1rem;
}
