/* REDBOX MEMBERSHIP — POLISH (typography + card symmetry) */
:root {
  --f-display: 'Big Shoulders Display', Impact, sans-serif;
  --f-serif: 'Instrument Serif', Georgia, serif;
  --f-body: 'Manrope', system-ui, sans-serif;
}
body, p, a, button, td,
.ms-fc-desc, .tier-range, .tier-tagline, .tier-discount-label {
  font-family: var(--f-body) !important;
}
h1, h2, h3, th, .tier-name, .value {
  font-family: var(--f-display) !important;
  font-weight: 800 !important;
  text-transform: uppercase;
  letter-spacing: .01em;
}
h1 { line-height: .95 !important; }
h2 { font-size: clamp(36px, 4.2vw, 54px) !important; line-height: 1 !important; }
section h3 { font-size: 22px !important; letter-spacing: .03em; }
h1 em, h2 em, h3 em {
  font-family: var(--f-serif) !important;
  font-weight: 400 !important;
  font-style: italic !important;
  text-transform: none;
  letter-spacing: -.01em;
  font-size: 1.08em;
}
h2 em { color: rgb(193, 18, 31); }
.ms-cta-section h2 em { color: #fff; opacity: .92; }
.ms-hero-eyebrow, .eyebrow {
  font-family: var(--f-body) !important;
  font-weight: 800 !important;
  font-size: 11px !important;
  letter-spacing: .28em !important;
  text-transform: uppercase;
}
.ms-hero p { font-size: 17px; line-height: 1.7; }
a.btn-outline, .tier-cta, .btn, [class*="btn"] {
  font-family: var(--f-body) !important;
  font-weight: 700 !important;
  letter-spacing: .01em;
}
.ms-faq-q { font-size: 15.5px !important; font-weight: 700 !important; letter-spacing: -.005em; }
.ms-feature-grid { align-items: stretch; }
.ms-fc-wrap { align-items: stretch !important; height: 100%; }
.ms-fc-card { width: 100%; height: 100%; display: flex; flex-direction: column; }
.ms-fc-inner {
  flex: 1 1 auto;
  height: auto;
  justify-content: flex-start !important;
  gap: 16px;
}
.ms-fc-icon { margin-bottom: 0 !important; }
.ms-fc-title {
  font-family: var(--f-display) !important;
  font-weight: 700 !important;
  font-size: 24px !important;
  letter-spacing: .02em;
  text-transform: uppercase;
  line-height: 1.05;
}
.ms-fc-desc { line-height: 1.65 !important; color: rgba(255, 255, 255, .62); }
.ms-fc-step-num {
  font-family: var(--f-serif) !important;
  font-style: italic;
  font-size: 46px !important;
  line-height: 1 !important;
  letter-spacing: 0;
  background: linear-gradient(135deg, #ff4d4d, #ff9a3c);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
  opacity: .9;
}
.tier-name { font-size: 30px !important; letter-spacing: .06em !important; }
.tier-discount {
  font-family: var(--f-display) !important;
  font-weight: 900 !important;
  font-size: 52px !important;
  line-height: 1 !important;
  letter-spacing: -.01em;
}
.tier-tagline { font-family: var(--f-serif) !important; font-size: 16px !important; font-style: italic; }
.tier-range { font-weight: 600 !important; }
.ms-tiers { align-items: stretch !important; }
.ms-tier, .ms-tier.featured { transform: none !important; height: 100%; }
.ms-tier:hover, .ms-tier.featured:hover { transform: translateY(-6px) !important; }
.ms-tier .tier-header { flex: 0 0 auto; display: flex; flex-direction: column; align-items: center; }
.ms-tier .tier-range {
  min-height: 20px; line-height: 20px;
  display: flex; align-items: center; justify-content: center; gap: 4px;
}
.ms-tier .tier-discount-label { min-height: 19px; }
.ms-tier .tier-body { flex: 1 1 auto; display: flex; flex-direction: column; }
.ms-tier .tier-benefits { flex: 1 1 auto; }
.ms-tier .tier-cta { margin-top: auto; }
.ms-tier.featured .featured-badge { top: 0; }
th { letter-spacing: .08em !important; font-size: 16px !important; }
.value { font-size: 18px !important; font-weight: 800 !important; letter-spacing: .03em; }
td.check:empty::before { content: '✓'; color: #22c55e; font-weight: 800; font-size: 16px; }
td.cross:empty::before { content: '—'; color: rgba(255, 255, 255, .25); font-weight: 600; }
