:root {
  --ink: #171321;
  --muted: #5f5570;
  --sun: #ffe45c;
  --green: #08bf6a;
  --violet: #7d35f2;
  --blue: #3421c9;
  --pink: #ffc4df;
  --orange: #ff8653;
  --paper: #fff8d6;
  --white: #ffffff;
}

body {
  color: var(--ink);
  background:
    linear-gradient(132deg, rgba(255, 228, 92, 0.28) 0 32%, rgba(8, 191, 106, 0.14) 32% 56%, rgba(125, 53, 242, 0.12) 56% 100%),
    var(--paper);
  font-family: Arial, Helvetica, sans-serif;
  letter-spacing: 0;
}

a {
  text-decoration: none;
}

.fw-black {
  font-weight: 900;
}

.site-navbar {
  border-bottom: 5px solid var(--blue);
  background: rgba(255, 228, 92, 0.96);
  backdrop-filter: blur(14px);
}

.navbar-brand {
  color: var(--blue);
  font-weight: 900;
  text-transform: uppercase;
  text-shadow: 1px 1px 0 var(--white);
}

.navbar-brand:hover {
  color: var(--violet);
}

.navbar-brand img {
  width: 58px;
  height: 58px;
  object-fit: contain;
}

.nav-link {
  color: var(--ink);
  border-bottom: 3px solid transparent;
}

.nav-link:hover,
.nav-link.active {
  color: var(--blue);
  border-color: var(--green);
}

.hero-section,
.page-hero {
  border-bottom: 8px solid var(--blue);
  background:
    linear-gradient(142deg, rgba(255, 228, 92, 0.96) 0 42%, rgba(8, 191, 106, 0.88) 42% 68%, rgba(125, 53, 242, 0.24) 68% 100%),
    var(--sun);
}

.hero-section {
  min-height: calc(100vh - 83px);
  display: grid;
  align-items: center;
}

.dark-hero {
  color: var(--white);
  background:
    linear-gradient(136deg, rgba(52, 33, 201, 0.94) 0 38%, rgba(125, 53, 242, 0.86) 38% 66%, rgba(255, 228, 92, 0.94) 66% 100%);
}

.brand-badge,
.section-kicker {
  color: var(--blue);
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.section-kicker {
  display: inline-block;
  margin-bottom: 12px;
  font-size: 0.84rem;
}

.section-kicker.light {
  color: var(--sun);
}

.lead {
  color: #2c2540;
}

.dark-hero .lead {
  color: #fff8d6;
}

.planner-card {
  padding: 18px;
  border: 4px solid var(--violet);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 10px 10px 0 rgba(52, 33, 201, 0.24);
}

.form-label {
  color: var(--blue);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.form-select {
  border: 2px solid #ead86f;
  border-radius: 10px;
  font-weight: 700;
}

.btn-brand {
  border: 0;
  background: var(--blue);
  color: var(--white);
  font-weight: 900;
}

.btn-brand:hover {
  background: var(--violet);
  color: var(--white);
}

.btn-outline-brand {
  border: 2px solid var(--blue);
  color: var(--blue);
  font-weight: 800;
}

.btn-outline-brand:hover {
  background: var(--blue);
  color: var(--white);
}

.result-text {
  color: var(--muted);
  font-weight: 700;
}

.result-text strong {
  color: var(--blue);
}

.logo-stage {
  display: grid;
  place-items: center;
  max-width: 520px;
  min-height: 430px;
  padding: 24px;
  border: 5px solid var(--blue);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.42), rgba(255, 196, 223, 0.32));
  box-shadow: 12px 12px 0 rgba(125, 53, 242, 0.34);
}

.logo-stage img,
.page-logo {
  width: min(100%, 500px);
  object-fit: contain;
  filter: drop-shadow(0 22px 26px rgba(23, 19, 33, 0.24));
}

.page-logo {
  max-width: 340px;
}

.modern-card,
.discipline-card,
.blog-card {
  display: block;
  padding: 24px;
  border: 3px solid var(--blue);
  border-radius: 16px;
  background: var(--white);
  color: var(--ink);
  box-shadow: 8px 8px 0 rgba(125, 53, 242, 0.18);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.modern-card:hover,
.discipline-card:hover,
.blog-card:hover {
  transform: translateY(-4px);
  box-shadow: 10px 12px 0 rgba(52, 33, 201, 0.22);
}

.modern-card span,
.blog-card span {
  display: inline-block;
  margin-bottom: 14px;
  color: var(--orange);
  font-weight: 900;
  text-transform: uppercase;
}

.modern-card h3,
.discipline-card h3,
.blog-card h3 {
  color: var(--blue);
  font-weight: 900;
}

.modern-card p,
.discipline-card p,
.blog-card p {
  color: var(--muted);
  line-height: 1.55;
}

.green-card {
  border-color: var(--green);
  background: #ecfff4;
}

.violet-card {
  border-color: var(--violet);
  background: #f5eeff;
}

.orange-card {
  border-color: var(--orange);
  background: #fff0e8;
}

.teacher-soft {
  background: linear-gradient(180deg, #fff8d6 0%, #ffefd8 100%);
}

.discipline-band {
  background:
    linear-gradient(135deg, rgba(52, 33, 201, 0.94) 0 48%, rgba(125, 53, 242, 0.94) 48% 100%),
    var(--blue);
}

.discipline-card {
  border-color: var(--sun);
  background: rgba(255, 255, 255, 0.12);
}

.discipline-card h3 {
  color: var(--sun);
}

.discipline-card p {
  color: #fff8d6;
}

.blog-soft {
  background: linear-gradient(180deg, #fff8d6 0%, #ffe9f2 100%);
}

.site-footer {
  padding: 28px 0;
  border-top: 5px solid var(--blue);
  background: var(--sun);
  color: var(--ink);
  font-weight: 800;
}

.site-footer strong {
  color: var(--blue);
}

@media (max-width: 991px) {
  .navbar-brand img {
    width: 48px;
    height: 48px;
  }

  .logo-stage {
    min-height: auto;
  }

  .hero-section {
    min-height: auto;
  }
}
