:root{
  --g-black:#000000;
  --g-orange:#E16732;
  --g-orange-hover:#FF7A3D;
  --g-orange-active:#CF5B29;
  --g-ice:#D1E8FE;
  --g-cream:#FEF0D0;
  --g-card:#101214;
  --g-card-border:#1c1f23;
  --g-text:#EAEFF5;
  --g-text-strong:#F6FAFF;
  --g-muted:#C2CBD5;
}

body{
  background: var(--g-black) !important;
  color: var(--g-text) !important;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
}

.text-muted { color: var(--g-muted) !important; }

.navbar.fixed-top{
  background: var(--g-black) !important;
  border-bottom: 1px solid #17191d !important;
}

.pricing-bg{
  position: relative;
  min-height: 100vh;
}
.pricing-bg::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 25% 10%, rgba(255,255,255,0.05), transparent 45%),
    repeating-linear-gradient(45deg, rgba(255,255,255,0.03) 0 2px, transparent 2px 6px);
  opacity:.25;
  pointer-events:none;
}

.card.brand{
  background: var(--g-card);
  border:1px solid var(--g-card-border);
  border-radius: 18px;
  box-shadow: 0 24px 60px rgba(0,0,0,.45);
  color: var(--g-text);
}

.brand-eyebrow{
  font-family: Oswald, Inter, sans-serif;
  letter-spacing:.04em;
  text-transform:uppercase;
  color: var(--g-cream);
}

.brand-headline{
  font-family: Oswald, Inter, sans-serif;
  font-size: clamp(1.6rem, 2.2vw + 1rem, 2.6rem);
  font-weight:700;
  line-height:1.05;
  color: var(--g-text-strong);
}

.brand-headline .accent{ color: var(--g-orange); }

.eyebrow-cta{
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
  align-items:center;
  justify-content:space-between;
}

.brand-hr{
  border:0;
  height:1px;
  background: #20262e;
  margin: 1.5rem 0;
}

.cta-btn{
  --bs-btn-font-weight: 800;
  --bs-btn-color: #000000;
  --bs-btn-bg: var(--g-orange);
  --bs-btn-border-color: var(--g-orange);
  --bs-btn-hover-color: #000000;
  --bs-btn-hover-bg: var(--g-orange-hover);
  --bs-btn-hover-border-color: var(--g-orange-hover);
  --bs-btn-active-color: #000000;
  --bs-btn-active-bg: var(--g-orange-active);
  --bs-btn-active-border-color: var(--g-orange-active);
  text-transform: uppercase;
  letter-spacing: .02em;
  border: none;
  padding: .9rem 1.4rem;
  border-radius: 12px;
}

.plan{
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0));
  border:1px solid #242a31;
  border-radius:14px;
  transition: transform .15s ease, border-color .15s ease;
  height: 100%;
  color: var(--g-text);
  display:flex;
  flex-direction:column;
}

.plan:hover{
  transform: translateY(-2px);
  border-color:#2d3440;
}

.plan h5{
  margin:0;
  color: var(--g-text-strong);
  font-family: Oswald, Inter, sans-serif;
}

.price-wrap{
  display:flex;
  align-items:flex-end;
  gap:.35rem;
  margin-top:.25rem;
}

.price{
  font-weight:800;
  line-height:1;
  font-size: clamp(1.75rem, 2vw + 1.1rem, 2.25rem);
}

.currency{
  opacity:.95;
  font-size: .95rem;
  transform: translateY(-.2rem);
}

.per{
  color: var(--g-muted);
  font-size: .95rem;
}

.badge-student{
  background: var(--g-ice);
  color:#0b223a;
  border-radius:999px;
  padding:.3rem .6rem;
  font-weight:600;
}

.badge-regular{
  background: transparent;
  color: var(--g-ice);
  border:1px solid var(--g-ice);
  border-radius:999px;
  padding:.3rem .6rem;
  font-weight:600;
}

.badge-premium{
  background: var(--g-orange);
  color:#000;
  border-radius:999px;
  padding:.3rem .6rem;
  font-weight:600;
}

.plan ul{
  margin:1rem 0 0;
  padding-left:0;
  list-style:none;
}

.plan li{
  display:flex;
  gap:.5rem;
  padding:.3rem 0;
}

.plan li i{
  color: var(--g-ice);
  margin-top:.15rem;
}

/* ====== mobile ====== */
@media (max-width: 767.98px){
  .eyebrow-cta{
    flex-direction: column;
    align-items: flex-start;
  }
  .cta-btn{
    width: 100%;
    text-align: center;
    justify-content: center;
  }
  .plan{
    height:auto;
  }
  .pricing-bg{
    padding-bottom: 1.5rem;
  }
}
