/* =========================
   Stable Baseline Styles
   No overlays. No fixed cards.
   Sticky NAV only.
   ========================= */

:root{
  --bg: #f3f4f6;
  --card: #ffffff;
  --text: #111827;
  --muted: #6b7280;
  --nav: #09152a;
  --button: #0f3d91;
  --buttonText: #ffffff;
  --radius: 14px;
}

*{ box-sizing: border-box; }

html, body{
  margin: 0;
  padding: 0;
  font-family: Arial, Calibri, system-ui, -apple-system, sans-serif;
  color: var(--text);
  background: var(--bg);
}

/* HEADER is normal (NOT sticky) */
header{
  background: #ffffff;
  border-bottom: 1px solid #e5e7eb;
  padding: 18px 16px 14px;
}

header h1{
  margin: 0 0 6px 0;
  font-size: 28px;
}

header p{
  margin: 0;
  color: var(--muted);
  font-size: 14px;
}

/* NAV is the only sticky element */
nav{
  background: var(--nav);
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 10px 16px;
  position: sticky;
  top: 0;
  z-index: 50; /* low, safe */
}

nav a{
  color: #ffffff;
  text-decoration: none;
  font-weight: 600;
  font-size: 14px;
  padding: 6px 10px;
  border-radius: 999px;
}

nav a:hover{
  background: rgba(255,255,255,0.15);
}

/* MAIN container */
main{
  max-width: 980px;
  margin: 0 auto;
  padding: 18px 16px 40px;
}

/* CARD block — explicitly not fixed/sticky */
.card{
  background: var(--card);
  border-radius: var(--radius);
  padding: 18px;
  margin: 14px 0;
  box-shadow: 0 2px 10px rgba(0,0,0,0.06);

  /* ensures no overlay behavior */
  position: static;
}

h2, h3{
  margin: 0 0 10px 0;
}

p{
  line-height: 1.45;
}

.muted{
  color: var(--muted);
  font-size: 14px;
}

/* Hide any leftover "badge" pills */
.badge{
  display: none;
}

/* Buttons */
.button{
  display: inline-block;
  background: var(--button);
  color: var(--buttonText);
  text-decoration: none;
  font-weight: 700;
  padding: 10px 14px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,0.15);
}

.button:hover{
  filter: brightness(1.05);
}

.button.secondary{
  background: #455563;
}

/* Grid (pricing cards) */
.grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 14px;
}

@media (max-width: 920px){
  .grid{ grid-template-columns: 1fr; }
}

/* Card button alignment helpers (safe) */
.card-actions{
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #e5e7eb;
}

/* Basic list spacing */
ul, ol{ padding-left: 20px; }
li{ margin: 6px 0; }

/* Footer */
footer{
  text-align: center;
  color: var(--muted);
  font-size: 12px;
  padding: 18px 0 30px;
}
/* PMAA pricing: force equal card height and bottom-aligned actions */
.grid {
  align-items: stretch;
}

.grid > .card {
  display: flex;
  flex-direction: column;
}

.grid > .card .card-actions {
  margin-top: auto;
  padding-top: 14px;
}
/* PMAA pricing: lock equal height + bottom-aligned buttons */
.grid {
  align-items: stretch;
}

.grid > .card {
  display: flex;
  flex-direction: column;
}

.grid > .card .card-actions {
  margin-top: auto;
  padding-top: 14px;
}
/* PMAA pricing: lock equal height + bottom-aligned buttons */
.grid {
  align-items: stretch;
}

.grid > .card {
  display: flex;
  flex-direction: column;
}

.grid > .card .card-actions {
  margin-top: auto;
  padding-top: 14px;
}