/* Final cross-site polish: nav, spacing, contrast, and responsive article graphics. */
:root {
  --polish-ink: #0a0a0a;
  --polish-text: #2f3847;
  --polish-muted: #536174;
  --polish-border: #e8e8e8;
  --polish-soft: #f6f7f9;
  --polish-blue: #2b4fcf;
}

html {
  scroll-padding-top: 88px !important;
}

body {
  color: var(--polish-text) !important;
  overflow-x: hidden !important;
}

nav.site-nav {
  min-height: 64px !important;
}

nav.site-nav .logo img,
.footer-brand img {
  display: block !important;
  width: 32px !important;
  height: 32px !important;
  flex: 0 0 32px !important;
  object-fit: contain !important;
  border-radius: 7px !important;
  margin-right: 8px !important;
}

nav.site-nav .logo {
  min-width: 0 !important;
  color: var(--polish-ink) !important;
}

nav.site-nav .site-menu a:not(.nav-cta):not(.ncta) {
  color: #404040 !important;
}

nav.site-nav .nav-cta,
nav.site-nav .ncta {
  border-radius: 8px !important;
}

.hero-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: auto !important;
  max-width: calc(100vw - 32px) !important;
  padding: 9px 18px !important;
  border: 1px solid var(--polish-border) !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #475569 !important;
  font-family: inherit !important;
  font-size: .875rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .05) !important;
  white-space: normal !important;
}

.hero-badge::before {
  content: "" !important;
  display: inline-block !important;
  width: 8px !important;
  height: 8px !important;
  flex: 0 0 8px !important;
  border-radius: 999px !important;
  background: #31c77b !important;
  box-shadow: 0 0 0 4px rgba(49, 199, 123, .12) !important;
}

.ph,
.ah {
  margin-top: clamp(96px, 9vw, 124px) !important;
  padding-top: 18px !important;
}

.ah {
  width: min(100% - 32px, 920px) !important;
  max-width: 920px !important;
}

.ph {
  width: min(100% - 32px, 800px) !important;
  max-width: 800px !important;
}

.ah h1 {
  max-width: 880px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  font-size: clamp(2rem, 4.6vw, 3.15rem) !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
}

.ph h1 {
  font-size: clamp(2.1rem, 4.8vw, 3.35rem) !important;
  line-height: 1.1 !important;
}

.am {
  gap: 12px !important;
  row-gap: 8px !important;
  color: #526174 !important;
}

.al {
  margin-top: clamp(40px, 5vw, 64px) !important;
}

.ab {
  color: var(--polish-text) !important;
}

.ab p,
.ab li {
  color: var(--polish-text) !important;
  font-size: clamp(.98rem, 1.8vw, 1.0625rem) !important;
  line-height: 1.78 !important;
}

.ab h2 {
  color: var(--polish-ink) !important;
  font-size: clamp(1.65rem, 3.4vw, 2.25rem) !important;
  line-height: 1.18 !important;
  margin-top: clamp(42px, 6vw, 64px) !important;
  margin-bottom: 14px !important;
}

.ab h3 {
  color: var(--polish-ink) !important;
  font-size: clamp(1.25rem, 2.5vw, 1.55rem) !important;
  line-height: 1.24 !important;
}

.sc {
  background: #060606 !important;
  border: 1px solid rgba(255, 255, 255, .08) !important;
}

.sc h4 {
  color: #fff !important;
}

.sc p {
  color: rgba(255, 255, 255, .74) !important;
  line-height: 1.65 !important;
}

.cr {
  width: 100% !important;
  max-width: 100% !important;
  border-radius: 16px !important;
  overflow: hidden !important;
}

.crd {
  background: #060606 !important;
  border: 1px solid rgba(255, 255, 255, .09) !important;
  color: #fff !important;
}

.crl {
  background: #f7f8fa !important;
  border: 1px solid rgba(15, 23, 42, .1) !important;
  color: var(--polish-text) !important;
}

.crd .crb {
  color: rgba(255, 255, 255, .68) !important;
}

.crd p,
.crd li,
.crd span,
.crd td {
  color: rgba(255, 255, 255, .86) !important;
}

.crd th {
  color: rgba(255, 255, 255, .7) !important;
}

.crd strong,
.crd td:first-child {
  color: #fff !important;
}

.crd [style*="rgba(255,255,255,.1)"],
.crd [style*="rgba(255, 255, 255, .1)"],
.crd [style*="rgba(255,255,255,.2)"],
.crd [style*="rgba(255, 255, 255, .2)"],
.crd [style*="rgba(255,255,255,.3)"],
.crd [style*="rgba(255, 255, 255, .3)"],
.crd [style*="rgba(255,255,255,.35)"],
.crd [style*="rgba(255, 255, 255, .35)"],
.crd [style*="rgba(255,255,255,.4)"],
.crd [style*="rgba(255, 255, 255, .4)"],
.crd [style*="rgba(255,255,255,.5)"],
.crd [style*="rgba(255, 255, 255, .5)"] {
  color: rgba(255, 255, 255, .74) !important;
}

.crd [style*="color:rgba(255,255,255,.7)"],
.crd [style*="color:rgba(255, 255, 255, .7)"],
.crd [style*="color:rgba(255,255,255,.8)"],
.crd [style*="color:rgba(255, 255, 255, .8)"] {
  color: rgba(255, 255, 255, .9) !important;
}

.mt {
  width: 100% !important;
  table-layout: auto !important;
  border-collapse: collapse !important;
}

.mt th {
  color: rgba(255, 255, 255, .72) !important;
  border-color: rgba(255, 255, 255, .22) !important;
}

.mt td {
  border-color: rgba(255, 255, 255, .11) !important;
}

.mt tfoot td {
  color: rgba(255, 255, 255, .82) !important;
}

.crl .mt th,
.crl .mt td,
.ab table:not(.mt) th,
.ab table:not(.mt) td {
  color: var(--polish-text) !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

.ab table:not(.mt) {
  width: 100% !important;
  table-layout: fixed !important;
}

.footer-links a {
  color: #475569 !important;
}

/* Dark panels: keep global heading/paragraph overrides from washing text into black. */
.shift h2,
.cta-box h2,
.crd h2,
.crd h3,
.crd h4 {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

.shift p,
.shift-grid p,
.shift-bottom,
.cta-box p {
  color: rgba(255, 255, 255, .76) !important;
}

.shift-pill {
  color: rgba(255, 255, 255, .86) !important;
}

.shift-tag,
.cta-tag {
  color: #3f66ff !important;
}

.shift [style*="color:rgba(255,255,255,0.3)"],
.shift [style*="color:rgba(255,255,255,0.35)"],
.shift [style*="color:rgba(255,255,255,0.4)"],
.shift [style*="color:rgba(255,255,255,0.5)"],
.cta-box [style*="color:rgba(255,255,255,0.3)"],
.cta-box [style*="color:rgba(255,255,255,0.35)"],
.cta-box [style*="color:rgba(255,255,255,0.4)"],
.cta-box [style*="color:rgba(255,255,255,0.5)"] {
  color: rgba(255, 255, 255, .76) !important;
}

.cta-box .cta-btn,
.cta-box .cta-btn:visited {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* Targeted contrast repairs for shared dark callouts only. */
.shift .dashboard-card > h3 {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

.shift .dashboard-card > p,
.shift .dashboard-card .tier-features li {
  color: rgba(255, 255, 255, .78) !important;
}

.ab .tldr li {
  color: rgba(255, 255, 255, .84) !important;
}

@media (max-width: 1024px) {
  .al {
    grid-template-columns: minmax(0, 1fr) !important;
    max-width: 820px !important;
  }

  .toc,
  .sb {
    position: static !important;
  }
}

@media (max-width: 768px) {
  html {
    scroll-padding-top: 80px !important;
  }

  body.site-menu-open {
    overflow: hidden !important;
  }

  nav.site-nav > .container {
    height: 64px !important;
    min-height: 64px !important;
  }

  nav.site-nav .logo {
    flex: 0 1 auto !important;
    font-size: 1.35rem !important;
  }

  nav.site-nav .site-menu {
    top: 64px !important;
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    max-height: calc(100dvh - 84px) !important;
    background: #fff !important;
  }

  nav.site-nav .site-menu a:not(.nav-cta):not(.ncta),
  nav.site-nav .site-menu .nav-cta,
  nav.site-nav .site-menu .ncta {
    min-height: 46px !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .hero {
    padding-top: 108px !important;
  }

  .ph,
  .ah {
    width: min(100% - 32px, 760px) !important;
    margin-top: 86px !important;
    padding: 20px 0 0 !important;
  }

  .ah h1 {
    font-size: clamp(1.75rem, 7.6vw, 2.3rem) !important;
    line-height: 1.15 !important;
  }

  .ph h1 {
    font-size: clamp(1.9rem, 8vw, 2.55rem) !important;
  }

  .am {
    font-size: .8125rem !important;
  }

  .al {
    width: 100% !important;
    margin-top: 36px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    gap: 28px !important;
  }

  .ab {
    width: 100% !important;
    max-width: 100% !important;
  }

  .ab p,
  .ab li {
    font-size: .98rem !important;
    line-height: 1.72 !important;
  }

  .cr {
    margin: 28px 0 !important;
    overflow: visible !important;
  }

  .crd,
  .crl {
    padding: 18px !important;
  }

  .cr [style*="display:grid"],
  .cr [style*="grid-template-columns"],
  .ab [style*="display:grid"],
  .ab [style*="grid-template-columns"] {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    min-width: 0 !important;
    gap: 14px !important;
  }

  .cr [style*="grid-template-columns:1fr auto 1fr"] > div:nth-child(2) {
    display: none !important;
  }

  .mt {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
  }

  .mt thead {
    display: none !important;
  }

  .mt tbody,
  .mt tfoot,
  .mt tr,
  .mt td {
    display: block !important;
    width: 100% !important;
  }

  .mt tr {
    padding: 12px 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, .14) !important;
  }

  .mt td {
    border: 0 !important;
    padding: 5px 0 !important;
    font-size: .875rem !important;
    line-height: 1.45 !important;
  }

  .mt td:first-child {
    font-weight: 800 !important;
  }

  .mt tfoot tr {
    border-bottom: 0 !important;
  }

  .crl .mt tr {
    border-bottom-color: rgba(15, 23, 42, .12) !important;
  }

  .crl .mt td,
  .crl .mt th {
    color: var(--polish-text) !important;
  }

  .ab table:not(.mt) {
    display: table !important;
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
    overflow: visible !important;
    font-size: .8125rem !important;
  }

  .ab table:not(.mt) th,
  .ab table:not(.mt) td {
    padding: 10px !important;
    line-height: 1.45 !important;
  }

  .sc {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 14px !important;
    padding: 28px 22px !important;
    text-align: center !important;
  }

  .sc img {
    margin: 0 !important;
    width: 58px !important;
    height: 58px !important;
  }

  .sc h4 {
    width: 100% !important;
    margin: 0 !important;
    font-size: 1.15rem !important;
    line-height: 1.2 !important;
    white-space: normal !important;
  }

  .sc p {
    display: block !important;
    width: min(100%, 280px) !important;
    margin: 0 auto 2px !important;
    font-size: .95rem !important;
    line-height: 1.65 !important;
    text-align: center !important;
    white-space: normal !important;
  }

  .scc {
    width: min(100%, 260px) !important;
    min-height: 48px !important;
    justify-content: center !important;
    padding: 13px 18px !important;
    font-size: .95rem !important;
    line-height: 1.25 !important;
    text-align: center !important;
    white-space: normal !important;
  }

  .footer-links {
    max-width: 340px !important;
  }
}

@media (max-width: 480px) {
  nav.site-nav .site-menu {
    left: 8px !important;
    right: 8px !important;
  }

  .hero-badge {
    padding: 8px 14px !important;
    border-radius: 999px !important;
    font-size: .8125rem !important;
  }

  .ah h1 {
    font-size: clamp(1.55rem, 8vw, 2.05rem) !important;
  }

  .ph h1 {
    font-size: clamp(1.75rem, 8vw, 2.25rem) !important;
  }

  .ab h2 {
    font-size: clamp(1.4rem, 7vw, 1.8rem) !important;
  }

  .crd,
  .crl {
    padding: 16px !important;
    border-radius: 14px !important;
  }

  .crd [style*="font-size:2.5rem"],
  .crd [style*="font-size: 2.5rem"] {
    font-size: 2rem !important;
  }
}
