/* =========================================================
   Pricing page
   ========================================================= */

.pricing-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:24px; align-items:stretch;
}
@media (max-width:1080px){ .pricing-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:620px){ .pricing-grid{ grid-template-columns:1fr; } }

.price-card{
  display:flex; flex-direction:column;
  padding:0 0 30px;
  position:relative;
  border:1px solid var(--border);
}
.price-card.featured{
  border-color:var(--brand);
  box-shadow:0 16px 40px rgba(10,61,115,.16);
}
.price-card-badge{
  position:absolute; top:-13px; left:50%; transform:translateX(-50%);
  background:var(--accent); color:#0B1A08; font-family:var(--font-display); font-weight:700;
  font-size:.72rem; letter-spacing:.06em; text-transform:uppercase;
  padding:6px 16px; border-radius:var(--radius-pill); box-shadow:var(--shadow-sm);
}
.price-card-top{ padding:34px 26px 24px; border-bottom:1px dashed var(--border); }
.price-card-name{ font-family:var(--font-display); font-weight:700; font-size:1.1rem; margin-bottom:6px; }
.price-card-tagline{ font-size:.86rem; color:var(--text-secondary); min-height:40px; line-height:1.55; }
.price-card-amount{ margin-top:18px; display:flex; align-items:baseline; gap:8px; font-family:var(--font-mono); }
.price-card-amount .num{ font-size:2.3rem; font-weight:600; color:var(--brand); }
.price-card-amount .per{ font-size:.78rem; color:var(--text-secondary); text-transform:uppercase; letter-spacing:.05em; font-weight:600; }
.price-card-range{ font-size:.76rem; color:var(--ink-300); margin-top:6px; font-family:var(--font-mono); }

.price-card-body{ padding:22px 26px 0; display:flex; flex-direction:column; gap:14px; flex:1; }
.price-card-body .check-list li{ font-size:.87rem; }
.price-card-cta{ padding:22px 26px 0; }

.pricing-note{
  display:flex; gap:14px; align-items:flex-start; padding:22px 24px; border-radius:var(--radius-md);
  background:var(--blue-100); border:1px solid #D3E3F5;
}
.pricing-note svg{ flex:none; color:var(--brand); margin-top:2px; }

.compare-table-wrap{ overflow-x:auto; border-radius:var(--radius-lg); border:1px solid var(--border); }
table.compare-table{ width:100%; border-collapse:collapse; min-width:720px; background:var(--surface); }
table.compare-table th, table.compare-table td{
  padding:16px 20px; text-align:left; border-bottom:1px solid var(--border); font-size:.9rem;
}
table.compare-table thead th{
  font-family:var(--font-display); font-weight:700; background:var(--surface-alt); font-size:.86rem;
}
table.compare-table tbody th{ font-weight:600; color:var(--text-primary); white-space:nowrap; }
table.compare-table td{ color:var(--text-secondary); }
table.compare-table td.yes{ color:var(--green-600); font-weight:600; }
table.compare-table tr:last-child td, table.compare-table tr:last-child th{ border-bottom:none; }
