.pricing-page {
  --pricing-blue:#087df1;
  --pricing-navy:#071a31;
  width:min(1540px, calc(100% - 28px));
  margin:22px auto 48px;
  color:#152841;
}

.pricing-hero {
  padding:clamp(24px, 4vw, 52px);
  border:1px solid #1a72c8;
  border-radius:22px;
  color:#fff;
  text-align:center;
  background:radial-gradient(circle at 85% 5%, rgba(31,184,255,.38), transparent 34%), linear-gradient(135deg, #06162b, #0b4e90);
  box-shadow:0 16px 40px rgba(2,35,69,.2);
}
.pricing-eyebrow { margin:0 0 8px; color:#ffd51f; font-size:.8rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.pricing-hero h1 { max-width:980px; margin:0 auto 12px; color:#fff; font-size:clamp(2rem, 4vw, 3.7rem); line-height:1.08; }
.pricing-hero > p:not(.pricing-eyebrow) { max-width:850px; margin:0 auto; color:#dcecff; font-size:clamp(1rem, 1.5vw, 1.18rem); line-height:1.55; }
.pricing-period-switch { display:inline-flex; gap:6px; margin-top:24px; padding:5px; border:1px solid rgba(255,255,255,.35); border-radius:999px; background:rgba(2,18,36,.5); }
.pricing-period-switch button { min-height:40px; margin:0; padding:8px 17px; border:0; border-radius:999px; color:#d9eaff; background:transparent; font-weight:800; cursor:pointer; }
.pricing-period-switch button.is-active { color:#09203b; background:#ffd51f; }

.pricing-card-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(250px, 1fr)); gap:17px; margin:24px 0; }
.pricing-card { display:grid; grid-template-rows:132px 1fr; min-width:0; overflow:hidden; border:1px solid #bed3ea; border-radius:17px; background:#fff; box-shadow:0 8px 24px rgba(14,57,102,.1); }
.pricing-card.is-free { border-color:#29a96b; }
.pricing-card-logo { display:grid; place-items:center; padding:12px; background:linear-gradient(145deg, #061426, #103862); }
.pricing-logo-frame { display:grid; place-items:center; width:105px; height:94px; }
.pricing-logo-frame img { display:block; max-width:100%; width:105px; height:94px; object-fit:contain; }
.pricing-logo-frame.is-animated {
  width:106px;
  height:106px;
  padding:7px;
  overflow:hidden;
  border:2px solid #39cfff;
  border-radius:50%;
  background:#183248;
  box-shadow:0 0 0 3px rgba(57,207,255,.13), 0 0 15px rgba(57,207,255,.42);
  box-sizing:border-box;
}
.pricing-logo-frame.is-animated img {
  width:88px;
  height:88px;
  border-radius:50%;
  object-fit:cover;
}
.pricing-card-content { display:flex; flex-direction:column; min-width:0; padding:18px; }
.pricing-card h2 { margin:0 0 8px; color:#0c2746; font-size:1.35rem; }
.pricing-description { min-height:4.8em; margin:0 0 13px; color:#566981; line-height:1.5; overflow-wrap:anywhere; }
.pricing-key-access { margin:0 0 17px; padding:12px; border:1px solid #d4e2f1; border-radius:11px; background:#f6faff; }
.pricing-key-access-title { display:block; margin-bottom:8px; color:#173b65; font-size:.79rem; letter-spacing:.04em; text-transform:uppercase; }
.pricing-key-access ul { display:grid; gap:7px; margin:0; padding:0; list-style:none; }
.pricing-key-access li { display:grid; grid-template-columns:17px 1fr; gap:5px; color:#263f5b; font-size:.8rem; line-height:1.2; }
.pricing-key-access li > span:first-child { color:#15844f; font-weight:900; }
.pricing-key-access li.is-unavailable { color:#8996a5; }
.pricing-key-access li.is-unavailable > span:first-child { color:#9ba6b1; }
.pricing-key-access li strong,
.pricing-key-access li small { display:block; }
.pricing-key-access li small { margin-top:2px; color:#61748a; font-size:.71rem; }
.pricing-key-access li.is-unavailable small { color:#9aa5b1; }
.pricing-key-access > a { display:inline-block; margin-top:10px; color:#096bc7; font-size:.76rem; font-weight:800; text-decoration:none; }
.pricing-key-access > a:hover { text-decoration:underline; }
.pricing-amount { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px; margin-top:auto; color:#0c2f59; }
.pricing-amount strong { font-size:1.65rem; line-height:1; }
.pricing-amount span { color:#5f7186; font-weight:700; }
.pricing-discount { margin:9px 0 0; color:#08713c; font-size:.82rem; font-weight:800; }
.pricing-brainiers { margin:13px 0; color:#3c5069; font-size:.86rem; }
.pricing-select-button { display:flex; align-items:center; justify-content:center; min-height:44px; padding:9px 14px; border-radius:9px; color:#fff; background:#087df1; text-decoration:none; font-weight:900; text-align:center; }
.pricing-select-button:hover { color:#fff; background:#075fbd; }
.pricing-card.is-free .pricing-select-button { background:#16864e; }

.pricing-access-section { margin-top:28px; padding:clamp(15px, 2.5vw, 28px); border:1px solid #bed3ea; border-radius:18px; background:#f7faff; }
.pricing-access-section > header {
  position:sticky;
  top:calc(var(--pricing-sticky-offset, 0px) + 8px);
  z-index:12;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin:0 0 18px;
  padding:14px 16px;
  border:1px solid #8ebde9;
  border-radius:13px;
  background:rgba(247,250,255,.97);
  box-shadow:0 8px 22px rgba(12,59,105,.16);
  backdrop-filter:blur(10px);
}
.pricing-access-section h2 { display:block; margin:0 0 5px; padding:0; border:0; color:#102b4b; }
.pricing-access-section header p:not(.pricing-eyebrow) { margin:0; color:#54677e; }
.pricing-print-button { flex:0 0 auto; min-height:40px; margin:0; padding:8px 14px; border:1px solid #087df1; border-radius:9px; color:#fff; background:#087df1; font-weight:800; cursor:pointer; }
.pricing-access-scroll { width:100%; overflow:auto; border:1px solid #c5d5e6; border-radius:11px; background:#fff; }
.pricing-access-table { width:100%; min-width:1120px; border-collapse:separate; border-spacing:0; }
.pricing-access-table th,
.pricing-access-table td { padding:11px 9px; border-right:1px solid #dfE8f2; border-bottom:1px solid #dfE8f2; text-align:center; vertical-align:middle; }
.pricing-access-table thead th { position:sticky; top:0; z-index:2; color:#fff; background:#126bd6; }
.pricing-access-table .pricing-feature-column { position:sticky; left:0; z-index:1; width:290px; min-width:290px; text-align:left; background:#f3f7fc; }
.pricing-access-table thead .pricing-feature-column { z-index:3; color:#fff; background:#0d559d; }
.pricing-feature-column strong,
.pricing-feature-column small { display:block; }
.pricing-feature-column small { margin-top:3px; color:#67788d; font-weight:500; line-height:1.35; }
.pricing-category-row th { padding:8px 12px; color:#0c4f90; background:#deedff; text-align:left; text-transform:uppercase; letter-spacing:.06em; font-size:.76rem; }
.pricing-access-table td small { display:block; margin-top:3px; color:#65768a; font-size:.72rem; }
.pricing-access-table td.has-access { color:#08713c; background:#f7fffa; }
.pricing-access-table td.no-access { color:#9aa7b5; }
.pricing-included { font-weight:900; }
.pricing-included span { font-size:.78rem; }
.pricing-unavailable { padding:18px; border:1px solid #e3c36a; border-radius:10px; color:#6d5100; background:#fff6d9; }

.pricing-footer-cta { display:grid; justify-items:center; gap:10px; margin-top:24px; padding:30px; border-radius:18px; color:#fff; text-align:center; background:#081a30; }
.pricing-footer-cta h2,
.pricing-footer-cta p { margin:0; color:#fff; }
.pricing-footer-cta > a:not(.pricing-beta-link) { margin-top:6px; padding:11px 22px; border-radius:9px; color:#10233d; background:#ffd51f; text-decoration:none; font-weight:900; }
.pricing-footer-cta small { color:#b8c9dd; }
.pricing-beta-link { color:#78c7ff; font-weight:800; }

body.theme-night .pricing-page { color:#e9f2ff; }
body.theme-night .pricing-card,
body.theme-night .pricing-access-scroll { border-color:#315477; background:#0d1928; }
body.theme-night .pricing-card h2,
body.theme-night .pricing-amount,
body.theme-night .pricing-access-section h2 { color:#f3f8ff; }
body.theme-night .pricing-description,
body.theme-night .pricing-amount span,
body.theme-night .pricing-brainiers,
body.theme-night .pricing-access-section header p:not(.pricing-eyebrow) { color:#b4c5d8; }
body.theme-night .pricing-key-access { border-color:#315477; background:#13253a; }
body.theme-night .pricing-key-access-title,
body.theme-night .pricing-key-access li { color:#e4effc; }
body.theme-night .pricing-key-access li small { color:#adbed1; }
body.theme-night .pricing-key-access li.is-unavailable,
body.theme-night .pricing-key-access li.is-unavailable small { color:#75869a; }
body.theme-night .pricing-key-access > a { color:#72c7ff; }
body.theme-night .pricing-access-section { border-color:#315477; background:#101c2d; }
body.theme-night .pricing-access-section > header { border-color:#3b6a96; background:rgba(16,28,45,.97); }
body.theme-night .pricing-access-table .pricing-feature-column { background:#13253a; }
body.theme-night .pricing-feature-column small { color:#b3c3d5; }
body.theme-night .pricing-access-table td.has-access { background:#10271d; }

@media (max-width:760px) {
  .pricing-page { width:min(100% - 16px, 1540px); margin-top:10px; }
  .pricing-hero { border-radius:15px; }
  .pricing-card-grid { grid-template-columns:1fr; }
  .pricing-description { min-height:0; }
  .pricing-access-section > header { top:calc(var(--pricing-sticky-offset, 0px) + 4px); flex-direction:column; gap:9px; padding:10px 12px; }
  .pricing-access-section > header p:not(.pricing-eyebrow) { font-size:.8rem; line-height:1.35; }
  .pricing-access-section > header .pricing-eyebrow { margin-bottom:2px; }
  .pricing-print-button { min-height:36px; padding:6px 11px; }
}

@media print {
  .pricing-period-switch,
  .pricing-print-button,
  .pricing-select-button,
  .pricing-footer-cta { display:none !important; }
  .pricing-access-section > header { position:static; box-shadow:none; }
  .pricing-page { width:100%; margin:0; }
  .pricing-card-grid { grid-template-columns:repeat(3, 1fr); }
  .pricing-card { break-inside:avoid; box-shadow:none; }
  .pricing-access-scroll { overflow:visible; }
  .pricing-access-table { min-width:0; font-size:8pt; }
}
