/* GENERATED by Nika mini-CMS -- do not edit by hand.
   A82-WEBCMS-20260731-MARKER
   Written: 2026-08-03T17:25:50Z
   Overrides the 12 editable shades declared in nika-brand.css.
   nika-brand.css itself is never modified by this render. */
:root {
  --azure: #75a3bd;
  --azure-deep: #1b4e75;
  --azure-tint: #cddce4;
  --azure-soft: #e9f1f5;
  --cerise: #c14c78;
  --cerise-deep: #9c3860;
  --cerise-soft: #f8e9ef;
  --gold: #f0c987;
  --ink: #141413;
  --muted: #6b665e;
  --cream: #faf9f5;
  --cream-2: #f4f3ee;
}

:root {
  --h1-size: 38px;
  --h1-weight: 600;
  --h1-lh: 1.75;
  --h1-track: -.005em;
  --h1-margin: 0;
  --h2-size: 30px;
  --h2-weight: 400;
  --h2-lh: 1.55;
  --h2-track: -.02em;
  --h2-margin: 0;
  --h3-size: 22px;
  --h3-weight: 400;
  --h3-lh: 1.55;
  --h3-track: -.02em;
  --h3-margin: 0;
  --h4-size: 18px;
  --h4-weight: 400;
  --h4-lh: 1.55;
  --h4-track: -.02em;
  --h4-margin: 0;
  --h5-size: 16px;
  --h5-weight: 400;
  --h5-lh: 1.55;
  --h5-track: -.02em;
  --h5-margin: 0;
  --h6-size: 14px;
  --h6-weight: 400;
  --h6-lh: 1.55;
  --h6-track: -.02em;
  --h6-margin: 0;
  --hero-h1-size: 38px;
  --plan-price-size: 40px;
  --stat-num-size: 36px;
  --article-h3-size: 17px;
  --cat-card-h3-size: 18px;
  --sec-pad-tight: 56px;
  --sec-pad-normal: 88px;
  --sec-pad-loose: 120px;
  --grid-gap: 22px;
  --container-max: 1120px;
  --container-pad: 40px;
  --btn-radius: 999px;
  --btn-pad-y: 13px;
  --btn-pad-x: 24px;
  --btn-weight: 600;
  --btn-size: 15px;
  --radius: 16px;
  --radius-sm: 10px;
  --radius-lg: 22px;
  --shadow: 0 24px 50px -30px rgba(20,20,19,.30);
  --shadow-sm: 0 1px 3px rgba(20,20,19,.07), 0 1px 2px rgba(20,20,19,.05);
}

h1 { font-size: var(--h1-size); font-weight: var(--h1-weight); line-height: var(--h1-lh); letter-spacing: var(--h1-track); margin: var(--h1-margin); }
h2 { font-size: var(--h2-size); font-weight: var(--h2-weight); line-height: var(--h2-lh); letter-spacing: var(--h2-track); margin: var(--h2-margin); }
h3 { font-size: var(--h3-size); font-weight: var(--h3-weight); line-height: var(--h3-lh); letter-spacing: var(--h3-track); margin: var(--h3-margin); }
h4 { font-size: var(--h4-size); font-weight: var(--h4-weight); line-height: var(--h4-lh); letter-spacing: var(--h4-track); margin: var(--h4-margin); }
h5 { font-size: var(--h5-size); font-weight: var(--h5-weight); line-height: var(--h5-lh); letter-spacing: var(--h5-track); margin: var(--h5-margin); }
h6 { font-size: var(--h6-size); font-weight: var(--h6-weight); line-height: var(--h6-lh); letter-spacing: var(--h6-track); margin: var(--h6-margin); }
.article-hero h1 { font-size: var(--hero-h1-size); }
.plan-price { font-size: var(--plan-price-size); }
.stat-num { font-size: var(--stat-num-size); }
.article-body h3 { font-size: var(--article-h3-size); }
.cat-card h3 { font-size: var(--cat-card-h3-size); }

/* P2a additions -- A94-CMSTYPED-20260731-MARKER */
.cards-autofit { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 22px; }
@media (max-width: 860px) { .cards-autofit { grid-template-columns: 1fr; } }

.compare-matrix-wrap { overflow-x: auto; }
@media (max-width: 640px) {
  .compare-matrix-table, .pricing-compare-table { display: block; }
  .compare-matrix-table thead, .pricing-compare-table thead { display: none; }
  .compare-matrix-table tbody, .pricing-compare-table tbody { display: block; }
  .compare-matrix-table tr, .pricing-compare-table tr { display: block; margin-bottom: 16px; border: 1px solid var(--azure-tint); border-radius: 12px; padding: 12px; }
  .compare-matrix-table td, .pricing-compare-table td { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; }
  .compare-matrix-table td::before, .pricing-compare-table td::before { content: attr(data-label); font-weight: 600; color: var(--muted); }
}

.table-scroll-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
@media (max-width: 640px) { .table-scroll-wrap table { min-width: 560px; } }

@keyframes nk-testimonial-cycle {
  0%, 20% { opacity: 1; }
  28%, 100% { opacity: 0; }
}
.testimonials-rotate { position: relative; min-height: 1px; }
.testimonials-rotate .testimonial-item {
  position: absolute; inset: 0; opacity: 0;
  animation-name: nk-testimonial-cycle; animation-timing-function: ease-in-out; animation-iteration-count: infinite;
}
.testimonials-rotate:hover .testimonial-item, .testimonials-rotate:focus-within .testimonial-item { animation-play-state: paused; }
.testimonials-static .testimonial-item { position: static; opacity: 1; }
@media (max-width: 860px) {
  .testimonials-rotate .testimonial-item { position: static; opacity: 1; animation: none; }
}

@supports (animation-timeline: view()) {
  .reveal-fade-up { opacity: 0; transform: translateY(24px); animation: nk-reveal-fade-up linear both; animation-timeline: view(); animation-range: entry 0% cover 30%; }
  @keyframes nk-reveal-fade-up { to { opacity: 1; transform: none; } }
}

@media (prefers-reduced-motion: reduce) {
  .reveal-fade-up { opacity: 1 !important; transform: none !important; animation: none !important; }
  .testimonials-rotate .testimonial-item { position: static !important; opacity: 1 !important; animation: none !important; }
  * { transition-duration: 0.01ms !important; }
}