/* NoticeDock Phase 5: site-wide information architecture and formatting polish. */
:root {
  color-scheme: dark;
  --nd5-bg: #07131f;
  --nd5-bg-deep: #050d17;
  --nd5-panel: rgba(14, 30, 48, 0.96);
  --nd5-panel-soft: rgba(10, 23, 39, 0.96);
  --nd5-border: rgba(119, 159, 192, 0.22);
  --nd5-border-strong: rgba(47, 202, 189, 0.3);
  --nd5-text: #f5f8fc;
  --nd5-copy: #c7d4e0;
  --nd5-muted: #9db0c1;
  --nd5-teal: #24c6b7;
  --nd5-purple: #9a79ff;
  --nd5-blue: #5ba8ff;
  --nd5-section: clamp(3.2rem, 5.6vw, 5.2rem);
  --nd5-radius: 22px;
}

body.nd-polish-v5 {
  min-height: 100%;
  background:
    radial-gradient(circle at 8% 2%, rgba(36, 198, 183, 0.16), transparent 24rem),
    radial-gradient(circle at 93% 7%, rgba(154, 121, 255, 0.17), transparent 29rem),
    radial-gradient(circle at 52% 100%, rgba(91, 168, 255, 0.08), transparent 34rem),
    linear-gradient(180deg, #081522 0%, var(--nd5-bg) 42%, var(--nd5-bg-deep) 100%) !important;
  color: var(--nd5-text);
  animation: none !important;
}

body.nd-polish-v5::before,
body.nd-polish-v5::after {
  content: none !important;
  display: none !important;
}

.nd-polish-v5 main {
  overflow: clip;
  background: transparent !important;
}

.nd-polish-v5 .site-header,
.nd-polish-v5 .site-footer {
  background: rgba(4, 13, 23, 0.95) !important;
  border-color: rgba(117, 154, 186, 0.14) !important;
  backdrop-filter: blur(16px);
}

.nd-polish-v5 .nav-shell {
  min-height: 72px;
}

.nd-polish-v5 .nav-links {
  gap: 0.25rem;
}

.nd-polish-v5 .nav-links > a:not(.btn) {
  padding: 0.65rem 0.78rem;
  border-radius: 999px;
}

.nd-polish-v5 .nav-links > a[aria-current="page"] {
  color: #fff;
  background: rgba(36, 198, 183, 0.16);
  box-shadow: inset 0 0 0 1px rgba(36, 198, 183, 0.22);
}

.nd-polish-v5 .brand-subtitle {
  color: #8fded7;
}

.nd-polish-v5 :is(h1, h2, h3) {
  color: var(--nd5-text);
  text-wrap: balance;
}

.nd-polish-v5 h1 {
  letter-spacing: -0.058em;
  line-height: 0.98;
}

.nd-polish-v5 h2 {
  letter-spacing: -0.045em;
  line-height: 1.05;
}

.nd-polish-v5 h3 {
  letter-spacing: -0.032em;
  line-height: 1.12;
}

.nd-polish-v5 :is(p, li, .muted, .lede) {
  color: var(--nd5-copy);
  text-wrap: pretty;
}

.nd-polish-v5 .lede {
  max-width: 68ch;
  line-height: 1.65;
}

.nd-polish-v5 .reveal,
.nd-polish-v5 .reveal.ready {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  transition: none !important;
  animation: none !important;
}

.nd-polish-v5 :is(.section, .nd-content-section, .nd-secondary-product-section) {
  min-height: 0 !important;
  padding-block: var(--nd5-section) !important;
}

.nd-polish-v5 :is(.page-shell, .page-shell-frontline) {
  min-height: 0 !important;
  padding: clamp(3.3rem, 5.6vw, 5.2rem) 0 var(--nd5-section) !important;
}

.nd-polish-v5 :is(.nd-sales-hero, .nd-product-hero, .nd-app-overview-hero, .nd-inner-hero) {
  min-height: 0 !important;
  padding: clamp(3.6rem, 6vw, 5.6rem) 0 clamp(3.1rem, 5vw, 4.7rem) !important;
  background:
    radial-gradient(circle at 88% 14%, rgba(154, 121, 255, 0.15), transparent 24rem),
    radial-gradient(circle at 8% 86%, rgba(36, 198, 183, 0.1), transparent 22rem),
    linear-gradient(
      105deg,
      rgba(7, 19, 31, 0.98),
      rgba(10, 25, 41, 0.95) 58%,
      rgba(18, 23, 49, 0.94)
    ) !important;
}

.nd-polish-v5 :is(.nd-sales-hero, .nd-product-hero, .nd-app-overview-hero, .nd-inner-hero)::before,
.nd-polish-v5 :is(.nd-sales-hero, .nd-product-hero, .nd-app-overview-hero, .nd-inner-hero)::after,
.nd-polish-v5 .nd-product-proof::before,
.nd-polish-v5 .nd-product-proof::after {
  content: none !important;
  display: none !important;
}

.nd-polish-v5 .page-intro {
  max-width: 880px;
}

.nd-polish-v5 .page-intro h1 {
  max-width: 15ch;
  margin-top: 0.6rem;
  font-size: clamp(2.65rem, 5.6vw, 5.8rem);
}

.nd-polish-v5 .page-intro .lede {
  margin-top: 1.15rem;
  font-size: clamp(1.05rem, 1.5vw, 1.24rem);
}

.nd-polish-v5 .nd-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(280px, 0.65fr);
  align-items: end;
  gap: clamp(1.4rem, 3vw, 3rem);
  margin-bottom: clamp(1.5rem, 3vw, 2.3rem);
}

.nd-polish-v5 .nd-section-heading > div,
.nd-polish-v5 .nd-section-heading > p {
  min-width: 0;
}

.nd-polish-v5 .nd-section-heading h2 {
  max-width: 18ch;
  margin-top: 0.45rem;
  font-size: clamp(2.1rem, 4.4vw, 4.2rem);
}

.nd-polish-v5 .nd-section-heading > p {
  max-width: 46rem;
  margin: 0;
  justify-self: end;
  line-height: 1.68;
}

.nd-polish-v5
  :is(
    .card,
    .doc-panel,
    .quick-card,
    .nd-app-choice-card,
    .nd-unified-price-card,
    .nd-support-card
  ) {
  border: 1px solid var(--nd5-border) !important;
  border-radius: var(--nd5-radius) !important;
  background: linear-gradient(155deg, var(--nd5-panel), var(--nd5-panel-soft)) !important;
  box-shadow: 0 20px 54px rgba(0, 5, 14, 0.24) !important;
}

.nd-polish-v5
  :is(.card, .doc-panel, .quick-card, .nd-app-choice-card, .nd-unified-price-card, .nd-support-card)
  > :first-child {
  margin-top: 0;
}

.nd-polish-v5 :is(.card, .doc-panel, .quick-card) p {
  line-height: 1.63;
}

.nd-polish-v5
  :is(
    .nd-stripe-pricing-grid,
    .nd-app-choice-grid,
    .nd-support-grid-primary,
    .pricing-grid,
    .usecase-grid,
    .hiw-product-headlines
  ) {
  align-items: stretch;
}

.nd-polish-v5
  :is(
    .nd-stripe-pricing-grid,
    .nd-app-choice-grid,
    .nd-support-grid-primary,
    .pricing-grid,
    .usecase-grid,
    .hiw-product-headlines
  )
  > * {
  height: 100%;
}

.nd-polish-v5
  :is(
    .nd-unified-price-card,
    .nd-app-choice-card,
    .nd-support-card,
    .pricing-card,
    .usecase-grid > article,
    .hiw-product-card
  ) {
  display: flex;
  flex-direction: column;
}

.nd-polish-v5
  :is(
    .nd-unified-actions,
    .nd-app-choice-actions,
    .nd-home-card-actions,
    .nd-support-card .hero-actions,
    .pricing-card .hero-actions
  ) {
  margin-top: auto !important;
  padding-top: 1.2rem;
}

.nd-polish-v5 .hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem;
  margin-top: 1.35rem;
}

.nd-polish-v5 .btn {
  min-height: 44px;
  justify-content: center;
}

.nd-polish-v5 .btn-primary {
  color: #031514;
  background: linear-gradient(135deg, #2ad0bf, #16a99e) !important;
  border-color: rgba(71, 244, 222, 0.35) !important;
  box-shadow: 0 12px 28px rgba(14, 176, 162, 0.2);
}

.nd-polish-v5 .btn-secondary {
  color: #e5eff8;
  background: rgba(12, 29, 47, 0.88) !important;
  border-color: rgba(106, 155, 199, 0.3) !important;
}

.nd-polish-v5 .kicker,
.nd-polish-v5 .page-crumb {
  color: #82e8df;
  letter-spacing: 0.14em;
}

.nd-polish-v5 .nd-unified-price-top {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.nd-polish-v5 .nd-unified-price-card {
  padding: clamp(1.45rem, 2.7vw, 2.15rem);
}

.nd-polish-v5 .nd-unified-price-card h2 {
  min-height: 2.1em;
  margin-top: 1.15rem;
  font-size: clamp(2rem, 3.2vw, 3rem);
}

.nd-polish-v5 .nd-unified-outcome {
  min-height: 4.9em;
}

.nd-polish-v5 .nd-unified-checks {
  margin-top: 1.15rem;
}

.nd-polish-v5 .nd-price-resource-links {
  gap: 0.55rem 1rem;
}

.nd-polish-v5 .nd-price-resource-links a,
.nd-polish-v5 .nd-card-upsell a {
  color: #aaceff;
  font-weight: 800;
  text-decoration: none;
}

.nd-polish-v5 .nd-card-upsell {
  margin: 0.85rem 0 0;
  padding: 0.85rem 0 0;
  border-top: 1px solid rgba(119, 159, 192, 0.14);
  color: var(--nd5-muted);
  font-size: 0.85rem;
  line-height: 1.55;
}

.nd-polish-v5 .nd-support-grid-primary {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nd-polish-v5 .nd-support-card {
  padding: clamp(1.45rem, 2.8vw, 2.1rem);
}

.nd-polish-v5 .nd-support-card h2,
.nd-polish-v5 .nd-support-card h3 {
  min-height: 2.25em;
  margin-top: 0.7rem;
}

.nd-polish-v5 .support-checklist {
  margin-top: 1.1rem;
}

.nd-polish-v5 .nd-frontline-support-section {
  margin-top: clamp(2.5rem, 5vw, 4.5rem);
  padding-top: clamp(2.5rem, 5vw, 4.5rem);
  border-top: 1px solid rgba(119, 159, 192, 0.14);
}

.nd-polish-v5 .nd-frontline-support-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.nd-polish-v5 #frontline-plans {
  scroll-margin-top: 96px;
  margin-top: clamp(2.5rem, 5vw, 4.5rem);
}

.nd-polish-v5 .pricing-grid-uniform {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nd-polish-v5 .pricing-card .price-placeholder {
  min-height: 76px;
}

.nd-polish-v5 .pricing-card .pricing-checklist {
  flex: 1;
}

.nd-polish-v5 .nd-docs-hub-v5 .page-intro {
  margin-bottom: 1.4rem;
}

.nd-polish-v5 .nd-docs-nav-v5 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.15rem;
}

.nd-polish-v5 .nd-docs-nav-v5 .doc-toc-links {
  margin: 0;
}

.nd-polish-v5 .nd-docs-primary {
  padding-block: var(--nd5-section);
}

.nd-polish-v5 .nd-docs-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.nd-polish-v5 .nd-docs-card {
  display: flex;
  flex-direction: column;
  min-height: 310px;
  padding: clamp(1.35rem, 2.4vw, 1.9rem);
}

.nd-polish-v5 .nd-docs-card h3 {
  margin-top: 0.65rem;
  font-size: clamp(1.45rem, 2.5vw, 2rem);
}

.nd-polish-v5 .nd-docs-card .btn {
  align-self: flex-start;
  margin-top: auto;
}

.nd-polish-v5 .nd-docs-card-overview {
  border-color: var(--nd5-border-strong) !important;
  background:
    linear-gradient(135deg, rgba(36, 198, 183, 0.08), transparent 46%),
    linear-gradient(155deg, var(--nd5-panel), var(--nd5-panel-soft)) !important;
}

.nd-polish-v5 .nd-docs-secondary {
  padding-bottom: var(--nd5-section);
}

.nd-polish-v5 .nd-docs-frontline-details {
  padding: 0;
  overflow: hidden;
}

.nd-polish-v5 .nd-docs-frontline-details summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.25rem 1.4rem;
  cursor: pointer;
  list-style: none;
}

.nd-polish-v5 .nd-docs-frontline-details summary::-webkit-details-marker {
  display: none;
}

.nd-polish-v5 .nd-docs-frontline-details summary strong {
  display: block;
  margin-top: 0.35rem;
  font-size: 1.25rem;
}

.nd-polish-v5 .nd-docs-frontline-body {
  padding: 0 1.4rem 1.4rem;
  border-top: 1px solid rgba(119, 159, 192, 0.14);
}

.nd-polish-v5 .nd-docs-compact-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
  margin-top: 1rem;
}

.nd-polish-v5 .nd-docs-compact-links a {
  display: block;
  padding: 1rem;
  border: 1px solid rgba(119, 159, 192, 0.18);
  border-radius: 16px;
  color: #eef6ff;
  background: rgba(5, 17, 30, 0.58);
  text-decoration: none;
}

.nd-polish-v5 .nd-docs-compact-links span {
  display: block;
  margin-top: 0.4rem;
  color: var(--nd5-muted);
  font-size: 0.88rem;
  line-height: 1.5;
}

.nd-polish-v5 .doc-flow {
  gap: 1rem;
}

.nd-polish-v5 .doc-panel {
  padding: clamp(1.25rem, 2.5vw, 1.9rem);
}

.nd-polish-v5 .doc-panel h2 {
  max-width: 24ch;
}

.nd-polish-v5 .field-row {
  align-items: start;
  gap: 1rem;
  padding-block: 0.9rem;
}

.nd-polish-v5 .hiw-product-headlines,
.nd-polish-v5 .usecase-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nd-polish-v5 .hiw-product-card,
.nd-polish-v5 .usecase-grid > article {
  min-height: 280px;
  padding: clamp(1.35rem, 2.6vw, 2rem);
}

.nd-polish-v5 .hiw-product-card .btn {
  align-self: flex-start;
  margin-top: auto;
}

.nd-frontline-login-v5 .page-intro {
  max-width: 720px;
}

.nd-frontline-login-v5 .login-layout {
  align-items: stretch;
  gap: 1rem;
}

.nd-frontline-login-v5 .login-layout > * {
  height: 100%;
}

.nd-frontline-login-v5 #start-free-form,
.nd-frontline-login-v5 .login-layout > aside {
  padding: clamp(1.4rem, 2.8vw, 2.1rem);
}

.nd-polish-v5 .footer-columns {
  align-items: start;
  gap: clamp(1.5rem, 4vw, 3.5rem);
}

.nd-polish-v5 .footer-links {
  gap: 0.58rem;
}

.nd-polish-v5 .footer-links a {
  color: #b8c9d8;
}

@media (max-width: 980px) {
  .nd-polish-v5 .nd-section-heading {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .nd-polish-v5 .nd-section-heading > p {
    justify-self: start;
  }

  .nd-polish-v5 :is(.nd-docs-card-grid, .pricing-grid-uniform) {
    grid-template-columns: 1fr;
  }

  .nd-polish-v5 .nd-docs-card {
    min-height: 0;
  }
}

@media (max-width: 760px) {
  .nd-polish-v5 .nav-shell {
    min-height: 64px;
  }

  .nd-polish-v5
    :is(
      .nd-sales-hero,
      .nd-product-hero,
      .nd-app-overview-hero,
      .nd-inner-hero,
      .page-shell,
      .page-shell-frontline
    ) {
    padding-top: 2.8rem !important;
  }

  .nd-polish-v5
    :is(
      .nd-support-grid-primary,
      .nd-frontline-support-grid,
      .nd-docs-compact-links,
      .hiw-product-headlines,
      .usecase-grid
    ) {
    grid-template-columns: 1fr;
  }

  .nd-polish-v5 .nd-docs-nav-v5 {
    align-items: flex-start;
    flex-direction: column;
  }

  .nd-polish-v5 .nd-unified-price-card h2,
  .nd-polish-v5 .nd-unified-outcome,
  .nd-polish-v5 .nd-support-card h2,
  .nd-polish-v5 .nd-support-card h3 {
    min-height: 0;
  }

  .nd-polish-v5 .hero-actions,
  .nd-polish-v5 .hero-actions .btn,
  .nd-polish-v5 .nd-unified-actions,
  .nd-polish-v5 .nd-unified-actions .btn {
    width: 100%;
  }
}

/* === NoticeDock Phase 6: deterministic alignment and wording repair === */

/* Buttons use one measurable system. Long labels no longer create random heights. */
.nd-polish-v5 .btn {
  display: inline-flex;
  min-height: 52px;
  padding: 0.82rem 1.15rem;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  font-size: 0.9rem;
  font-weight: 850;
  line-height: 1.15;
  text-align: center;
}

.nd-polish-v5 :is(.nd-home-card-actions, .nd-app-choice-actions, .nd-unified-actions) {
  display: grid;
  gap: 0.65rem;
}

.nd-polish-v5 :is(.nd-home-card-actions, .nd-app-choice-actions) {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nd-polish-v5 :is(.nd-home-card-actions, .nd-app-choice-actions).nd-two-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nd-polish-v5 :is(.nd-home-card-actions, .nd-app-choice-actions, .nd-unified-actions) .btn {
  width: 100%;
  min-width: 0;
  height: 52px;
  padding-inline: 0.8rem;
}

/* Homepage hero: replace the collision-prone stacked artwork with a clean two-card proof grid. */
.nd-home-v2 .nd-sales-hero-copy h1 {
  background: linear-gradient(100deg, #f8fbff 0%, #73e7dc 35%, #a886ff 70%, #62b7ff 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.nd-home-v2 .nd-product-proof {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  min-height: 0;
  perspective: none;
}

.nd-home-v2 .nd-product-proof::before,
.nd-home-v2 .nd-card-scan,
.nd-home-v2 .nd-proof-rails {
  display: none !important;
  content: none !important;
}

.nd-home-v2 .nd-proof-status {
  position: static;
  grid-column: 1 / -1;
  justify-self: end;
}

.nd-home-v2 .nd-proof-card {
  position: relative;
  inset: auto;
  display: flex;
  min-height: 430px;
  height: 100%;
  flex-direction: column;
  transform: none !important;
  animation: none !important;
}

.nd-home-v2 .nd-proof-card-copy {
  display: flex;
  min-height: 275px;
  flex: 1 1 auto;
  flex-direction: column;
  padding: 1.45rem;
}

.nd-home-v2 .nd-proof-index {
  margin-bottom: 1.15rem;
}

.nd-home-v2 .nd-proof-card h2 {
  min-height: 2.25em;
  font-size: clamp(1.55rem, 2.2vw, 2.15rem);
}

.nd-home-v2 .nd-proof-card p {
  flex: 1;
}

.nd-home-v2 .nd-proof-card img {
  width: 100%;
  height: 155px;
  min-height: 155px;
  object-fit: cover;
  object-position: left top;
  opacity: 0.78;
  mask-image: linear-gradient(to bottom, transparent 0, black 22%);
}

/* Product section headings stay together rather than landing in separate grid columns. */
.nd-polish-v5 .nd-section-heading-single {
  display: block;
  max-width: 980px;
}

.nd-polish-v5 .nd-section-heading-single h2 {
  max-width: 20ch;
  margin-top: 0.5rem;
  font-size: clamp(2.25rem, 4.3vw, 4rem);
  line-height: 1.02;
}

.nd-polish-v5 .nd-outcome-grid {
  align-items: stretch;
}

.nd-polish-v5 .nd-outcome-card {
  height: 100%;
}

/* Comparison cards use identical action rows and predictable content blocks. */
.nd-app-overview-page .nd-app-choice-card {
  min-height: 690px !important;
}

.nd-app-overview-page .nd-app-choice-card h3 {
  min-height: 2.25em;
}

.nd-app-overview-page .nd-app-choice-outcome {
  min-height: 4.8em;
}

.nd-app-overview-page .nd-check-list {
  flex: 1 1 auto;
}

.nd-app-overview-page .nd-app-choice-fit {
  min-height: 5.2em;
}

/* Pricing cards: same outer height, same internal landmarks, same button geometry. */
.nd-pricing-v3 .nd-stripe-pricing-grid {
  grid-auto-rows: 1fr;
}

.nd-pricing-v3 .nd-unified-price-card {
  height: 100%;
}

.nd-pricing-v3 .nd-unified-price-top {
  min-height: 42px;
  align-content: flex-start;
}

.nd-pricing-v3 .nd-unified-price-card h2 {
  min-height: 2.25em;
}

.nd-pricing-v3 .nd-unified-outcome {
  min-height: 5.1em;
}

.nd-pricing-v3 .nd-unified-price {
  min-height: 70px;
}

.nd-pricing-v3 .nd-unified-checks {
  flex: 1 1 auto;
}

.nd-pricing-v3 .nd-unified-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 1.1rem !important;
  padding-top: 0;
}

.nd-pricing-v3 .nd-price-resource-links {
  min-height: 48px;
  align-content: flex-start;
}

.nd-pricing-v3 .nd-card-upsell {
  min-height: 4.8em;
}

/* Docs: equal card buttons and intentionally simple labels. */
.nd-polish-v5 .nd-docs-card {
  min-height: 330px;
}

.nd-polish-v5 .nd-docs-card .btn {
  width: 100%;
  align-self: stretch;
}

@media (max-width: 1120px) {
  .nd-home-v2 .nd-product-proof {
    grid-template-columns: 1fr;
  }

  .nd-home-v2 .nd-proof-card {
    min-height: 0;
  }

  .nd-home-v2 .nd-proof-card-copy {
    min-height: 0;
  }

  .nd-home-v2 .nd-proof-card h2 {
    min-height: 0;
  }
}

@media (max-width: 980px) {
  .nd-polish-v5 :is(.nd-home-card-actions, .nd-app-choice-actions),
  .nd-polish-v5 :is(.nd-home-card-actions, .nd-app-choice-actions).nd-two-actions {
    grid-template-columns: 1fr;
  }

  .nd-app-overview-page .nd-app-choice-card {
    min-height: 0 !important;
  }

  .nd-app-overview-page :is(.nd-app-choice-card h3, .nd-app-choice-outcome, .nd-app-choice-fit),
  .nd-pricing-v3
    :is(
      .nd-unified-price-card h2,
      .nd-unified-outcome,
      .nd-unified-price,
      .nd-price-resource-links,
      .nd-card-upsell
    ) {
    min-height: 0;
  }
}

@media (max-width: 760px) {
  .nd-home-v2 .nd-product-proof,
  .nd-pricing-v3 .nd-unified-actions {
    grid-template-columns: 1fr;
  }

  .nd-polish-v5 .btn,
  .nd-polish-v5 .hero-actions .btn {
    width: 100%;
  }
}

/* Compact docs navigation and equal support-card actions. */
.nd-polish-v5 .nd-docs-nav-v5 .doc-toc-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.nd-polish-v5 .nd-docs-nav-v5 .doc-toc-links a {
  display: inline-flex;
  min-height: 38px;
  padding: 0.55rem 0.85rem;
  align-items: center;
  border: 1px solid rgba(119, 159, 192, 0.22);
  border-radius: 999px;
  color: #dce9f4;
  background: rgba(7, 20, 34, 0.68);
  font-size: 0.82rem;
  font-weight: 800;
  text-decoration: none;
}

.nd-polish-v5 .nd-support-card .hero-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nd-polish-v5 .nd-support-card .hero-actions .btn {
  width: 100%;
  min-width: 0;
  height: 52px;
  padding-inline: 0.75rem;
}

@media (max-width: 980px) {
  .nd-polish-v5 .nd-support-card .hero-actions {
    grid-template-columns: 1fr;
  }
}

/* === NoticeDock Phase 7: site-wide hero colour and final alignment pass === */

/* Every active page gets the same coloured hero-title treatment. */
.nd-polish-v5 main h1 {
  background: linear-gradient(100deg, #f8fbff 0%, #72e5da 34%, #aa88ff 69%, #64baff 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
}

/* Keep long page and product copy inside its column at every breakpoint. */
.nd-polish-v5
  :is(
    .nd-sales-hero-grid,
    .nd-product-hero-grid,
    .nd-inner-hero-grid,
    .nd-section-heading,
    .nd-app-sales-grid,
    .nd-stripe-pricing-grid,
    .nd-support-grid-primary,
    .nd-frontline-support-grid,
    .nd-docs-card-grid,
    .hiw-product-headlines,
    .usecase-grid
  )
  > * {
  min-width: 0;
}

.nd-polish-v5 main :is(h1, h2, h3, p, li) {
  overflow-wrap: break-word;
}

/* Homepage comparison cards use matching internal landmarks. */
.nd-home-v2 .nd-app-sales-grid {
  align-items: stretch;
}

.nd-home-v2 .nd-app-sales-card {
  height: 100%;
}

@media (min-width: 981px) {
  .nd-home-v2 .nd-app-sales-card h3 {
    min-height: 2.24em;
  }

  .nd-home-v2 .nd-app-sales-card ul {
    flex: 1 1 auto;
  }

  /* App 2 deliberately keeps the unused third action slot for its future Marketplace button. */
  .nd-home-v2 .nd-home-card-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .nd-polish-v5 main h1 {
    letter-spacing: -0.048em;
  }
}

/* === NoticeDock Phase 8: abstract app proof art and exact card rhythm === */

/* Homepage cards: align every text landmark so Billing Ops no longer floats high. */
@media (min-width: 1121px) {
  .nd-home-v2 .nd-proof-card-copy {
    display: grid;
    grid-template-rows: auto auto minmax(3.2em, auto) minmax(6.35em, auto) auto;
    flex: 0 0 auto;
    min-height: 385px;
    padding: 1.55rem 1.45rem 1.35rem;
  }

  .nd-home-v2 .nd-proof-index {
    margin: 0 0 1.15rem;
  }

  .nd-home-v2 .nd-proof-card .kicker {
    align-self: start;
  }

  .nd-home-v2 .nd-proof-card h2 {
    align-self: start;
    min-height: 0;
    margin: 0.42rem 0 0;
    line-height: 1.04;
  }

  .nd-home-v2 .nd-proof-card p {
    align-self: start;
    margin: 1.25rem 0 0;
  }

  .nd-home-v2 .nd-proof-card-copy > strong {
    align-self: end;
    margin: 0;
    padding-top: 1.05rem;
  }
}

/* The old feature screenshots are replaced by minimal animated colour fields. */
.nd-home-v2 .nd-proof-card {
  min-height: 585px;
}

.nd-home-v2 .nd-proof-ambient {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 205px;
  min-height: 205px;
  margin-top: auto;
  isolation: isolate;
  background:
    radial-gradient(circle at 50% 112%, rgba(133, 84, 255, 0.42), transparent 44%),
    linear-gradient(180deg, rgba(13, 19, 40, 0.08), rgba(25, 17, 61, 0.94));
}

.nd-home-v2 .nd-proof-ambient::before,
.nd-home-v2 .nd-proof-ambient::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.nd-home-v2 .nd-proof-ambient::before {
  inset: 0;
  z-index: -2;
  opacity: 0.78;
  background:
    radial-gradient(circle at 14% 88%, rgba(94, 232, 220, 0.14), transparent 28%),
    radial-gradient(circle at 83% 72%, rgba(177, 117, 255, 0.18), transparent 34%);
}

.nd-home-v2 .nd-proof-ambient::after {
  inset: auto -12% -48% -12%;
  z-index: -1;
  height: 112%;
  border: 1px solid rgba(186, 151, 255, 0.19);
  border-radius: 50%;
  box-shadow: 0 -24px 70px rgba(120, 70, 255, 0.18);
}

.nd-home-v2 .nd-proof-ambient-orbit {
  position: absolute;
  border: 1px solid rgba(185, 150, 255, 0.24);
  border-radius: 50%;
  opacity: 0.65;
}

.nd-home-v2 .nd-proof-ambient-orbit-a {
  left: -7%;
  bottom: -53%;
  width: 82%;
  aspect-ratio: 1;
}

.nd-home-v2 .nd-proof-ambient-orbit-b {
  right: -12%;
  bottom: -44%;
  width: 64%;
  aspect-ratio: 1;
}

.nd-home-v2 .nd-proof-ambient-beam {
  position: absolute;
  left: -22%;
  bottom: 22%;
  width: 144%;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent 4%, #7ae8df 36%, #a687ff 67%, transparent 96%);
  box-shadow:
    0 0 9px rgba(114, 229, 218, 0.72),
    0 0 24px rgba(142, 104, 255, 0.74),
    0 0 54px rgba(117, 74, 255, 0.42);
  transform: rotate(8deg);
  transform-origin: center;
  animation: nd-ambient-beam-drift 7.5s ease-in-out infinite alternate;
}

.nd-home-v2 .nd-proof-ambient-guard {
  background:
    radial-gradient(circle at 84% 112%, rgba(62, 205, 211, 0.28), transparent 40%),
    radial-gradient(circle at 42% 104%, rgba(135, 81, 255, 0.38), transparent 44%),
    linear-gradient(180deg, rgba(9, 24, 41, 0.1), rgba(10, 26, 48, 0.98));
}

.nd-home-v2 .nd-proof-ambient-guard .nd-proof-ambient-beam {
  bottom: 30%;
  background: linear-gradient(
    90deg,
    transparent 5%,
    #77bfff 28%,
    #70e6dc 56%,
    #a883ff 82%,
    transparent 96%
  );
  transform: rotate(-7deg);
  animation-duration: 8.8s;
}

.nd-home-v2 .nd-proof-ambient-brand {
  position: absolute;
  left: 50%;
  bottom: 1.25rem;
  display: flex;
  max-width: calc(100% - 2rem);
  align-items: center;
  gap: 0.72rem;
  transform: translateX(-50%);
  color: rgba(245, 247, 255, 0.92);
  font-size: clamp(0.93rem, 1.35vw, 1.2rem);
  line-height: 1.12;
  text-align: left;
  white-space: nowrap;
}

.nd-home-v2 .nd-proof-ambient-billing .nd-proof-ambient-brand {
  width: calc(100% - 2.3rem);
  justify-content: flex-start;
}

.nd-home-v2 .nd-proof-ambient-guard .nd-proof-ambient-brand {
  width: calc(100% - 2.3rem);
  justify-content: center;
  white-space: normal;
}

.nd-home-v2 .nd-proof-ambient-brand img {
  display: block;
  width: 38px;
  height: auto;
  flex: 0 0 auto;
  object-fit: contain;
  filter: drop-shadow(0 4px 14px rgba(69, 219, 211, 0.2));
}

/* App-page hero art: real product positioning, abstract visual only. */
.nd-stripe-product-page .nd-product-proof-frame {
  padding: 0;
  border-color: rgba(148, 119, 255, 0.4);
  background: #0d1625;
}

.nd-stripe-product-page .nd-product-ambient {
  position: relative;
  overflow: hidden;
  min-height: clamp(500px, 60vw, 720px);
  isolation: isolate;
  background: linear-gradient(155deg, #111a32 0%, #16123b 46%, #0c1830 100%);
}

.nd-stripe-product-page .nd-product-ambient::before,
.nd-stripe-product-page .nd-product-ambient::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.nd-stripe-product-page .nd-product-ambient::before {
  inset: 0;
  z-index: -3;
  background:
    radial-gradient(circle at 18% 18%, rgba(100, 231, 218, 0.12), transparent 30%),
    radial-gradient(circle at 80% 34%, rgba(159, 101, 255, 0.23), transparent 37%),
    radial-gradient(circle at 48% 102%, rgba(91, 65, 244, 0.36), transparent 45%);
}

.nd-stripe-product-page .nd-product-ambient::after {
  inset: 8%;
  z-index: -2;
  border: 1px solid rgba(174, 146, 255, 0.08);
  border-radius: 38% 62% 44% 56% / 52% 42% 58% 48%;
  filter: blur(0.2px);
}

.nd-product-ambient-halo {
  position: absolute;
  border: 1px solid rgba(179, 145, 255, 0.19);
  border-radius: 50%;
  box-shadow: inset 0 0 40px rgba(106, 76, 255, 0.05);
}

.nd-product-ambient-halo-a {
  left: -20%;
  bottom: -18%;
  width: 86%;
  aspect-ratio: 1;
}

.nd-product-ambient-halo-b {
  right: -30%;
  top: 5%;
  width: 82%;
  aspect-ratio: 1;
}

.nd-product-ambient-brand {
  position: absolute;
  left: 50%;
  bottom: clamp(2.1rem, 5vw, 4rem);
  display: flex;
  width: calc(100% - 3rem);
  align-items: center;
  justify-content: center;
  gap: 0.9rem;
  transform: translateX(-50%);
  color: #f4f5ff;
  font-size: clamp(1.35rem, 2.4vw, 2.1rem);
  font-weight: 850;
  line-height: 1.12;
  text-align: center;
  text-shadow: 0 0 28px rgba(155, 118, 255, 0.25);
}

.nd-product-ambient-brand img {
  display: block;
  width: clamp(52px, 7vw, 72px);
  height: auto;
  flex: 0 0 auto;
  object-fit: contain;
  filter: drop-shadow(0 8px 24px rgba(76, 220, 214, 0.18));
}

/* Billing Ops gets a smooth, singular flowing ribbon. */
.nd-product-ambient-billing {
  background:
    radial-gradient(circle at 52% 108%, rgba(124, 75, 255, 0.44), transparent 44%),
    linear-gradient(155deg, #111a31 0%, #17113c 52%, #0c1b31 100%);
}

.nd-product-ambient-ribbon {
  position: absolute;
  left: -20%;
  bottom: 24%;
  width: 142%;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    transparent 2%,
    #71e8dc 29%,
    #a17cff 67%,
    #f1ccff 84%,
    transparent 98%
  );
  box-shadow:
    0 0 10px rgba(112, 231, 220, 0.68),
    0 0 30px rgba(142, 97, 255, 0.72),
    0 0 80px rgba(115, 70, 255, 0.46);
  transform: rotate(12deg);
  animation: nd-product-ribbon-float 8s ease-in-out infinite alternate;
}

.nd-product-ambient-ribbon-secondary {
  bottom: 37%;
  height: 1px;
  opacity: 0.34;
  transform: rotate(-10deg);
  animation-delay: -3.1s;
  animation-duration: 10.5s;
}

/* Payment Guard is deliberately different: cool lattice and floating prisms. */
.nd-product-ambient-guard {
  background:
    radial-gradient(circle at 18% 96%, rgba(51, 211, 205, 0.3), transparent 38%),
    radial-gradient(circle at 82% 82%, rgba(126, 72, 255, 0.42), transparent 46%),
    linear-gradient(145deg, #0d2030 0%, #101b35 44%, #1c1241 100%);
}

.nd-product-ambient-lattice {
  position: absolute;
  inset: 18% -22% 25%;
  opacity: 0.32;
  background:
    linear-gradient(
      115deg,
      transparent 0 38%,
      rgba(114, 232, 221, 0.46) 38.2% 38.5%,
      transparent 38.8% 100%
    ),
    repeating-linear-gradient(0deg, rgba(158, 126, 255, 0.13) 0 1px, transparent 1px 42px),
    repeating-linear-gradient(90deg, rgba(91, 205, 218, 0.09) 0 1px, transparent 1px 54px);
  transform: perspective(700px) rotateX(61deg) rotateZ(-8deg);
  transform-origin: center;
  animation: nd-lattice-breathe 10s ease-in-out infinite alternate;
}

.nd-product-ambient-prism {
  position: absolute;
  border: 1px solid rgba(145, 124, 255, 0.22);
  border-radius: 28px;
  background: linear-gradient(145deg, rgba(68, 213, 209, 0.08), rgba(138, 82, 255, 0.13));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 26px 70px rgba(14, 5, 42, 0.22);
  backdrop-filter: blur(4px);
}

.nd-product-ambient-prism-a {
  left: 12%;
  top: 22%;
  width: 46%;
  height: 22%;
  transform: rotate(-8deg);
  animation: nd-prism-drift-a 8.5s ease-in-out infinite alternate;
}

.nd-product-ambient-prism-b {
  right: 8%;
  top: 40%;
  width: 38%;
  height: 18%;
  transform: rotate(10deg);
  animation: nd-prism-drift-b 9.5s ease-in-out infinite alternate;
}

@keyframes nd-ambient-beam-drift {
  from {
    transform: translate3d(-2%, 2px, 0) rotate(8deg) scaleX(0.96);
    opacity: 0.66;
  }
  to {
    transform: translate3d(3%, -5px, 0) rotate(5deg) scaleX(1.04);
    opacity: 1;
  }
}

@keyframes nd-product-ribbon-float {
  from {
    transform: translate3d(-2%, 8px, 0) rotate(12deg) scaleX(0.95);
    opacity: 0.7;
  }
  to {
    transform: translate3d(3%, -10px, 0) rotate(8deg) scaleX(1.04);
    opacity: 1;
  }
}

@keyframes nd-lattice-breathe {
  from {
    transform: perspective(700px) rotateX(61deg) rotateZ(-8deg) translate3d(-2%, 1%, 0);
    opacity: 0.22;
  }
  to {
    transform: perspective(700px) rotateX(58deg) rotateZ(-5deg) translate3d(2%, -2%, 0);
    opacity: 0.4;
  }
}

@keyframes nd-prism-drift-a {
  from {
    transform: translate3d(0, 0, 0) rotate(-8deg);
  }
  to {
    transform: translate3d(16px, -10px, 0) rotate(-5deg);
  }
}

@keyframes nd-prism-drift-b {
  from {
    transform: translate3d(0, 0, 0) rotate(10deg);
  }
  to {
    transform: translate3d(-14px, 12px, 0) rotate(7deg);
  }
}

@media (max-width: 1120px) {
  .nd-home-v2 .nd-proof-card {
    min-height: 0;
  }

  .nd-home-v2 .nd-proof-ambient {
    height: 190px;
    min-height: 190px;
  }
}

@media (max-width: 760px) {
  .nd-home-v2 .nd-proof-card-copy {
    display: block;
  }

  .nd-home-v2 .nd-proof-card p {
    margin-top: 1rem;
  }

  .nd-stripe-product-page .nd-product-ambient {
    min-height: 440px;
  }

  .nd-product-ambient-brand {
    align-items: flex-start;
    font-size: 1.2rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .nd-proof-ambient-beam,
  .nd-product-ambient-ribbon,
  .nd-product-ambient-lattice,
  .nd-product-ambient-prism {
    animation: none !important;
  }
}

/* === End NoticeDock Phase 8 === */

/* Final homepage proof-card landmark lock: exact shared rows, not content-dependent stretching. */
@media (min-width: 1121px) {
  .nd-home-v2 .nd-proof-card-copy {
    grid-template-rows: 1.6rem 1.35rem 7rem 5.35rem 2.3rem;
    gap: 0.78rem;
    align-content: start;
    min-height: 380px;
  }

  .nd-home-v2 .nd-proof-index,
  .nd-home-v2 .nd-proof-card h2,
  .nd-home-v2 .nd-proof-card p,
  .nd-home-v2 .nd-proof-card-copy > strong {
    margin: 0;
    padding: 0;
  }
}

.nd-home-v2 .nd-proof-ambient-brand img {
  align-self: center;
  min-height: 0;
  object-fit: contain;
  object-position: center;
  opacity: 1;
  filter: none;
  mask-image: none;
}

/* APP HERO COMPOSITION V3 */
.nd-stripe-product-page .nd-product-proof {
  align-self: center;
}

.nd-stripe-product-page .nd-product-proof-frame {
  width: 100%;
  max-width: 560px;
  margin-inline: auto;
  transform: none;
}

.nd-stripe-product-page .nd-product-ambient {
  min-height: clamp(420px, 42vw, 490px);
}

.nd-stripe-product-page .nd-product-ambient-brand {
  position: absolute;
  top: 60%;
  left: 50%;
  bottom: auto;
  z-index: 3;
  display: flex;
  width: min(88%, 470px);
  max-width: none;
  align-items: center;
  justify-content: center;
  gap: 1.15rem;
  transform: translate(-50%, -50%);
  isolation: isolate;
  color: #f7f7ff;
  text-align: left;
}

.nd-stripe-product-page .nd-product-ambient-brand::before {
  content: "";
  position: absolute;
  inset: -2.6rem -3.2rem;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(ellipse at center, rgba(107, 77, 255, 0.25), transparent 69%);
  filter: blur(5px);
}

.nd-stripe-product-page .nd-product-ambient-guard .nd-product-ambient-brand::before {
  background: radial-gradient(
    ellipse at center,
    rgba(54, 208, 207, 0.17),
    rgba(112, 73, 255, 0.18) 42%,
    transparent 70%
  );
}

.nd-stripe-product-page .nd-product-ambient-brand img,
.nd-stripe-product-page .nd-product-proof-guard .nd-product-ambient-brand img {
  display: block;
  width: 88px !important;
  height: 88px !important;
  aspect-ratio: auto !important;
  flex: 0 0 88px;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  object-fit: contain !important;
  object-position: center !important;
}

.nd-stripe-product-page .nd-product-ambient-brand b {
  display: block;
  min-width: 0;
  max-width: 16ch;
  font-size: clamp(1.9rem, 2.45vw, 2.3rem);
  font-weight: 850;
  line-height: 1.04;
  text-align: left;
  white-space: normal;
  overflow-wrap: normal;
}

.nd-stripe-product-page .nd-product-ambient-guard .nd-product-ambient-brand {
  width: min(92%, 500px);
}

.nd-stripe-product-page .nd-product-ambient-guard .nd-product-ambient-brand b {
  max-width: 15ch;
  font-size: clamp(1.6rem, 2.15vw, 2rem);
  line-height: 1.05;
}

.nd-stripe-product-page .nd-product-ambient-billing .nd-product-ambient-ribbon {
  bottom: 28%;
}

.nd-stripe-product-page .nd-product-ambient-billing .nd-product-ambient-ribbon-secondary {
  bottom: 47%;
}

.nd-stripe-product-page .nd-product-ambient-guard .nd-product-ambient-lattice {
  inset: 8% -22% 11%;
}

.nd-stripe-product-page .nd-product-ambient-guard .nd-product-ambient-prism-a {
  top: 12%;
}

.nd-stripe-product-page .nd-product-ambient-guard .nd-product-ambient-prism-b {
  top: 31%;
}

@media (max-width: 760px) {
  .nd-stripe-product-page .nd-product-ambient {
    min-height: 400px;
  }

  .nd-stripe-product-page .nd-product-ambient-brand,
  .nd-stripe-product-page .nd-product-ambient-guard .nd-product-ambient-brand {
    top: 62%;
    width: calc(100% - 2rem);
    gap: 0.82rem;
  }

  .nd-stripe-product-page .nd-product-ambient-brand img,
  .nd-stripe-product-page .nd-product-proof-guard .nd-product-ambient-brand img {
    width: 70px !important;
    height: 70px !important;
    flex-basis: 70px;
  }

  .nd-stripe-product-page .nd-product-ambient-brand b,
  .nd-stripe-product-page .nd-product-ambient-guard .nd-product-ambient-brand b {
    max-width: 13ch;
    font-size: 1.3rem;
  }
}

/* === NoticeDock Phase 9: plain-language pages and strict paired-card alignment === */
@media (min-width: 981px) {
  .nd-polish-v5 .nd-outcome-grid {
    grid-auto-rows: 1fr;
  }

  .nd-polish-v5 .nd-outcome-card {
    display: grid;
    grid-template-rows: auto minmax(2.7em, auto) 1fr;
    align-content: start;
  }

  .nd-polish-v5 .nd-outcome-card h3 {
    min-height: 2.7em;
  }

  .nd-polish-v5 .nd-outcome-card p {
    margin-bottom: 0;
  }

  .nd-stripe-product-page .nd-product-two-column {
    --nd-paired-heading-height: 3.08em;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nd-guard-page .nd-product-two-column {
    --nd-paired-heading-height: 4.2em;
  }

  .nd-polish-v5 .nd-product-two-column > :is(.nd-workflow-panel, .nd-scope-panel) {
    display: flex;
    height: 100%;
    flex-direction: column;
  }

  .nd-polish-v5 .nd-product-two-column > :is(.nd-workflow-panel, .nd-scope-panel) h2 {
    min-height: var(--nd-paired-heading-height, 3.08em);
  }

  .nd-polish-v5
    .nd-product-two-column
    > :is(.nd-workflow-panel, .nd-scope-panel)
    > :is(.nd-step-list, .nd-check-list, p) {
    margin-top: 1.7rem;
    margin-block-start: 1.7rem !important;
  }

  .nd-polish-v5 .nd-product-two-column .text-link {
    margin-top: auto;
    padding-top: 1.25rem;
  }

  .nd-home-v2 .nd-app-sales-card {
    display: flex;
    flex-direction: column;
  }

  .nd-home-v2 .nd-app-outcome {
    min-height: 4.9em;
  }

  .nd-home-v2 .nd-home-card-actions {
    margin-top: auto;
  }

  .nd-pricing-v3 .nd-unified-outcome {
    min-height: 6.3em;
  }

  .nd-support-v3 .nd-support-card > p {
    min-height: 5.25em;
  }

  .page-shell-hiw .hiw-product-card h2 {
    min-height: 4.45em;
  }

  .page-shell-hiw .hiw-product-card p {
    min-height: 5.15em;
  }
}

/* Pin the right read-only list to the bottom of its paired card.
   This selector deliberately outranks the shared paired-card margin rule above. */
@media (min-width: 981px) {
  .nd-polish-v5 .nd-guard-review .nd-product-two-column .nd-scope-panel > .nd-limit-list {
    margin-top: auto !important;
    margin-block-start: auto !important;
  }
}

/* === NoticeDock Phase 10 v3: multicolour flare outside page heroes === */
.nd-polish-v5 {
  --nd-title-a: #f8fbff;
  --nd-title-b: #73e7db;
  --nd-title-c: #79b9ff;
  --nd-title-d: #b798ff;
}

/* Rotate the accent family by section so the site does not collapse into one turquoise tone. */
.nd-polish-v5 main > section:nth-of-type(6n + 1) {
  --nd-title-b: #72e7dc;
  --nd-title-c: #69baff;
  --nd-title-d: #ae8eff;
}
.nd-polish-v5 main > section:nth-of-type(6n + 2) {
  --nd-title-b: #82c8ff;
  --nd-title-c: #a58cff;
  --nd-title-d: #ef85c7;
}
.nd-polish-v5 main > section:nth-of-type(6n + 3) {
  --nd-title-b: #ffb66f;
  --nd-title-c: #ff819e;
  --nd-title-d: #b58cff;
}
.nd-polish-v5 main > section:nth-of-type(6n + 4) {
  --nd-title-b: #6ee5bd;
  --nd-title-c: #79d8ff;
  --nd-title-d: #7e9cff;
}
.nd-polish-v5 main > section:nth-of-type(6n + 5) {
  --nd-title-b: #9f91ff;
  --nd-title-c: #e784d0;
  --nd-title-d: #ffad73;
}
.nd-polish-v5 main > section:nth-of-type(6n) {
  --nd-title-b: #79d8ff;
  --nd-title-c: #73e6cb;
  --nd-title-d: #ffd17b;
}

/* Existing hero h1 treatments remain untouched. */
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .nd-polish-v5
    main
    h2:not(
      :where(
        .nd-sales-hero *,
        .nd-product-hero *,
        .nd-app-overview-hero *,
        .nd-inner-hero *,
        .page-intro *
      )
    ) {
    color: transparent;
    background-image: linear-gradient(
      105deg,
      var(--nd-title-a, #f8fbff) 0%,
      #ffffff 24%,
      var(--nd-title-b, #73e7db) 48%,
      var(--nd-title-c, #79b9ff) 72%,
      var(--nd-title-d, #b798ff) 100%
    );
    background-size: 128% 100%;
    background-position: 16% 50%;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    filter: drop-shadow(0 0 22px color-mix(in srgb, var(--nd-title-c, #79b9ff) 10%, transparent));
  }

  .nd-polish-v5
    main
    h3:not(
      :where(
        .nd-sales-hero *,
        .nd-product-hero *,
        .nd-app-overview-hero *,
        .nd-inner-hero *,
        .page-intro *
      )
    ) {
    color: transparent;
    background-image: linear-gradient(
      104deg,
      #fbfdff 0%,
      #ffffff 38%,
      var(--nd-title-b, #73e7db) 62%,
      var(--nd-title-c, #79b9ff) 82%,
      var(--nd-title-d, #b798ff) 100%
    );
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
  }

  .nd-polish-v5
    main
    :is(
      .nd-product-price-line strong,
      .price strong,
      .metric strong,
      .nd-unified-price strong,
      .pricing-card .price,
      .nd-plan-price
    ) {
    color: transparent;
    background-image: linear-gradient(102deg, #ffffff 0%, #77e6d7 30%, #72b6ff 58%, #b691ff 78%, #ff9fc8 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
  }
}

.nd-polish-v5
  main
  :is(
    .card,
    .panel,
    .doc-panel,
    .quick-card,
    .setup-card,
    .step-card,
    .mini-panel,
    .pricing-card,
    .nd-app-choice-card,
    .nd-app-sales-card,
    .nd-unified-price-card,
    .nd-support-card,
    .nd-outcome-card,
    .nd-product-docs-card,
    .nd-workflow-panel,
    .nd-scope-panel,
    .nd-final-action,
    .nd-cross-sell-card,
    .nd-docs-card,
    .nd-frontline-plan-card,
    .support-path-card,
    .usecase-grid > article,
    .track-step,
    .faq-list details
  ):not(:where(.nd-sales-hero *, .nd-product-hero *, .nd-app-overview-hero *, .nd-inner-hero *)) {
  --nd-block-solid-a: #9a7cff;
  --nd-block-solid-b: #5dafff;
  --nd-block-solid-c: #58dfc4;
  --nd-block-glow-a: rgba(154, 124, 255, 0.21);
  --nd-block-glow-b: rgba(93, 175, 255, 0.16);
  --nd-block-glow-c: rgba(88, 223, 196, 0.11);
  --nd-title-b: var(--nd-block-solid-a);
  --nd-title-c: var(--nd-block-solid-b);
  --nd-title-d: var(--nd-block-solid-c);
  border-color: color-mix(in srgb, var(--nd-block-solid-b) 38%, rgba(78, 103, 146, 0.7)) !important;
  background-image:
    radial-gradient(circle at 7% 0%, var(--nd-block-glow-a), transparent 36%),
    radial-gradient(circle at 96% 95%, var(--nd-block-glow-b), transparent 38%),
    linear-gradient(155deg, rgba(24, 37, 62, 0.97), rgba(10, 22, 39, 0.985)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.055),
    inset 72px 0 108px -102px var(--nd-block-glow-a),
    inset -72px 0 108px -102px var(--nd-block-glow-b),
    0 20px 56px rgba(0, 5, 14, 0.27) !important;
}

.nd-polish-v5
  main
  :is(
    .card,
    .panel,
    .doc-panel,
    .quick-card,
    .setup-card,
    .step-card,
    .mini-panel,
    .pricing-card,
    .nd-app-choice-card,
    .nd-app-sales-card,
    .nd-unified-price-card,
    .nd-support-card,
    .nd-outcome-card,
    .nd-product-docs-card,
    .nd-workflow-panel,
    .nd-scope-panel,
    .nd-final-action,
    .nd-cross-sell-card,
    .nd-docs-card,
    .nd-frontline-plan-card,
    .support-path-card,
    .usecase-grid > article,
    .track-step,
    .faq-list details
  ):not(:where(.nd-sales-hero *, .nd-product-hero *, .nd-app-overview-hero *, .nd-inner-hero *)):nth-child(4n + 2) {
  --nd-block-solid-a: #55d9c0;
  --nd-block-solid-b: #68c7ff;
  --nd-block-solid-c: #8d8cff;
  --nd-block-glow-a: rgba(85, 217, 192, 0.20);
  --nd-block-glow-b: rgba(104, 199, 255, 0.17);
  --nd-block-glow-c: rgba(141, 140, 255, 0.10);
}

.nd-polish-v5
  main
  :is(
    .card,
    .panel,
    .doc-panel,
    .quick-card,
    .setup-card,
    .step-card,
    .mini-panel,
    .pricing-card,
    .nd-app-choice-card,
    .nd-app-sales-card,
    .nd-unified-price-card,
    .nd-support-card,
    .nd-outcome-card,
    .nd-product-docs-card,
    .nd-workflow-panel,
    .nd-scope-panel,
    .nd-final-action,
    .nd-cross-sell-card,
    .nd-docs-card,
    .nd-frontline-plan-card,
    .support-path-card,
    .usecase-grid > article,
    .track-step,
    .faq-list details
  ):not(:where(.nd-sales-hero *, .nd-product-hero *, .nd-app-overview-hero *, .nd-inner-hero *)):nth-child(4n + 3) {
  --nd-block-solid-a: #ff8fae;
  --nd-block-solid-b: #b589ff;
  --nd-block-solid-c: #6faeff;
  --nd-block-glow-a: rgba(255, 143, 174, 0.18);
  --nd-block-glow-b: rgba(181, 137, 255, 0.18);
  --nd-block-glow-c: rgba(111, 174, 255, 0.10);
}

.nd-polish-v5
  main
  :is(
    .card,
    .panel,
    .doc-panel,
    .quick-card,
    .setup-card,
    .step-card,
    .mini-panel,
    .pricing-card,
    .nd-app-choice-card,
    .nd-app-sales-card,
    .nd-unified-price-card,
    .nd-support-card,
    .nd-outcome-card,
    .nd-product-docs-card,
    .nd-workflow-panel,
    .nd-scope-panel,
    .nd-final-action,
    .nd-cross-sell-card,
    .nd-docs-card,
    .nd-frontline-plan-card,
    .support-path-card,
    .usecase-grid > article,
    .track-step,
    .faq-list details
  ):not(:where(.nd-sales-hero *, .nd-product-hero *, .nd-app-overview-hero *, .nd-inner-hero *)):nth-child(4n) {
  --nd-block-solid-a: #ffb56f;
  --nd-block-solid-b: #ff829f;
  --nd-block-solid-c: #a58dff;
  --nd-block-glow-a: rgba(255, 181, 111, 0.17);
  --nd-block-glow-b: rgba(255, 130, 159, 0.16);
  --nd-block-glow-c: rgba(165, 141, 255, 0.11);
}

/* Existing top rules become short multicolour light bars instead of a single teal line. */
.nd-polish-v5
  main
  :is(
    .card,
    .panel,
    .doc-panel,
    .quick-card,
    .setup-card,
    .step-card,
    .mini-panel,
    .pricing-card,
    .nd-app-choice-card,
    .nd-app-sales-card,
    .nd-unified-price-card,
    .nd-support-card,
    .nd-outcome-card,
    .nd-product-docs-card,
    .nd-workflow-panel,
    .nd-scope-panel,
    .nd-final-action,
    .nd-cross-sell-card,
    .nd-docs-card,
    .nd-frontline-plan-card,
    .support-path-card,
    .usecase-grid > article,
    .track-step,
    .faq-list details
  ):not(:where(.nd-sales-hero *, .nd-product-hero *, .nd-app-overview-hero *, .nd-inner-hero *))::before {
  background: linear-gradient(
    90deg,
    transparent 0%,
    var(--nd-block-solid-a) 18%,
    var(--nd-block-solid-b) 52%,
    var(--nd-block-solid-c) 82%,
    transparent 100%
  ) !important;
  opacity: 0.78;
}

.nd-polish-v5 main :is(.eyebrow, .kicker, .section-kicker):not(:where(.nd-sales-hero *, .nd-product-hero *, .nd-app-overview-hero *, .nd-inner-hero *)) {
  color: var(--nd-title-b, #73e7db) !important;
  text-shadow: 0 0 18px color-mix(in srgb, var(--nd-title-c, #79b9ff) 18%, transparent);
}
/* === End NoticeDock Phase 10 v3 multicolour flare === */

/* === NoticeDock Phase 10 v5: balanced docs card spacing === */
.nd-polish-v5 .nd-docs-card-grid {
  align-items: stretch;
}

.nd-polish-v5 .nd-docs-card {
  min-height: 390px;
  height: 100%;
}

.nd-polish-v5 .nd-docs-card > .kicker {
  min-height: 1.35rem;
}

.nd-polish-v5 .nd-docs-card h3 {
  min-height: 3.25em;
  margin-bottom: 1rem;
  text-wrap: balance;
}

.nd-polish-v5 .nd-docs-card > p {
  margin-top: 0;
}

.nd-polish-v5 .nd-docs-card .btn {
  margin-top: auto;
}

@media (max-width: 980px) {
  .nd-polish-v5 .nd-docs-card {
    min-height: 0;
  }

  .nd-polish-v5 .nd-docs-card h3 {
    min-height: 0;
  }
}
/* === End NoticeDock Phase 10 v5 docs card spacing === */

/* === NoticeDock Docs hero animation v20 === */
/* Preserve the tested source markup <h1>Docs.</h1>, but render the same animated
   colour treatment used by the homepage hero's first word. */
.nd-polish-v5 .nd-docs-hub-v5 .page-intro > h1:first-of-type {
  position: relative;
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
  text-shadow: none !important;
  animation: none !important;
}

.nd-polish-v5 .nd-docs-hub-v5 .page-intro > h1:first-of-type::before {
  content: "Docs.";
  position: absolute;
  inset: 0 auto auto 0;
  display: block;
  font: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  white-space: nowrap;
  background-image: linear-gradient(
    100deg,
    #f4fdff 0%,
    #baf7ef 34%,
    #55e4df 67%,
    #64c8ff 100%
  );
  background-size: 220% 100%;
  background-position: 0% 50%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  animation: nd-home-hero-word-shift 3.4s ease-in-out infinite alternate;
  will-change: background-position, filter;
}

@media (prefers-reduced-motion: reduce) {
  .nd-polish-v5 .nd-docs-hub-v5 .page-intro > h1:first-of-type::before {
    animation: none;
    background-position: 52% 50%;
  }
}
/* === End NoticeDock Docs hero animation v20 === */
