/* DigitalerNachlass.App — Navy/Gold readability theme */

body.theme-v2.theme-readable {
  --brand-navy: #061626;
  --brand-navy-mid: #0c2438;
  --brand-navy-soft: #123047;
  --brand-gold: #daa048;
  --brand-gold-soft: rgba(218, 160, 72, 0.2);
  --brand-gold-muted: rgba(218, 160, 72, 0.72);
  --brand-gold-bg: rgba(218, 160, 72, 0.08);
  --on-navy: #e8edf2;
  --on-navy-soft: #b8c5d0;
  --bg-deep: #061626;
  --bg-mid: #e8eef3;
  --surface: #ffffff;
  --surface-elev: #f8fafb;
  --surface-2: #f8fafb;
  --line: #c5d0da;
  --line-soft: rgba(61, 85, 104, 0.24);
  --text: #061626;
  --muted: #3d5568;
  --text-soft: #3d5568;
  --primary: #061626;
  --primary-deep: #061626;
  --accent: #061626;
  --accent-gold: #daa048;
  --glow: rgba(6, 22, 38, 0.1);
  color: var(--text);
  background:
    radial-gradient(880px 520px at 8% -8%, rgba(218, 160, 72, 0.08), transparent 58%),
    linear-gradient(180deg, #f8fafb 0%, #f3f6f9 100%);
}

body.theme-v2.theme-readable main {
  color: var(--text);
}

body.theme-v2.theme-readable a {
  color: var(--brand-navy);
  text-decoration-color: rgba(218, 160, 72, 0.65);
  text-underline-offset: 0.18em;
}

body.theme-v2.theme-readable a:hover,
body.theme-v2.theme-readable a:focus-visible {
  color: #9a641d;
}

body.theme-v2.theme-readable .dn-focus :focus-visible,
html.dn-focus body.theme-v2.theme-readable :focus-visible {
  outline-color: var(--brand-gold);
}

/* Trust banner */
body.theme-v2.theme-readable .v2-trust-banner {
  color: var(--on-navy);
  background: linear-gradient(90deg, var(--brand-navy) 0%, var(--brand-navy-soft) 48%, var(--brand-navy) 100%);
  border-bottom-color: rgba(218, 160, 72, 0.35);
}

body.theme-v2.theme-readable .v2-trust-banner__text {
  color: var(--on-navy);
  white-space: nowrap;
}

@media (max-width: 560px) {
  body.theme-v2.theme-readable .v2-trust-banner__text,
  body.theme-v2.theme-readable .v2-trust-banner__text--short {
    white-space: normal;
  }
}

body.theme-v2.theme-readable .v2-trust-banner__lead {
  color: var(--brand-gold);
  font-weight: 750;
  letter-spacing: 0.025em;
}

body.theme-v2.theme-readable .v2-trust-banner__detail {
  color: var(--on-navy);
  font-weight: 550;
}

/* Header */
body.theme-v2.theme-readable .dn-header {
  color: var(--on-navy);
  background: linear-gradient(180deg, rgba(12, 36, 56, 0.98), rgba(6, 22, 38, 0.98));
  border-bottom: none;
  box-shadow: 0 6px 22px rgba(6, 22, 38, 0.22);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body.theme-v2.theme-readable .dn-logo {
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}

body.theme-v2.theme-readable .dn-logo img,
body.theme-v2.theme-readable .dn-logo__mark {
  border-radius: 0;
  box-shadow: none;
}

body.theme-v2.theme-readable .dn-logo__tagline {
  color: #ffffff;
  font-weight: 500;
}

body.theme-v2.theme-readable .dn-nav__link {
  color: #ffffff !important;
}

body.theme-v2.theme-readable .dn-nav__link:hover,
body.theme-v2.theme-readable .dn-nav__link:focus-visible {
  color: #ffffff !important;
  opacity: 0.88;
}

body.theme-v2.theme-readable .dn-nav__link[aria-current="page"] {
  color: var(--brand-gold) !important;
  opacity: 1;
  font-weight: 600;
}

body.theme-v2.theme-readable .dn-nav__link[aria-current="page"]:hover,
body.theme-v2.theme-readable .dn-nav__link[aria-current="page"]:focus-visible {
  color: var(--brand-gold) !important;
  opacity: 1;
}

body.theme-v2.theme-readable .dn-header__site-nav-toggle {
  color: var(--on-navy);
  border-color: rgba(184, 197, 208, 0.34);
  background: rgba(255, 255, 255, 0.07);
}

body.theme-v2.theme-readable .dn-header__site-nav-icon,
body.theme-v2.theme-readable .dn-header__site-nav-icon::before,
body.theme-v2.theme-readable .dn-header__site-nav-icon::after {
  background: var(--brand-gold);
}

body.theme-v2.theme-readable .v2-lang__summary {
  color: var(--on-navy);
  background: rgba(255, 255, 255, 0.07);
  border-color: rgba(184, 197, 208, 0.32);
}

body.theme-v2.theme-readable .v2-lang__summary::after {
  border-color: var(--on-navy-soft);
}

body.theme-v2.theme-readable .v2-lang[open] .v2-lang__summary {
  color: #fff;
  background: rgba(218, 160, 72, 0.18);
  border-color: var(--brand-gold-muted);
}

body.theme-v2.theme-readable .v2-lang__list {
  color: var(--on-navy);
  background: var(--brand-navy-mid);
  border-color: rgba(218, 160, 72, 0.28);
  box-shadow: 0 16px 38px rgba(6, 22, 38, 0.32);
}

body.theme-v2.theme-readable .v2-lang__link {
  color: var(--on-navy);
}

body.theme-v2.theme-readable .v2-lang__link:hover,
body.theme-v2.theme-readable .v2-lang__link:focus-visible {
  color: #fff;
  background: var(--brand-gold-soft);
}

body.theme-v2.theme-readable .v2-lang__link.is-current,
body.theme-v2.theme-readable .v2-lang__link.is-current .v2-lang__meta {
  color: var(--brand-gold);
  background: rgba(218, 160, 72, 0.1);
}

body.theme-v2.theme-readable .v2-lang__meta {
  color: var(--on-navy-soft);
}

/* Buttons */
body.theme-v2.theme-readable .dn-btn,
body.theme-v2.theme-readable .v2-btn {
  border-radius: 0.7rem;
  box-shadow: none;
}

body.theme-v2.theme-readable .dn-btn--primary,
body.theme-v2.theme-readable a.dn-btn--primary,
body.theme-v2.theme-readable .v2-btn--primary {
  color: var(--brand-navy);
  background: linear-gradient(135deg, #e7b968 0%, var(--brand-gold) 100%);
  border-color: #c98c36;
  box-shadow: 0 8px 20px rgba(218, 160, 72, 0.18);
}

body.theme-v2.theme-readable .dn-btn--primary:hover,
body.theme-v2.theme-readable a.dn-btn--primary:hover,
body.theme-v2.theme-readable .v2-btn--primary:hover {
  color: var(--brand-navy);
  background: linear-gradient(135deg, #edc77e, #dda854);
  border-color: var(--brand-gold);
  box-shadow: 0 10px 24px rgba(218, 160, 72, 0.24);
}

body.theme-v2.theme-readable .dn-btn--outline {
  color: var(--brand-gold);
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(218, 160, 72, 0.62);
}

body.theme-v2.theme-readable .dn-btn--outline:hover {
  color: #fff;
  background: rgba(218, 160, 72, 0.16);
  border-color: var(--brand-gold);
}

body.theme-v2.theme-readable .dn-btn--ghost,
body.theme-v2.theme-readable .v2-btn--ghost {
  color: var(--brand-navy);
  background: #fff;
  border-color: var(--brand-navy);
}

body.theme-v2.theme-readable .dn-btn--ghost:hover,
body.theme-v2.theme-readable .v2-btn--ghost:hover {
  color: var(--brand-navy);
  background: var(--brand-gold-bg);
  border-color: var(--brand-gold);
}

body.theme-v2.theme-readable .dn-btn--gold {
  color: var(--brand-navy);
  background: var(--brand-gold);
  border-color: var(--brand-gold);
  box-shadow: none;
}

/* Hero — light start (aligned with NG_DE readable opening) */
body.theme-v2.theme-readable .dn-hero {
  color: var(--text);
  background:
    radial-gradient(720px 420px at 88% 12%, rgba(218, 160, 72, 0.1), transparent 58%),
    linear-gradient(180deg, #ffffff 0%, #f8fafb 72%, #f3f6f9 100%);
  border-bottom: 1px solid var(--line);
}

body.theme-v2.theme-readable .dn-hero--banner {
  padding-top: 0;
  padding-bottom: 0;
  background: var(--brand-navy);
  border-bottom: none;
}

body.theme-v2.theme-readable .dn-hero__banner {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 8 / 3;
  min-height: 14rem;
  background: #061626;
  border-bottom: 1px solid rgba(192, 198, 206, 0.55);
}

body.theme-v2.theme-readable .dn-hero__banner-media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

body.theme-v2.theme-readable .dn-hero__banner-media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(6, 22, 38, 0.78) 0%, rgba(6, 22, 38, 0.48) 38%, rgba(6, 22, 38, 0.14) 64%, transparent 100%),
    linear-gradient(180deg, rgba(6, 22, 38, 0.18) 0%, transparent 35%, rgba(6, 22, 38, 0.32) 100%);
  pointer-events: none;
}

body.theme-v2.theme-readable .dn-hero__banner-media picture,
body.theme-v2.theme-readable .dn-hero__banner-media img {
  width: 100%;
  height: 100%;
  display: block;
}

body.theme-v2.theme-readable .dn-hero__banner-media img {
  object-fit: cover;
  object-position: 70% center;
  image-rendering: auto;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
}

body.theme-v2.theme-readable .dn-hero__banner-copy {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  padding-bottom: 3.5rem;
}

body.theme-v2.theme-readable .dn-hero__banner-copy-inner {
  /* inherits .container width + margin → same inset as content below */
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding-block: clamp(1rem, 2.5vw, 2rem);
  text-align: left;
  pointer-events: auto;
}

body.theme-v2.theme-readable .dn-hero__banner-title {
  margin: 0 0 0.55rem;
  color: var(--brand-gold);
  font-size: clamp(0.72rem, 1.15vw, 0.84rem);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  line-height: 1.3;
  max-width: none;
}

body.theme-v2.theme-readable .dn-hero__banner-subtitle {
  margin: 0 0 0.55rem;
  color: #fff;
  font-size: clamp(1.85rem, 3.6vw, 2.75rem);
  line-height: 1.14;
  letter-spacing: -0.03em;
  font-weight: 700;
  text-wrap: balance;
  max-width: 18ch;
}

body.theme-v2.theme-readable .dn-hero__banner-text {
  margin: 0;
  color: rgba(255, 255, 255, 0.92);
  font-size: clamp(0.92rem, 1.35vw, 1.08rem);
  line-height: 1.5;
  max-width: min(42ch, 100%);
}

body.theme-v2.theme-readable .dn-hero__banner-text + .dn-hero__banner-text {
  margin-top: 0.65rem;
}

body.theme-v2.theme-readable .dn-hero__banner-claims-bar {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 1.5rem;
  z-index: 3;
  pointer-events: none;
}

body.theme-v2.theme-readable .dn-hero__banner-claims {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.55rem 1.15rem;
  width: max-content;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  pointer-events: auto;
}

body.theme-v2.theme-readable .dn-hero__banner-claims::-webkit-scrollbar {
  display: none;
}

body.theme-v2.theme-readable .dn-hero__banner-claims li {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: rgba(255, 255, 255, 0.94);
  font-size: clamp(0.82rem, 1.15vw, 0.92rem);
  font-weight: 550;
  line-height: 1.2;
  white-space: nowrap;
}

body.theme-v2.theme-readable .dn-hero__banner-claims li::before {
  content: "";
  flex: 0 0 auto;
  width: 1.44rem;
  height: 1.44rem;
  background-color: var(--brand-gold);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M6.3 11.5 2.8 8l1.1-1.1 2.4 2.4 5-5L12.4 5.4z'/%3E%3C/svg%3E") center / contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M6.3 11.5 2.8 8l1.1-1.1 2.4 2.4 5-5L12.4 5.4z'/%3E%3C/svg%3E") center / contain no-repeat;
}

body.theme-v2.theme-readable .dn-hero__banner-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  justify-content: flex-start;
  margin: 2rem 0 0;
}

body.theme-v2.theme-readable .dn-hero__banner-cta .dn-btn--primary {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
}

body.theme-v2.theme-readable .dn-hero__highlights {
  background: linear-gradient(180deg, #071a2b 0%, var(--brand-navy) 100%);
  color: var(--on-navy);
  border-bottom: none;
}

body.theme-v2.theme-readable .dn-hero__highlights-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-block: clamp(1.35rem, 3vw, 2rem) 1rem;
}

body.theme-v2.theme-readable .dn-hero__tiles {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  width: 100%;
  align-items: stretch;
}

body.theme-v2.theme-readable .dn-hero__tile {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.55rem;
  min-width: 0;
  min-height: 100%;
  padding: 0.35rem 1rem;
  border-right: 1px solid rgba(184, 197, 208, 0.18);
}

body.theme-v2.theme-readable .dn-hero__tile:first-child {
  padding-left: 0;
}

body.theme-v2.theme-readable .dn-hero__tile:last-child {
  border-right: none;
  padding-right: 0;
}

body.theme-v2.theme-readable .dn-hero__tile-heading {
  margin: 0;
  color: var(--brand-gold);
  font-size: clamp(0.88rem, 1.15vw, 1rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.25;
}

body.theme-v2.theme-readable .dn-hero__tile-num {
  margin-right: 0.35rem;
  font-variant-numeric: tabular-nums;
}

body.theme-v2.theme-readable .dn-hero__tile-claim {
  margin: 0;
  flex: 1 1 auto;
  color: #fff;
  font-size: clamp(0.86rem, 1.1vw, 0.96rem);
  font-weight: 550;
  line-height: 1.4;
  letter-spacing: -0.01em;
}

body.theme-v2.theme-readable .dn-hero__tile-result {
  margin: 0.75rem 0 0;
  color: rgba(232, 237, 242, 0.78);
  font-size: clamp(0.8rem, 1.05vw, 0.9rem);
  font-style: italic;
  font-weight: 450;
  line-height: 1.4;
}

body.theme-v2.theme-readable .dn-hero__highlights-closing {
  margin: 1.25rem 0 0;
  width: max-content;
  max-width: 100%;
  text-align: center;
  color: rgba(232, 237, 242, 0.88);
  font-size: clamp(0.92rem, 1.25vw, 1.05rem);
  line-height: 1.5;
  white-space: nowrap;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

body.theme-v2.theme-readable .dn-hero__highlights-closing::-webkit-scrollbar {
  display: none;
}

body.theme-v2.theme-readable .dn-hero__more {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 0.28rem;
  margin: 1.15rem auto 0;
  color: var(--brand-gold);
  text-decoration: none;
  font-size: 0.92rem;
  font-weight: 600;
  letter-spacing: 0.01em;
}

body.theme-v2.theme-readable .dn-hero__more:hover,
body.theme-v2.theme-readable .dn-hero__more:focus-visible {
  color: #e7b968;
}

body.theme-v2.theme-readable .dn-hero__more-icon {
  width: 0.7rem;
  height: 0.7rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  margin-bottom: 0.05rem;
}

/* Intro copy under the banner */
body.theme-v2.theme-readable .dn-hero__eyebrow {
  margin: 0 0 0.55rem;
  color: var(--brand-gold);
  font-size: clamp(0.72rem, 1.15vw, 0.84rem);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

body.theme-v2.theme-readable .dn-hero-intro {
  background:
    radial-gradient(720px 420px at 88% 12%, rgba(218, 160, 72, 0.1), transparent 58%),
    linear-gradient(180deg, #ffffff 0%, #f8fafb 72%, #f3f6f9 100%);
  color: var(--text);
}

body.theme-v2.theme-readable .dn-hero-intro.dn-reveal {
  opacity: 0;
  transform: translateY(1.35rem);
  transition: opacity 0.75s ease, transform 0.75s ease;
  will-change: opacity, transform;
}

body.theme-v2.theme-readable .dn-hero-intro.dn-reveal.is-inview {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  body.theme-v2.theme-readable .dn-hero-intro.dn-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

body.theme-v2.theme-readable .dn-hero-intro .dn-hero__grid .dn-hero__title-full {
  margin: 0 0 0.35rem;
  color: var(--brand-navy);
  font-size: clamp(1.85rem, 3.6vw, 2.75rem);
  line-height: 1.14;
  letter-spacing: -0.03em;
  font-weight: 700;
  text-wrap: balance;
  max-width: 18ch;
}

body.theme-v2.theme-readable .dn-hero-intro .dn-hero__grid .dn-hero__title-second {
  margin: 0 0 0.55rem;
  color: var(--brand-gold);
  font-size: clamp(1.35rem, 2.6vw, 2rem);
  line-height: 1.18;
  letter-spacing: -0.025em;
  font-weight: 650;
  text-wrap: balance;
  max-width: 18ch;
}

body.theme-v2.theme-readable .dn-hero-intro .dn-hero__grid .dn-hero__banner-support {
  margin: 0 0 1rem;
  color: var(--text-soft);
  font-size: clamp(1rem, 1.4vw, 1.12rem);
  line-height: 1.45;
  max-width: 36ch;
}

body.theme-v2.theme-readable .dn-hero-intro .dn-hero__grid .dn-hero__cta {
  margin: 0 0 1.35rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

body.theme-v2.theme-readable .dn-hero-intro .dn-hero__grid .dn-hero__cta .dn-btn--outline {
  color: var(--brand-navy);
  border-color: rgba(218, 160, 72, 0.75);
  background: transparent;
}

body.theme-v2.theme-readable .dn-hero-intro .dn-hero__grid .dn-hero__cta .dn-btn--outline:hover {
  color: var(--brand-navy);
  background: var(--brand-gold-bg);
  border-color: var(--brand-gold);
}

body.theme-v2.theme-readable .dn-hero-intro .dn-hero__grid {
  padding-top: clamp(1.5rem, 3.5vw, 2.5rem);
  padding-bottom: clamp(1.5rem, 3.5vw, 2.5rem);
}

body.theme-v2.theme-readable .dn-hero-intro .dn-hero-copy .dn-lead {
  margin-top: 0.85rem;
}

@media (max-width: 800px) {
  body.theme-v2.theme-readable .dn-hero__banner {
    min-height: clamp(18rem, 72vw, 24rem);
    aspect-ratio: 4 / 5;
  }

  body.theme-v2.theme-readable .dn-hero__banner-media {
    position: absolute;
    inset: 0;
    min-height: 0;
  }

  body.theme-v2.theme-readable .dn-hero__banner-media img {
    object-position: 72% 40%;
  }

  body.theme-v2.theme-readable .dn-hero__banner-media::after {
    background:
      linear-gradient(90deg, rgba(6, 22, 38, 0.82) 0%, rgba(6, 22, 38, 0.55) 45%, rgba(6, 22, 38, 0.22) 100%),
      linear-gradient(180deg, rgba(6, 22, 38, 0.2) 0%, transparent 40%, rgba(6, 22, 38, 0.45) 100%);
  }

  body.theme-v2.theme-readable .dn-hero__banner-copy {
    position: absolute;
    inset: 0;
    align-items: flex-end;
    padding-bottom: 4.75rem;
  }

  body.theme-v2.theme-readable .dn-hero__banner-copy-inner {
    padding-block: 0;
  }

  body.theme-v2.theme-readable .dn-hero__banner-claims-bar {
    bottom: 1.5rem;
  }

  /* Claims bleiben einzeilig (Scroll), damit sie den Hero-Text nicht überdecken */
  body.theme-v2.theme-readable .dn-hero__banner-claims {
    width: 100%;
    max-width: 100%;
    flex-wrap: nowrap;
    overflow-x: auto;
  }

  body.theme-v2.theme-readable .dn-hero__banner-claims li {
    white-space: nowrap;
  }

  body.theme-v2.theme-readable .dn-hero__highlights-closing {
    width: 100%;
    max-width: 100%;
    white-space: normal;
    overflow-x: visible;
  }

  body.theme-v2.theme-readable .dn-hero__banner-text {
    font-size: clamp(0.86rem, 3.6vw, 0.98rem);
    max-width: none;
  }

  body.theme-v2.theme-readable .dn-hero__tiles {
    grid-template-columns: 1fr;
    width: 100%;
    gap: 0.85rem;
  }

  body.theme-v2.theme-readable .dn-hero__tile {
    border-right: none;
    padding: 0.15rem 0 0.85rem;
    border-bottom: 1px solid rgba(184, 197, 208, 0.16);
  }

  body.theme-v2.theme-readable .dn-hero__tile:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }

  body.theme-v2.theme-readable .dn-hero-intro .dn-hero__grid .dn-hero__title-full,
  body.theme-v2.theme-readable .dn-hero-intro .dn-hero__grid .dn-hero__title-second,
  body.theme-v2.theme-readable .dn-hero-intro .dn-hero__grid .dn-hero__banner-support,
  body.theme-v2.theme-readable .dn-hero__banner-subtitle {
    max-width: none;
  }
}

@media (min-width: 801px) and (max-width: 1100px) {
  body.theme-v2.theme-readable .dn-hero__tiles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem 0;
  }

  body.theme-v2.theme-readable .dn-hero__tile:nth-child(2n) {
    border-right: none;
  }

  body.theme-v2.theme-readable .dn-hero__tile:nth-child(-n + 2) {
    padding-bottom: 0.85rem;
  }
}

body.theme-v2.theme-readable .dn-hero__grid .dn-hero__title-full,
body.theme-v2.theme-readable .dn-hero .dn-lead strong,
body.theme-v2.theme-readable .dn-hero-intro .dn-lead strong {
  color: var(--brand-navy);
}

body.theme-v2.theme-readable .dn-hero .dn-lead,
body.theme-v2.theme-readable .dn-hero-intro .dn-lead {
  color: var(--text-soft);
}

body.theme-v2.theme-readable .dn-hero__title-full {
  text-wrap: balance;
}

body.theme-v2.theme-readable .dn-lead__trail {
  color: var(--brand-gold);
}

body.theme-v2.theme-readable .dn-core-areas {
  background: #fff;
  border-color: rgba(218, 160, 72, 0.42);
  box-shadow: 0 18px 42px rgba(6, 22, 38, 0.1);
}

body.theme-v2.theme-readable .dn-core-areas::before {
  background: linear-gradient(90deg, var(--brand-navy) 0%, var(--brand-gold) 100%);
  opacity: 1;
}

body.theme-v2.theme-readable .dn-core-areas__title,
body.theme-v2.theme-readable .dn-core-areas__label {
  color: var(--brand-navy);
}

body.theme-v2.theme-readable .dn-core-areas__list li {
  border-color: rgba(6, 22, 38, 0.1);
}

body.theme-v2.theme-readable .dn-hero-disclaimer {
  color: var(--on-navy-soft);
  background: #020c16;
  border-color: rgba(218, 160, 72, 0.2);
}

body.theme-v2.theme-readable .dn-hero-disclaimer__text {
  color: var(--on-navy-soft);
}

/* Foundations bridge — light section after hero highlights */
body.theme-v2.theme-readable .dn-ng-bridge {
  color: var(--text);
  background:
    radial-gradient(720px 380px at 50% 0%, rgba(218, 160, 72, 0.08), transparent 62%),
    linear-gradient(180deg, #ffffff 0%, #f8fafb 55%, #f3f6f9 100%);
  border-color: var(--line);
  box-shadow: none;
  text-align: left;
  padding-top: clamp(0.5rem, 1.2vw, 0.85rem);
  padding-bottom: clamp(1rem, 2.4vw, 1.5rem);
}

body.theme-v2.theme-readable .dn-ng-bridge::before,
body.theme-v2.theme-readable .dn-ng-bridge::after {
  display: none;
}

body.theme-v2.theme-readable .dn-ng-bridge__infobox {
  display: flex;
  align-items: center;
  gap: 0.85rem 1rem;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0.85rem 1rem;
  border: 1px solid rgba(61, 85, 104, 0.22);
  border-radius: 0.65rem;
  background: #fff;
  box-shadow: none;
  text-align: left;
}

body.theme-v2.theme-readable .dn-ng-bridge__info-icon {
  flex: 0 0 auto;
  line-height: 0;
  margin-top: 0;
  align-self: center;
  background: transparent;
}

body.theme-v2.theme-readable .dn-ng-bridge__info-icon img {
  display: block;
  width: 2.975rem; /* 3.5rem − 15% */
  height: 2.975rem;
  object-fit: contain;
  background: transparent;
}

body.theme-v2.theme-readable .dn-ng-bridge__infobox-body {
  min-width: 0;
  flex: 1 1 auto;
}

body.theme-v2.theme-readable .dn-ng-bridge p {
  margin: 0 0 0.35rem;
  color: var(--text-soft);
  font-size: 0.95rem;
  line-height: 1.45;
}

body.theme-v2.theme-readable .dn-ng-bridge p:last-child {
  margin-bottom: 0;
}

body.theme-v2.theme-readable .dn-ng-bridge strong {
  color: var(--brand-navy);
}

body.theme-v2.theme-readable .dn-ng-bridge__inline-link {
  display: inline;
  margin-left: 0;
  color: var(--brand-gold);
  font-weight: 650;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

body.theme-v2.theme-readable .dn-ng-bridge__inline-link:hover,
body.theme-v2.theme-readable .dn-ng-bridge__inline-link:focus-visible {
  color: #e7b968;
}

@media (max-width: 640px) {
  body.theme-v2.theme-readable .dn-ng-bridge__infobox {
    gap: 0.7rem;
    padding: 0.75rem 0.8rem;
  }
}

body.theme-v2.theme-readable .dn-audience-to-arch {
  color: var(--on-navy);
  /* Weicher Verlauf Audience-Fläche → SNK-Band-Anfang (navy-mid), ohne Schlammgrau */
  background: linear-gradient(
    180deg,
    var(--dn-audience-surface, #f5f3ee) 0%,
    #e8ebe8 16%,
    #b7c2cb 38%,
    #4d6272 58%,
    var(--brand-navy-mid) 78%,
    var(--brand-navy-mid) 100%
  );
  border-color: transparent;
  border-bottom: none;
  /* etwas Luft unten in Navy-Mid, damit der Anschluss an .dn-snk-band nicht abruppt */
  padding-bottom: clamp(2.5rem, 6vw, 4rem);
}

body.theme-v2.theme-readable .dn-snk-context-to-arch {
  color: var(--on-navy);
  background: var(--brand-navy);
  border-color: transparent;
}

/* Warum Kontext… / Rechtsnachfolge — hell wie Timeline (schmutzige Fläche + weiße Kacheln) */
body.theme-v2.theme-readable .dn-snk-context-to-arch.dn-snk-context-why,
body.theme-v2.theme-readable .dn-snk-context-to-arch.dn-snk-succession {
  --dn-audience-surface: #f5f3ee;
  color: var(--brand-navy);
  background:
    radial-gradient(ellipse 62% 40% at 100% 0%, rgba(218, 160, 72, 0.08), transparent 58%),
    var(--dn-audience-surface);
  border-top: 1px solid rgba(218, 160, 72, 0.28);
  border-bottom: 1px solid rgba(218, 160, 72, 0.22);
  padding-block: clamp(2rem, 5vw, 3.25rem);
  overflow: visible;
  text-align: left;
  box-shadow: none;
}

body.theme-v2.theme-readable .dn-snk-context-to-arch.dn-snk-context-why *:not(svg):not(svg *),
body.theme-v2.theme-readable .dn-snk-context-to-arch.dn-snk-succession *:not(svg):not(svg *) {
  color: inherit;
}

body.theme-v2.theme-readable .dn-pricing-bridge {
  color: var(--on-navy);
  background:
    radial-gradient(760px 360px at 50% 0%, rgba(218, 160, 72, 0.12), transparent 68%),
    linear-gradient(180deg, #020c16 0%, var(--brand-navy) 100%);
  border-color: rgba(218, 160, 72, 0.26);
}

body.theme-v2.theme-readable .dn-legacy-close {
  color: var(--on-navy);
  background: var(--brand-navy);
  border-top-color: rgba(218, 160, 72, 0.32);
}

body.theme-v2.theme-readable .dn-legacy-close__panel {
  border-color: rgba(218, 160, 72, 0.32);
  background: rgba(6, 22, 38, 0.62);
}

body.theme-v2.theme-readable .dn-legacy-close__title,
body.theme-v2.theme-readable .dn-legacy-close__seal {
  color: #f8fafc;
}

body.theme-v2.theme-readable .dn-legacy-close__ellipsis,
body.theme-v2.theme-readable .dn-legacy-close__product,
body.theme-v2.theme-readable .dn-legacy-close__seal-em {
  color: var(--brand-gold);
}

body.theme-v2.theme-readable .dn-legacy-close__body p,
body.theme-v2.theme-readable .dn-legacy-close__brand {
  color: rgba(244, 247, 250, 0.94);
}

body.theme-v2.theme-readable .dn-audience-to-arch::before {
  display: none;
}

body.theme-v2.theme-readable .dn-audience-to-arch::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: clamp(2.5rem, 7vw, 4.25rem);
  pointer-events: none;
  z-index: 0;
  background: linear-gradient(
    180deg,
    transparent 0%,
    var(--brand-navy-mid) 55%,
    var(--brand-navy-mid) 100%
  );
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-to-arch::before,
body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-to-arch::after {
  display: none;
}

body.theme-v2.theme-readable .dn-snk-context-to-arch:not(.dn-snk-context-why):not(.dn-snk-succession) *:not(svg):not(svg *),
body.theme-v2.theme-readable .dn-pricing-bridge__lead,
body.theme-v2.theme-readable .dn-pricing-bridge__emphasis {
  color: var(--on-navy);
}

body.theme-v2.theme-readable .dn-snk-context-to-arch__box {
  display: flex;
  align-items: center;
  gap: 0.75rem 0.9rem;
  max-width: 46rem;
  padding: 0.7rem 0.95rem 0.75rem 0.85rem;
  border: 1px solid rgba(61, 85, 104, 0.12);
  border-left: 3px solid var(--brand-gold);
  border-radius: 0.45rem;
  background: #eceae4;
  box-shadow: none;
}

body.theme-v2.theme-readable .dn-snk-context-to-arch__box,
body.theme-v2.theme-readable .dn-snk-context-to-arch__box *:not(svg):not(svg *) {
  color: var(--brand-navy);
}

body.theme-v2.theme-readable .dn-snk-context-to-arch__box-icon,
body.theme-v2.theme-readable .dn-snk-context-to-arch__box-icon svg,
body.theme-v2.theme-readable .dn-snk-context-to-arch__box-icon svg * {
  display: block !important;
  align-self: center;
  margin-top: 0;
  color: var(--brand-gold) !important;
  stroke: currentColor;
}

body.theme-v2.theme-readable .dn-snk-context-to-arch__lead,
body.theme-v2.theme-readable .dn-snk-context-to-arch__body,
body.theme-v2.theme-readable .dn-snk-context-to-arch__body strong {
  color: var(--brand-navy);
  font-weight: 400;
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-why,
body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-why__prose p,
body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-why__prose .dn-snk__prose,
body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-why__goals li {
  color: var(--brand-navy);
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-why__head h3 {
  color: var(--brand-navy);
  font-size: clamp(1.45rem, 3vw, 2rem);
  font-weight: 700;
  letter-spacing: -0.02em;
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-why__levers-kicker {
  color: var(--brand-gold);
  font-size: clamp(0.72rem, 1.15vw, 0.84rem);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  line-height: 1.3;
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-why__levers-lead {
  color: var(--on-navy);
  font-size: clamp(1.1rem, 2.1vw, 1.5rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.22;
  text-transform: none;
  white-space: nowrap;
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-why__levers-lead .dn-snk-lead__term {
  color: var(--brand-gold);
}

@media (max-width: 900px) {
  body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-why__levers-lead {
    white-space: normal;
    text-wrap: balance;
  }
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-why__disclaimer,
body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-why__infobox {
  display: flex;
  align-items: center;
  gap: 0.75rem 0.9rem;
  width: 100%;
  padding: 0.7rem 0.95rem 0.75rem 0.85rem;
  border: 1px solid rgba(61, 85, 104, 0.12);
  border-left: 3px solid var(--brand-gold);
  border-radius: 0.45rem;
  background: #fff;
  box-shadow: 0 10px 28px rgba(6, 22, 38, 0.06);
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-why__disclaimer {
  max-width: none;
  margin: 0;
  height: fit-content;
  align-self: center;
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-why__infobox {
  max-width: 46rem;
  margin: 0 auto;
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-why__disclaimer,
body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-why__disclaimer *:not(svg):not(svg *),
body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-why__infobox,
body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-why__infobox *:not(svg):not(svg *) {
  color: var(--brand-navy);
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-why__disclaimer .dn-audience__infobox-icon,
body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-why__disclaimer .dn-audience__infobox-icon svg,
body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-why__infobox .dn-audience__infobox-icon,
body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-why__infobox .dn-audience__infobox-icon svg {
  color: var(--brand-gold) !important;
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-why__disclaimer .dn-audience__infobox-icon > svg,
body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-why__infobox .dn-audience__infobox-icon > svg {
  fill: none;
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-why__disclaimer .dn-audience__infobox-icon svg [stroke],
body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-why__infobox .dn-audience__infobox-icon svg [stroke] {
  stroke: currentColor;
  fill: none;
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-why__disclaimer .dn-audience__infobox-icon svg [fill="currentColor"],
body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-why__infobox .dn-audience__infobox-icon svg [fill="currentColor"] {
  fill: currentColor;
  stroke: none;
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-why__disclaimer p,
body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-why__infobox p {
  margin: 0;
  color: var(--brand-navy);
  font-size: 0.98rem;
  line-height: 1.4;
  font-weight: 400;
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-why__disclaimer-copy {
  min-width: 0;
  flex: 1 1 auto;
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-why__disclaimer-copy p + p {
  margin-top: 0.85em;
}


/* Perspektive Erblasser — Navy-Karte */
body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-why__erblasser-card {
  margin-top: clamp(1.35rem, 3vw, 2rem);
  padding: clamp(1.15rem, 2.8vw, 1.75rem);
  border-radius: 0.65rem;
  background: var(--brand-navy);
  border: 1px solid rgba(218, 160, 72, 0.28);
  box-shadow: 0 14px 36px rgba(6, 22, 38, 0.18);
  color: #f4f7fa;
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-why__erblasser-card .dn-snk-context-why__levers-head {
  margin-top: 0;
  margin-bottom: 0;
  color: #f4f7fa;
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-why__erblasser-card .dn-snk-context-why__levers-kicker {
  color: var(--brand-gold);
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-why__erblasser-card .dn-snk-context-why__levers-lead,
body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-why__erblasser-card .dn-snk-context-why__levers-lead *:not(svg):not(svg *):not(.dn-snk-lead__term) {
  color: #f4f7fa;
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-why__erblasser-card .dn-snk-context-why__levers-lead {
  margin-bottom: 2rem;
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-why__erblasser-card .dn-snk-context-why__levers-lead .dn-snk-lead__term {
  color: var(--brand-gold);
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-why__erblasser-card .dn-snk-context-why__infobox,
body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-why__erblasser-card .dn-snk-context-why__infobox *:not(svg):not(svg *) {
  color: var(--brand-navy);
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-why__erblasser-card .dn-snk-context-why__infobox {
  margin: 1.15rem auto 0;
  max-width: none;
  background: #fff;
  border: 1px solid rgba(61, 85, 104, 0.12);
  border-left: 3px solid var(--brand-gold);
  box-shadow: 0 10px 28px rgba(6, 22, 38, 0.06);
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-why__erblasser-card .dn-snk-context-why__infobox .dn-audience__infobox-icon,
body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-why__erblasser-card .dn-snk-context-why__infobox .dn-audience__infobox-icon svg {
  color: var(--brand-gold) !important;
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-why__erblasser-card .dn-tax-levers {
  margin-top: 0.25rem;
}

body.theme-v2.theme-readable .dn-section--snk .dn-tax-lever {
  color: var(--brand-navy);
  background: #fff;
  border: 1px solid rgba(6, 22, 38, 0.55);
  box-shadow: 0 10px 28px rgba(6, 22, 38, 0.07);
}

body.theme-v2.theme-readable .dn-section--snk .dn-tax-lever :where(h4, p, span.dn-tax-lever__num) {
  color: var(--brand-navy);
}

body.theme-v2.theme-readable .dn-section--snk .dn-tax-lever__title,
body.theme-v2.theme-readable .dn-section--snk .dn-tax-lever__side-label {
  color: var(--brand-navy);
}

body.theme-v2.theme-readable .dn-section--snk .dn-tax-lever__topic-title {
  color: var(--brand-navy);
}

body.theme-v2.theme-readable .dn-section--snk .dn-tax-lever__topic {
  background: #f7f5f1;
  border-color: rgba(6, 22, 38, 0.14);
}

body.theme-v2.theme-readable .dn-section--snk .dn-tax-lever__topic-chevron {
  color: var(--brand-gold);
}

body.theme-v2.theme-readable .dn-section--snk .dn-tax-lever__closing {
  color: var(--brand-gold);
}

body.theme-v2.theme-readable .dn-section--snk .dn-tax-lever__sub {
  color: rgba(6, 22, 38, 0.62);
}

body.theme-v2.theme-readable .dn-section--snk .dn-tax-lever__desc,
body.theme-v2.theme-readable .dn-section--snk .dn-tax-lever__side-text {
  color: rgba(6, 22, 38, 0.84);
}

body.theme-v2.theme-readable .dn-section--snk .dn-tax-lever__num {
  color: var(--brand-navy);
  background: var(--brand-gold);
  border-color: rgba(218, 160, 72, 0.55);
}




/* Kontext / Rechtsnachfolge */
body.theme-v2.theme-readable .dn-section--snk .dn-snk-succession__card {
  margin-top: 0.25rem;
  padding: clamp(1.15rem, 2.8vw, 1.75rem);
  border-radius: 0.65rem;
  background: #fff;
  border: 1px solid rgba(6, 22, 38, 0.12);
  box-shadow: 0 14px 36px rgba(6, 22, 38, 0.08);
  color: var(--brand-navy);
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-succession__card,
body.theme-v2.theme-readable .dn-section--snk .dn-snk-succession__card *:not(svg):not(svg *):not(.dn-snk-succession__case):not(.dn-snk-succession__case *):not(.dn-snk-lead__term):not(.dn-snk-succession__kicker) {
  color: var(--brand-navy);
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-succession__card .dn-snk-succession__kicker {
  color: var(--brand-gold);
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-succession__head {
  margin: 0 0 0.85rem;
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-succession__kicker {
  margin: 0 0 0.35rem;
  color: var(--brand-gold);
  font-size: clamp(0.72rem, 1.15vw, 0.84rem);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  line-height: 1.3;
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-succession__head h3 {
  margin: 0;
  color: var(--brand-navy);
  font-size: clamp(1.35rem, 2.4vw, 1.85rem);
  font-weight: 650;
  letter-spacing: -0.02em;
  line-height: 1.25;
  text-wrap: balance;
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-succession__lead,
body.theme-v2.theme-readable .dn-section--snk .dn-snk-succession__intro {
  margin: 0 0 1.15rem;
  max-width: 46rem;
  color: var(--brand-navy);
  font-size: 1.02rem;
  line-height: 1.55;
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-succession__sub {
  margin: 0 0 0.55rem;
  color: var(--brand-navy);
  font-size: 1.08rem;
  font-weight: 650;
  letter-spacing: -0.01em;
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-succession__cases {
  list-style: none;
  margin: 0 0 1.5rem;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem 1rem;
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-succession__case {
  margin: 0;
  padding: 0.95rem 1.05rem 1.05rem;
  background: var(--brand-navy);
  border: 1px solid rgba(218, 160, 72, 0.28);
  border-radius: 0.45rem;
  box-shadow: none;
  color: #f4f7fa;
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-succession__case,
body.theme-v2.theme-readable .dn-section--snk .dn-snk-succession__case *:not(svg):not(svg *):not(strong) {
  color: #f4f7fa;
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-succession__case-title {
  margin: 0 0 0.4rem;
  color: #f4f7fa;
  font-size: 1.02rem;
  font-weight: 700;
  letter-spacing: -0.01em;
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-succession__case-why,
body.theme-v2.theme-readable .dn-section--snk .dn-snk-succession__case-detail,
body.theme-v2.theme-readable .dn-section--snk .dn-snk-succession__case-deadline {
  margin: 0 0 0.35rem;
  color: #f4f7fa;
  font-size: 0.95rem;
  line-height: 1.45;
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-succession__case-detail {
  color: rgba(244, 247, 250, 0.82);
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-succession__case-deadline {
  margin-bottom: 0;
  padding-top: 0.35rem;
  border-top: 1px solid rgba(244, 247, 250, 0.18);
  font-size: 0.9rem;
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-succession__case-deadline strong {
  color: var(--brand-gold);
  font-weight: 700;
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-succession__note {
  display: flex;
  align-items: center;
  gap: 0.75rem 0.9rem;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0.85rem 1rem 0.95rem 0.9rem;
  border: 1px solid rgba(61, 85, 104, 0.12);
  border-left: 3px solid var(--brand-gold);
  border-radius: 0.45rem;
  background: #eceae4;
  box-shadow: none;
  box-sizing: border-box;
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-succession__note,
body.theme-v2.theme-readable .dn-section--snk .dn-snk-succession__note *:not(svg):not(svg *) {
  color: var(--brand-navy);
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-succession__note .dn-audience__infobox-icon {
  flex: 0 0 auto;
  margin-top: 0;
  color: var(--brand-gold) !important;
  line-height: 0;
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-succession__note-copy {
  min-width: 0;
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-succession__note-title {
  margin: 0 0 0.35rem;
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-succession__note p {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.45;
  font-weight: 400;
}

@media (max-width: 720px) {
  body.theme-v2.theme-readable .dn-section--snk .dn-snk-succession__cases {
    grid-template-columns: minmax(0, 1fr);
  }
}


body.theme-v2.theme-readable .dn-audience-to-arch .dn-audience__foot-box {
  align-items: center;
  max-width: 46rem;
  border: 1px solid rgba(61, 85, 104, 0.12);
  border-left: 3px solid var(--brand-gold);
  background: #eceae4;
  box-shadow: none;
}

body.theme-v2.theme-readable .dn-audience-to-arch .dn-audience__foot-box,
body.theme-v2.theme-readable .dn-audience-to-arch .dn-audience__foot-box *:not(svg):not(svg *) {
  color: var(--brand-navy);
}

body.theme-v2.theme-readable .dn-audience-to-arch .dn-audience__foot-box-icon {
  color: var(--brand-gold) !important;
}

body.theme-v2.theme-readable .dn-audience-to-arch .dn-audience__foot-box-icon > svg {
  fill: none;
  color: inherit;
}

body.theme-v2.theme-readable .dn-audience-to-arch .dn-audience__foot-box-icon svg [stroke] {
  stroke: currentColor;
  fill: none;
}

body.theme-v2.theme-readable .dn-audience-to-arch .dn-audience__foot-box-icon svg [fill="currentColor"] {
  fill: currentColor;
  stroke: none;
}

body.theme-v2.theme-readable .dn-audience-to-arch .dn-audience__foot {
  color: var(--brand-navy);
  font-size: 0.98rem;
  line-height: 1.45;
  font-weight: 400;
}

body.theme-v2.theme-readable .dn-audience-to-arch .dn-audience__foot strong,
body.theme-v2.theme-readable .dn-audience-to-arch .dn-audience__foot .dn-audience__foot-match {
  color: var(--brand-navy);
  font-weight: 550;
}

/* Readable content sections */
body.theme-v2.theme-readable .dn-section,
body.theme-v2.theme-readable .dn-section--alt,
body.theme-v2.theme-readable .dn-section--snk {
  color: var(--text);
  background: var(--bg-mid);
  border-color: var(--line);
}

body.theme-v2.theme-readable .dn-audience {
  --dn-audience-surface: #f5f3ee;
  color: var(--brand-navy);
  background:
    radial-gradient(ellipse 62% 40% at 100% 0%, rgba(218, 160, 72, 0.08), transparent 58%),
    var(--dn-audience-surface);
  border-top: 1px solid rgba(218, 160, 72, 0.28);
  border-color: rgba(218, 160, 72, 0.28);
}

body.theme-v2.theme-readable .dn-audience-flow {
  --dn-audience-surface: #f5f3ee;
}

body.theme-v2.theme-readable .dn-audience-rail--arcs {
  color: var(--brand-gold);
}

body.theme-v2.theme-readable .dn-audience-rail--right {
  color: var(--brand-navy);
}

body.theme-v2.theme-readable .dn-audience {
  --dn-audience-rail-cutout: var(--dn-audience-surface);
}

body.theme-v2.theme-readable .dn-audience-rail__label,
body.theme-v2.theme-readable .dn-audience-rail__label--shaft,
body.theme-v2.theme-readable .dn-audience-rail__arcs-text {
  fill: var(--brand-gold);
  color: var(--brand-gold);
  font-weight: 700;
  letter-spacing: 0.16em;
}

body.theme-v2.theme-readable .dn-section--alt,
body.theme-v2.theme-readable .dn-section--snk {
  background: var(--bg-mid);
}

body.theme-v2.theme-readable .dn-section h1,
body.theme-v2.theme-readable .dn-section h2,
body.theme-v2.theme-readable .dn-section h3,
body.theme-v2.theme-readable .dn-section p,
body.theme-v2.theme-readable .dn-section li,
body.theme-v2.theme-readable .dn-section strong {
  color: var(--text);
}

body.theme-v2.theme-readable .dn-audience p.dn-audience-rail__label,
body.theme-v2.theme-readable .dn-audience p.dn-audience-rail__label--shaft {
  color: var(--brand-gold);
}

body.theme-v2.theme-readable .dn-audience .dn-section__head h2 {
  color: var(--brand-navy);
}

body.theme-v2.theme-readable .dn-audience .dn-section__head .sub,
body.theme-v2.theme-readable .dn-audience .dn-section__head .sub em {
  color: rgba(6, 22, 38, 0.72);
}

body.theme-v2.theme-readable .dn-audience .dn-section__head strong {
  color: var(--brand-navy);
}

body.theme-v2.theme-readable .dn-audience .dn-section__head {
  margin-bottom: 0.4rem;
}

body.theme-v2.theme-readable .dn-audience__infobox {
  display: flex;
  align-items: center;
  gap: 0.75rem 0.9rem;
  width: 100%;
  max-width: 46rem;
  margin: 1rem 0 0;
  padding: 0.7rem 0.95rem 0.75rem 0.85rem;
  border: 1px solid rgba(61, 85, 104, 0.12);
  border-left: 3px solid var(--brand-gold);
  border-radius: 0.45rem;
  background: #eceae4;
  box-shadow: none;
}

body.theme-v2.theme-readable .dn-audience__infobox-icon {
  flex: 0 0 auto;
  margin-top: 0;
  align-self: center;
  color: var(--brand-gold);
  line-height: 0;
}

body.theme-v2.theme-readable .dn-audience__infobox-icon svg {
  display: block;
}

body.theme-v2.theme-readable .dn-audience__infobox p {
  margin: 0;
  color: var(--brand-navy);
  font-size: 0.98rem;
  line-height: 1.4;
  font-weight: 700;
}

body.theme-v2.theme-readable .dn-audience__infobox strong {
  color: var(--brand-navy);
  font-weight: 700;
}

body.theme-v2.theme-readable .dn-audience__infobox .dn-snk-lead__term {
  color: var(--brand-gold);
  font-weight: 700;
}

body.theme-v2.theme-readable .dn-audience__matrix-mobile-note {
  margin-top: 1.85rem;
}

@media (max-width: 640px) {
  body.theme-v2.theme-readable .dn-audience__infobox {
    align-items: center;
    padding: 0.65rem 0.8rem 0.7rem 0.75rem;
  }
}

body.theme-v2.theme-readable .dn-section p.sub,
body.theme-v2.theme-readable .dn-kicker,
body.theme-v2.theme-readable .dn-price-card__subtitle,
body.theme-v2.theme-readable .dn-ul,
body.theme-v2.theme-readable .dn-price small,
body.theme-v2.theme-readable .dn-download-hub__lead,
body.theme-v2.theme-readable .dn-download-hub__hint,
body.theme-v2.theme-readable .dn-download-hub__os-meta {
  color: var(--text-soft);
}

body.theme-v2.theme-readable .dn-kicker {
  color: #9a641d;
}

/* Audience matrix — flush with section (no panel box) */
body.theme-v2.theme-readable .dn-audience__matrix-panel {
  color: var(--brand-navy);
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  padding-top: 0.2rem;
  padding-left: 0;
  padding-right: 0;
}

body.theme-v2.theme-readable .dn-audience__matrix-axis-shell {
  color: var(--brand-navy);
  /* Identical to section surface so sticky scroll never mismatches */
  background: var(--dn-audience-surface);
  border: none;
  box-shadow: 0 12px 16px -8px rgba(6, 22, 38, 0.05);
}

body.theme-v2.theme-readable .dn-audience-card {
  color: var(--brand-navy);
  background: #fff;
  border: 1px solid rgba(6, 22, 38, 0.55);
  box-shadow: 0 10px 28px rgba(6, 22, 38, 0.07);
}

body.theme-v2.theme-readable .dn-age-col__num {
  color: var(--brand-navy);
  font-weight: 750;
}

body.theme-v2.theme-readable .dn-audience-card h3,
body.theme-v2.theme-readable .dn-audience-card > p:not(.dn-audience-card__band, .dn-audience-card__pull),
body.theme-v2.theme-readable .dn-audience-card label,
body.theme-v2.theme-readable .dn-audience-card__pull,
body.theme-v2.theme-readable .dn-audience-card__icp-match {
  color: var(--brand-navy);
}

body.theme-v2.theme-readable .dn-matrix-rule {
  position: relative;
  z-index: 1;
  height: clamp(3px, 0.42vw, 5px);
  margin: 0;
  padding: 0;
  border: none;
  background: var(--brand-navy);
  overflow: visible;
}

body.theme-v2.theme-readable .dn-matrix-rule__range {
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 100%;
  border: none;
  background: var(--brand-gold);
  opacity: 0;
  transform: none;
  pointer-events: none;
  /* Only fade — geometry is set instantly for a clean edge */
  transition: opacity 0.18s ease;
}

body.theme-v2.theme-readable .dn-audience__matrix-panel.is-axis-hot .dn-matrix-rule__range {
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  body.theme-v2.theme-readable .dn-matrix-rule__range {
    transition: none;
  }

  body.theme-v2.theme-readable .dn-age-col::after {
    transition: none;
  }
}

body.theme-v2.theme-readable .dn-audience__matrix-axis {
  --dn-age-icon-h: clamp(36px, 6vw, 88px);
  --dn-age-icon-w: calc(var(--dn-age-icon-h) * 467 / 778);
  --dn-age-bubble: 1.3875rem; /* 1.85rem − 25% */
  /* Platz unter der Linie für die Halbbubbles */
  padding-bottom: calc(var(--dn-age-bubble) * 0.55 + 0.45rem);
  overflow: visible;
}

body.theme-v2.theme-readable .dn-audience__matrix-xscroll--axis,
body.theme-v2.theme-readable .dn-audience__matrix-axis-shell,
body.theme-v2.theme-readable .dn-age-col {
  overflow: visible;
}

body.theme-v2.theme-readable .dn-age-col::after {
  content: "";
  position: absolute;
  left: calc(var(--dn-age-icon-w) * 0.5);
  top: 100%;
  bottom: auto;
  z-index: 6;
  width: var(--dn-age-bubble);
  height: calc(var(--dn-age-bubble) * 0.5);
  border: none;
  /* Echter Halbkreis: flache Kante oben (an der Linie), Kurve nur nach unten */
  border-radius: 0 0 999px 999px;
  background: var(--brand-navy);
  clip-path: none;
  box-shadow: 0 0.22rem 0.45rem rgba(6, 22, 38, 0.22);
  transform: translate(-50%, 0);
  pointer-events: none;
  transition: background-color 0.22s ease, box-shadow 0.22s ease;
}

body.theme-v2.theme-readable .dn-age-col.is-axis-hot::after {
  background: var(--brand-gold);
  box-shadow: 0 0.28rem 0.55rem rgba(218, 160, 72, 0.4);
}

body.theme-v2.theme-readable .dn-age-col.is-axis-hot .dn-age-col__num {
  color: var(--brand-gold);
}

body.theme-v2.theme-readable .dn-age-col img {
  height: var(--dn-age-icon-h);
  filter:
    drop-shadow(0.35px 0 0 rgba(6, 22, 38, 0.55))
    drop-shadow(-0.35px 0 0 rgba(6, 22, 38, 0.55))
    drop-shadow(0 0.35px 0 rgba(6, 22, 38, 0.55))
    drop-shadow(0 -0.35px 0 rgba(6, 22, 38, 0.55))
    drop-shadow(0 1px 3px rgba(6, 22, 38, 0.1));
}

body.theme-v2.theme-readable .dn-audience-card__band {
  color: var(--brand-navy);
}

body.theme-v2.theme-readable .dn-audience-card__quote {
  position: relative;
  color: var(--brand-navy);
  background: #f3ead6;
  border: none;
  border-top: none;
  border-radius: 0.55rem;
  padding: 0.75rem 0.9rem 0.75rem 0.95rem;
  margin-top: 0.85rem;
}

body.theme-v2.theme-readable .dn-audience-card__quote::before {
  content: "“";
  position: absolute;
  top: 0.15rem;
  left: 0.55rem;
  color: var(--brand-gold);
  font-size: 1.85rem;
  line-height: 1;
  font-weight: 700;
  pointer-events: none;
}

body.theme-v2.theme-readable .dn-audience-card__quote p {
  color: var(--brand-navy);
  padding-left: 0.85rem;
}

body.theme-v2.theme-readable .dn-audience-card__pull {
  border-color: rgba(6, 22, 38, 0.28);
  background: rgba(6, 22, 38, 0.04);
}

body.theme-v2.theme-readable .dn-audience-card__checkbox {
  border-color: rgba(218, 160, 72, 0.72);
  background: #fff;
}

body.theme-v2.theme-readable .dn-audience-card__checkbox:checked {
  border-color: var(--brand-gold);
  background-color: var(--brand-gold);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath stroke='%23061626' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round' d='M5 12l5 5 9-11'/%3E%3C/svg%3E");
}

body.theme-v2.theme-readable .dn-audience-card--heir-back,
body.theme-v2.theme-readable .dn-audience-card--digital-back {
  background: linear-gradient(165deg, rgba(255, 255, 255, 0.92) 0%, rgba(248, 244, 236, 0.96) 100%);
  border-color: rgba(6, 22, 38, 0.42);
  border-style: dashed;
}

body.theme-v2.theme-readable .dn-audience-card--heir-back h3,
body.theme-v2.theme-readable .dn-audience-card--digital-back h3 {
  color: var(--brand-navy);
}

/* Structured Estate Control board */
body.theme-v2.theme-readable .dn-snk-context-visual,
body.theme-v2.theme-readable .dn-snkcv-shot {
  color: var(--text);
  background: #fff;
  border-color: var(--line);
  box-shadow: 0 14px 38px rgba(6, 22, 38, 0.08);
}

/* Mittelkarte „Kosten optimieren“ (WIP): ohne Rahmen / Schatten */
body.theme-v2.theme-readable .dn-snkcv-shot:has(.dn-snkcv-shot-cap--wip) {
  background: transparent;
  border: none;
  box-shadow: none;
}

body.theme-v2.theme-readable .dn-snkcv-shot-cap {
  background:
    radial-gradient(circle at 40% -10%, rgba(6, 22, 38, 0.1) 0%, transparent 48%),
    linear-gradient(180deg, rgba(232, 238, 243, 0.95), rgba(255, 255, 255, 0.6));
}

body.theme-v2.theme-readable .dn-snkcv-shot:has(.dn-snkcv-shot-cap--wip) .dn-snkcv-shot-cap {
  background: transparent;
}

body.theme-v2.theme-readable .dn-snkcv-shot-cap--thumb:hover {
  background:
    radial-gradient(circle at 40% -10%, rgba(6, 22, 38, 0.14) 0%, transparent 48%),
    linear-gradient(180deg, rgba(232, 238, 243, 0.98), rgba(255, 255, 255, 0.72));
}

body.theme-v2.theme-readable .dn-snk-board,
body.theme-v2.theme-readable .dn-snkcv-matrix-panel,
body.theme-v2.theme-readable .dn-snkcv-pane,
body.theme-v2.theme-readable .dn-snkcv-pane--boost,
body.theme-v2.theme-readable .dn-snkcv-pane--out {
  color: inherit;
  background: none;
  border: 0;
  box-shadow: none;
}

body.theme-v2.theme-readable .dn-snk-pillar {
  color: var(--text);
  background: var(--surface-2);
  border-color: var(--line);
}

body.theme-v2.theme-readable .dn-snk-pillar__mark,
body.theme-v2.theme-readable .dn-snkcv-shot-num {
  color: var(--brand-navy);
  background: var(--brand-gold);
  border-color: var(--brand-gold);
  box-shadow: none;
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-tech .dn-snk-pillar__mark {
  color: transparent;
  background: transparent;
  border: none;
  box-shadow: none;
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-tech .dn-snk-pillar__icon {
  display: block;
  width: 2.85rem;
  height: 2.85rem;
  object-fit: contain;
}

body.theme-v2.theme-readable .dn-snkcv-bubble,
body.theme-v2.theme-readable .dn-snkcv-bubble--boost,
body.theme-v2.theme-readable .dn-snkcv-bubble--ctx {
  color: var(--on-navy);
  background: var(--brand-navy);
  border-color: rgba(218, 160, 72, 0.28);
  box-shadow: none;
}

body.theme-v2.theme-readable .dn-snkcv-bubble p {
  color: var(--on-navy);
}

body.theme-v2.theme-readable .dn-snkcv-bubble p .dn-snkcv-hit {
  color: var(--brand-gold);
}

body.theme-v2.theme-readable .dn-snkcv-into,
body.theme-v2.theme-readable .dn-snkcv-middle-spine {
  color: var(--brand-gold);
}

body.theme-v2.theme-readable .dn-snk-pillar__label,
body.theme-v2.theme-readable .dn-snk__prose,
body.theme-v2.theme-readable .dn-snkcv-shot-heading,
body.theme-v2.theme-readable .dn-snkcv-shot-meta,
body.theme-v2.theme-readable .dn-snkcv-colhead,
body.theme-v2.theme-readable .dn-snkcv-tag {
  color: var(--text);
}

body.theme-v2.theme-readable .dn-section--snk:has(.dn-snk-band) {
  /* durchgängig Marken-Navy, kein Mittelblau-Schein */
  background: var(--brand-navy);
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-band {
  color: var(--on-navy);
  border-bottom: none;
  background:
    radial-gradient(ellipse 70% 55% at 100% 0%, rgba(218, 160, 72, 0.14), transparent 55%),
    radial-gradient(ellipse 55% 45% at 0% 100%, rgba(218, 160, 72, 0.08), transparent 58%),
    linear-gradient(180deg, var(--brand-navy) 0%, var(--brand-navy) 72%, var(--brand-navy) 100%);
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-lead,
body.theme-v2.theme-readable .dn-section--snk .dn-snk-tech,
body.theme-v2.theme-readable .dn-section--snk .dn-snk-context {
  color: inherit;
  background: none;
  border: none;
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-context .dn-snk-context-visual {
  color: var(--text);
  background: #fff;
  border-color: rgba(218, 160, 72, 0.28);
  box-shadow: 0 14px 38px rgba(6, 22, 38, 0.16);
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-lead h2,
body.theme-v2.theme-readable .dn-section--snk .dn-snk-lead .dn-section__head h2 {
  color: #f4f7fa;
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-lead .dn-snk-lead__term {
  color: var(--brand-gold);
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-why__head .dn-snk-lead__term,
body.theme-v2.theme-readable .dn-section--snk .dn-snk-context-visual .dn-snk-board__title .dn-snk-lead__term,
body.theme-v2.theme-readable .dn-section--snk .dn-snk-succession__head .dn-snk-lead__term {
  color: var(--brand-gold);
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-tech .dn-snk-board__title {
  color: #f4f7fa;
  font-size: 0.94rem;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-align: center;
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-board-intro {
  border: 0;
  background: none;
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-board-intro .dn-snk__prose,
body.theme-v2.theme-readable .dn-section--snk .dn-snk-tech .dn-snk-board .dn-snk-board__detail .dn-snk__prose {
  color: var(--on-navy);
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-tech .dn-snk-board .dn-snk-board__detail .dn-snk__prose.dn-snk__prose--gold {
  color: var(--brand-gold) !important;
  background: none;
  border: 0;
  box-shadow: none;
  padding: 0;
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-tech .dn-snk-board {
  color: var(--on-navy);
  background: none;
  border: 0;
  box-shadow: none;
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-tech .dn-snk-pillar {
  color: var(--on-navy);
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(218, 160, 72, 0.28);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-tech .dn-snk-pillar__label {
  color: #f4f7fa;
}

body.theme-v2.theme-readable .dn-section--snk .dn-snk-tech .dn-snk__prose--highlight {
  color: #f4f7fa;
  background: rgba(218, 160, 72, 0.14);
  border-color: rgba(218, 160, 72, 0.4);
}

body.theme-v2.theme-readable .dn-snk__prose--highlight {
  color: var(--text);
  background: var(--brand-gold-bg);
  border-color: rgba(218, 160, 72, 0.55);
}

/* Security/data chapter — heller Hintergrund */
body.theme-v2.theme-readable .dn-section--purple-data {
  color: var(--brand-navy);
  background:
    radial-gradient(800px 480px at 12% -8%, rgba(218, 160, 72, 0.08), transparent 58%),
    linear-gradient(180deg, #f7f8f9 0%, #f0f3f6 48%, #e8eef3 100%);
  border-color: rgba(6, 22, 38, 0.1);
}

body.theme-v2.theme-readable .dn-section--purple-data::before {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.55), transparent 38%);
}

body.theme-v2.theme-readable .dn-purple-data__intro .dn-purple-data__infobox {
  width: 100%;
  max-width: none;
  margin: 0.35rem 0 0;
}

body.theme-v2.theme-readable .dn-purple-data__intro .dn-purple-data__infobox,
body.theme-v2.theme-readable .dn-purple-data__intro .dn-purple-data__infobox p {
  color: var(--brand-navy);
  font-weight: 400;
}

body.theme-v2.theme-readable .dn-purple-data__head h2,
body.theme-v2.theme-readable .dn-purple-data__intro p,
body.theme-v2.theme-readable .dn-purple-data__intro strong,
body.theme-v2.theme-readable .dn-purple-data__lead-emphasis,
body.theme-v2.theme-readable .dn-purple-data__diagram-lead {
  color: var(--brand-navy);
}

body.theme-v2.theme-readable .dn-purple-data__diagram-lead strong {
  color: var(--brand-gold);
}

body.theme-v2.theme-readable .dn-security-perspective--ways,
body.theme-v2.theme-readable .dn-security-perspective--ways h3,
body.theme-v2.theme-readable .dn-security-perspective--ways h4,
body.theme-v2.theme-readable .dn-security-perspective--ways p,
body.theme-v2.theme-readable .dn-security-perspective--ways .dn-security-perspective__label,
body.theme-v2.theme-readable .dn-security-perspective--ways .dn-security-perspective__title,
body.theme-v2.theme-readable .dn-security-perspective--ways .dn-security-perspective__sub,
body.theme-v2.theme-readable .dn-security-perspective--ways .dn-ways-card__title,
body.theme-v2.theme-readable .dn-security-perspective--ways .dn-ways-card__subtitle,
body.theme-v2.theme-readable .dn-security-perspective--ways .dn-ways-card__foot-text,
body.theme-v2.theme-readable .dn-security-perspective--ways .dn-ways-card__point-title {
  color: #fff;
}

body.theme-v2.theme-readable .dn-security-perspective--ways .dn-security-perspective__label {
  color: rgba(255, 255, 255, 0.62);
}

body.theme-v2.theme-readable .dn-security-perspective--ways .dn-security-perspective__sub,
body.theme-v2.theme-readable .dn-security-perspective--ways .dn-ways-card__subtitle,
body.theme-v2.theme-readable .dn-security-perspective--ways .dn-ways-card__foot-text {
  color: rgba(255, 255, 255, 0.82);
}

body.theme-v2.theme-readable .dn-ways-banner__lead {
  color: var(--brand-navy);
}

body.theme-v2.theme-readable .dn-ways__title-accent,
body.theme-v2.theme-readable .dn-ways-banner__accent,
body.theme-v2.theme-readable .dn-ways-banner__icon {
  color: var(--brand-gold);
}

body.theme-v2.theme-readable .dn-ways-card__num {
  background: var(--brand-gold);
  color: var(--brand-navy);
}

body.theme-v2.theme-readable .dn-security-perspective--ways {
  border-color: rgba(218, 160, 72, 0.28);
  background:
    radial-gradient(ellipse 70% 50% at 100% 0%, rgba(218, 160, 72, 0.14), transparent 55%),
    linear-gradient(180deg, var(--brand-navy) 0%, #04101c 100%);
  color: #fff;
}

body.theme-v2.theme-readable .dn-security-perspective--ways .dn-ways-card {
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.06);
}

body.theme-v2.theme-readable .dn-ways-banner {
  border-color: rgba(218, 160, 72, 0.42);
}

body.theme-v2.theme-readable .dn-data-carousel__detail-title,
body.theme-v2.theme-readable .dn-data-carousel__detail-body,
body.theme-v2.theme-readable .dn-data-carousel__detail-result p,
body.theme-v2.theme-readable .dn-data-carousel__peek-label,
body.theme-v2.theme-readable .dn-data-carousel__peek-hint {
  color: #fff;
}

body.theme-v2.theme-readable .dn-section--purple-data .dn-data-carousel__card,
body.theme-v2.theme-readable .dn-section--purple-data .dn-data-carousel__lens-frame,
body.theme-v2.theme-readable .dn-section--purple-data .dn-data-carousel__lens-panel {
  color: #fff;
}

body.theme-v2.theme-readable .dn-section--purple-data .dn-data-carousel__card .dn-data-carousel__peek-label,
body.theme-v2.theme-readable .dn-section--purple-data .dn-data-carousel__card .dn-data-carousel__peek-hint,
body.theme-v2.theme-readable .dn-section--purple-data .dn-data-carousel__detail-title,
body.theme-v2.theme-readable .dn-section--purple-data .dn-data-carousel__detail-body,
body.theme-v2.theme-readable .dn-section--purple-data .dn-data-carousel__detail-result p,
body.theme-v2.theme-readable .dn-section--purple-data .dn-data-carousel__detail-result-k {
  color: #fff;
}

body.theme-v2.theme-readable .dn-data-carousel__detail-body strong,
body.theme-v2.theme-readable .dn-data-carousel__detail-result strong,
body.theme-v2.theme-readable .dn-data-carousel__detail-result em,
body.theme-v2.theme-readable .dn-section--purple-data .dn-data-carousel__detail-body strong,
body.theme-v2.theme-readable .dn-section--purple-data .dn-data-carousel__detail-result strong,
body.theme-v2.theme-readable .dn-section--purple-data .dn-data-carousel__detail-result em {
  color: var(--brand-gold);
}

body.theme-v2.theme-readable .dn-data-carousel__card,
body.theme-v2.theme-readable .dn-data-carousel__lens-frame {
  color: #fff;
  background: linear-gradient(165deg, var(--brand-navy) 0%, #020c16 100%);
  border-color: rgba(218, 160, 72, 0.72);
  box-shadow: 0 12px 32px rgba(2, 12, 22, 0.34);
}

body.theme-v2.theme-readable .dn-snk-context-visual__sticky-shell {
  background: #fff;
  box-shadow:
    0 10px 26px rgba(6, 22, 38, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

body.theme-v2.theme-readable .dn-data-carousel__peek-num,
body.theme-v2.theme-readable .dn-data-carousel__detail-num,
body.theme-v2.theme-readable .dn-data-flow-step__num,
body.theme-v2.theme-readable .dn-data-strip__num {
  color: var(--brand-navy);
  background: var(--brand-gold);
  box-shadow: none;
}

body.theme-v2.theme-readable .dn-data-carousel__chevron {
  color: var(--brand-gold);
  background: var(--brand-navy-soft);
  border-color: rgba(218, 160, 72, 0.45);
}

body.theme-v2.theme-readable .dn-data-carousel__lens-scrollbar {
  background: rgba(218, 160, 72, 0.2);
}

body.theme-v2.theme-readable .dn-data-carousel__lens-scrollbar-thumb {
  background: var(--brand-gold);
}

body.theme-v2.theme-readable .dn-data-carousel__viewport {
  scrollbar-color: var(--brand-gold) transparent;
}

body.theme-v2.theme-readable .dn-data-carousel__viewport::-webkit-scrollbar-thumb {
  background: var(--brand-gold);
}

body.theme-v2.theme-readable .dn-data-carousel__detail-result,
body.theme-v2.theme-readable .dn-data-strip__result,
body.theme-v2.theme-readable .dn-data-flow-step__result {
  background: rgba(218, 160, 72, 0.1);
  border-color: rgba(218, 160, 72, 0.38);
}

/* Pricing and needs analysis */
body.theme-v2.theme-readable .dn-price-model {
  color: var(--text);
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
}

body.theme-v2.theme-readable .dn-price-model__accent {
  color: var(--brand-gold);
  font-weight: 700;
}

body.theme-v2.theme-readable .dn-price-card {
  color: var(--on-navy);
  background: linear-gradient(165deg, var(--brand-navy-soft), var(--brand-navy));
  border-color: rgba(218, 160, 72, 0.35);
  box-shadow: 0 16px 42px rgba(6, 22, 38, 0.22);
}

body.theme-v2.theme-readable .dn-price-card h3,
body.theme-v2.theme-readable .dn-price-card p,
body.theme-v2.theme-readable .dn-price-card li,
body.theme-v2.theme-readable .dn-price-card strong,
body.theme-v2.theme-readable .dn-price-card .dn-price-card__spec-main,
body.theme-v2.theme-readable .dn-price-card .dn-price-card__spec-main strong,
body.theme-v2.theme-readable .dn-price-card .dn-ul {
  color: var(--on-navy);
}

body.theme-v2.theme-readable .dn-price-card .dn-price-card__subtitle,
body.theme-v2.theme-readable .dn-price-card .dn-ul,
body.theme-v2.theme-readable .dn-price-card > .dn-price-card__spec-main {
  color: var(--on-navy-soft);
}

body.theme-v2.theme-readable .dn-price-card--featured {
  border-color: var(--brand-gold);
  box-shadow: 0 0 0 1px rgba(218, 160, 72, 0.28), 0 18px 48px rgba(6, 22, 38, 0.28);
}

body.theme-v2.theme-readable .dn-price-card .dn-price {
  color: var(--brand-gold);
}

body.theme-v2.theme-readable .dn-price-card .dn-price small {
  color: var(--brand-gold-muted);
}

body.theme-v2.theme-readable .dn-package-config {
  color: var(--text);
  background: #fff;
  border-color: var(--line);
  box-shadow: 0 12px 32px rgba(6, 22, 38, 0.08);
}

/* Package configure modal — Navy & Gold */
body.theme-v2.theme-readable .dn-package-modal {
  color: var(--on-navy);
  background:
    radial-gradient(560px 280px at 100% 0%, rgba(218, 160, 72, 0.14), transparent 58%),
    linear-gradient(168deg, var(--brand-navy-soft) 0%, var(--brand-navy) 100%);
  border-color: rgba(218, 160, 72, 0.42);
  box-shadow: 0 28px 80px rgba(6, 22, 38, 0.55);
}

body.theme-v2.theme-readable .dn-package-modal::backdrop {
  background: rgba(6, 22, 38, 0.72);
}

body.theme-v2.theme-readable .dn-package-modal__close {
  color: var(--on-navy);
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(218, 160, 72, 0.4);
}

body.theme-v2.theme-readable .dn-package-modal__close:hover {
  color: var(--brand-navy);
  background: var(--brand-gold);
  border-color: var(--brand-gold);
}

body.theme-v2.theme-readable .dn-package-modal__header,
body.theme-v2.theme-readable .dn-package-modal__footer {
  border-color: rgba(218, 160, 72, 0.28);
}

body.theme-v2.theme-readable .dn-package-modal__footer {
  background: rgba(2, 12, 22, 0.35);
}

body.theme-v2.theme-readable .dn-package-modal__kicker {
  color: var(--brand-gold);
}

body.theme-v2.theme-readable .dn-package-modal__title,
body.theme-v2.theme-readable .dn-package-modal__section-title,
body.theme-v2.theme-readable .dn-package-modal__subsection-title,
body.theme-v2.theme-readable .dn-package-modal__stepper-label {
  color: var(--on-navy);
}

body.theme-v2.theme-readable .dn-package-modal__subtitle,
body.theme-v2.theme-readable .dn-package-modal__hint,
body.theme-v2.theme-readable .dn-package-modal__price-meta,
body.theme-v2.theme-readable .dn-package-modal__price small,
body.theme-v2.theme-readable .dn-package-modal .dn-ul,
body.theme-v2.theme-readable .dn-package-modal .dn-checkout-unavailable-hint {
  color: var(--on-navy-soft);
}

body.theme-v2.theme-readable .dn-package-modal__price {
  color: var(--brand-gold);
}

body.theme-v2.theme-readable .dn-package-modal__summary-box,
body.theme-v2.theme-readable .dn-package-modal__extras,
body.theme-v2.theme-readable .dn-package-modal__stepper-row {
  background: rgba(2, 12, 22, 0.35);
  border-color: rgba(184, 197, 208, 0.28);
}

body.theme-v2.theme-readable .dn-package-modal__extras {
  scrollbar-color: rgba(218, 160, 72, 0.55) transparent;
}

body.theme-v2.theme-readable .dn-package-modal__extras::-webkit-scrollbar-thumb {
  background: rgba(218, 160, 72, 0.5);
}

body.theme-v2.theme-readable .dn-package-modal .dn-needs__stepper-btn {
  color: var(--brand-navy);
  background: var(--brand-gold);
  border-color: var(--brand-gold);
}

body.theme-v2.theme-readable .dn-package-modal .dn-needs__stepper-btn:hover {
  color: var(--brand-navy);
  background: #e7b968;
  border-color: #e7b968;
}

body.theme-v2.theme-readable .dn-package-modal .dn-needs__stepper-input {
  color: var(--on-navy);
  background: rgba(2, 12, 22, 0.45);
  border-color: rgba(218, 160, 72, 0.4);
}

body.theme-v2.theme-readable .dn-package-modal .dn-needs__extension {
  color: var(--on-navy);
  background: rgba(2, 12, 22, 0.35);
  border-color: rgba(184, 197, 208, 0.28);
  box-shadow: none;
}

body.theme-v2.theme-readable .dn-package-modal .dn-needs__extension:hover {
  background: rgba(218, 160, 72, 0.1);
  border-color: rgba(218, 160, 72, 0.45);
}

body.theme-v2.theme-readable .dn-package-modal .dn-needs__extension.is-selected {
  background: rgba(218, 160, 72, 0.14);
  border-color: var(--brand-gold);
  box-shadow: 0 0 0 1px rgba(218, 160, 72, 0.22) inset;
}

body.theme-v2.theme-readable .dn-package-modal .dn-needs__extension-title {
  color: var(--on-navy);
}

body.theme-v2.theme-readable .dn-package-modal .dn-needs__extension-desc,
body.theme-v2.theme-readable .dn-package-modal .dn-needs__extension-price {
  color: var(--on-navy-soft);
}

body.theme-v2.theme-readable .dn-package-modal .dn-needs__extension-leading::before {
  border-color: rgba(184, 197, 208, 0.45);
  background: rgba(2, 12, 22, 0.55);
}

body.theme-v2.theme-readable .dn-package-modal .dn-needs__extension-leading:has(.dn-needs__extension-input:checked)::before {
  border-color: var(--brand-gold);
  background-color: var(--brand-gold);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 11'%3E%3Cpath d='M1.2 5.4 5.1 9.2 12.6 1.6' fill='none' stroke='%23061626' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  box-shadow: 0 0 0 3px rgba(218, 160, 72, 0.2);
}

body.theme-v2.theme-readable .dn-package-modal .dn-btn--ghost {
  color: var(--brand-gold);
  background: transparent;
  border-color: rgba(218, 160, 72, 0.55);
}

body.theme-v2.theme-readable .dn-package-modal .dn-btn--ghost:hover {
  color: var(--brand-navy);
  background: var(--brand-gold);
  border-color: var(--brand-gold);
}

/* Checkout welcome overlay — Navy & Gold */
body.theme-v2.theme-readable .dn-welcome-overlay {
  color: var(--on-navy);
  background:
    radial-gradient(520px 280px at 50% 0%, rgba(218, 160, 72, 0.2), transparent 62%),
    linear-gradient(168deg, var(--brand-navy-soft) 0%, var(--brand-navy) 100%);
  border-color: rgba(218, 160, 72, 0.5);
  box-shadow: 0 28px 80px rgba(6, 22, 38, 0.55);
}

body.theme-v2.theme-readable .dn-welcome-overlay::backdrop {
  background: rgba(6, 22, 38, 0.78);
}

body.theme-v2.theme-readable .dn-welcome-overlay__title {
  color: var(--on-navy);
}

body.theme-v2.theme-readable .dn-welcome-overlay__body {
  color: var(--on-navy-soft);
}

body.theme-v2.theme-readable .dn-welcome-overlay__cta {
  color: var(--brand-navy);
  background: var(--brand-gold);
  border-color: var(--brand-gold);
  box-shadow: none;
}

body.theme-v2.theme-readable .dn-welcome-overlay__cta:hover {
  filter: brightness(1.06);
}

/* Needs analysis — Navy & Gold shell (prepared for the interactive flow) */
body.theme-v2.theme-readable .dn-needs-disclosure {
  color: var(--on-navy);
  background:
    radial-gradient(520px 220px at 100% 0%, rgba(218, 160, 72, 0.14), transparent 58%),
    linear-gradient(165deg, var(--brand-navy-soft), var(--brand-navy));
  border: 1px solid rgba(218, 160, 72, 0.42);
  box-shadow: 0 16px 42px rgba(6, 22, 38, 0.22);
}

body.theme-v2.theme-readable .dn-needs-disclosure > .dn-disclosure-box__summary {
  color: var(--on-navy);
  gap: 0.75rem;
  padding: 1rem 1.15rem;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: -0.015em;
}

body.theme-v2.theme-readable .dn-needs-disclosure > .dn-disclosure-box__summary::before {
  border-right-color: var(--brand-gold);
  border-bottom-color: var(--brand-gold);
}

body.theme-v2.theme-readable .dn-needs-disclosure > .dn-disclosure-box__summary:hover {
  color: #fff;
}

body.theme-v2.theme-readable .dn-needs-disclosure > .dn-disclosure-box__summary:focus-visible {
  outline-color: var(--brand-gold);
}

body.theme-v2.theme-readable .dn-needs-disclosure[open] > .dn-disclosure-box__summary {
  color: var(--brand-gold);
}

body.theme-v2.theme-readable .dn-needs-disclosure[open] .dn-disclosure-box__panel {
  border-top-color: rgba(218, 160, 72, 0.32);
}

body.theme-v2.theme-readable .dn-needs-disclosure .dn-needs__lead,
body.theme-v2.theme-readable .dn-needs-disclosure .dn-needs__hint,
body.theme-v2.theme-readable .dn-needs-disclosure .dn-needs__progress-label {
  color: var(--on-navy-soft);
}

body.theme-v2.theme-readable .dn-needs-disclosure .dn-needs__panel,
body.theme-v2.theme-readable .dn-needs-disclosure .dn-needs__result,
body.theme-v2.theme-readable .dn-needs-disclosure .dn-needs__shell {
  color: var(--on-navy);
  background: transparent;
  border: none;
  box-shadow: none;
}

body.theme-v2.theme-readable .dn-needs-disclosure .dn-needs__question,
body.theme-v2.theme-readable .dn-needs-disclosure .dn-needs__choice-text,
body.theme-v2.theme-readable .dn-needs-disclosure .dn-needs__check-text,
body.theme-v2.theme-readable .dn-needs-disclosure .dn-needs__extension-title {
  color: var(--on-navy);
}

body.theme-v2.theme-readable .dn-needs-disclosure .dn-needs__progress-dot {
  background: rgba(232, 237, 242, 0.18);
}

body.theme-v2.theme-readable .dn-needs-disclosure .dn-needs__progress-dot.is-done,
body.theme-v2.theme-readable .dn-needs-disclosure .dn-needs__progress-dot.is-current {
  background: linear-gradient(90deg, #c98c36, var(--brand-gold));
}

body.theme-v2.theme-readable .dn-needs-disclosure .dn-needs__choice-block,
body.theme-v2.theme-readable .dn-needs-disclosure .dn-needs__check-block,
body.theme-v2.theme-readable .dn-needs-disclosure .dn-needs__extension {
  color: var(--on-navy);
  background: rgba(2, 12, 22, 0.35);
  border-color: rgba(184, 197, 208, 0.28);
  box-shadow: none;
}

body.theme-v2.theme-readable .dn-needs-disclosure .dn-needs__choice-block:hover,
body.theme-v2.theme-readable .dn-needs-disclosure .dn-needs__check-block:hover,
body.theme-v2.theme-readable .dn-needs-disclosure .dn-needs__extension:hover {
  background: rgba(218, 160, 72, 0.1);
  border-color: rgba(218, 160, 72, 0.45);
}

body.theme-v2.theme-readable .dn-needs-disclosure .dn-needs__choice-block.is-selected,
body.theme-v2.theme-readable .dn-needs-disclosure .dn-needs__check-block.is-active,
body.theme-v2.theme-readable .dn-needs-disclosure .dn-needs__extension.is-selected {
  background: rgba(218, 160, 72, 0.14);
  border-color: var(--brand-gold);
  box-shadow: 0 0 0 1px rgba(218, 160, 72, 0.22) inset;
}

body.theme-v2.theme-readable .dn-needs-disclosure .dn-needs__choice-block:not(.is-selected) .dn-needs__choice-text,
body.theme-v2.theme-readable .dn-needs-disclosure .dn-needs__check-block:not(.is-active) .dn-needs__check-text,
body.theme-v2.theme-readable .dn-needs-disclosure .dn-needs__extension-desc,
body.theme-v2.theme-readable .dn-needs-disclosure .dn-needs__extension-price {
  color: var(--on-navy-soft);
}

body.theme-v2.theme-readable .dn-needs-disclosure .dn-needs__choice-block.is-selected .dn-needs__choice-text,
body.theme-v2.theme-readable .dn-needs-disclosure .dn-needs__check-block.is-active .dn-needs__check-text {
  color: #fff;
}

body.theme-v2.theme-readable .dn-needs-disclosure .dn-needs__choice::before,
body.theme-v2.theme-readable .dn-needs-disclosure .dn-needs__check::before,
body.theme-v2.theme-readable .dn-needs-disclosure .dn-needs__extension-leading::before {
  border-color: rgba(184, 197, 208, 0.45);
  background: rgba(2, 12, 22, 0.55);
}

body.theme-v2.theme-readable .dn-needs-disclosure .dn-needs__choice:has(.dn-needs__choice-input:checked)::before {
  border-color: var(--brand-gold);
  box-shadow: inset 0 0 0 0.34rem var(--brand-gold);
}

body.theme-v2.theme-readable .dn-needs-disclosure .dn-needs__check:has(.dn-needs__check-input:checked)::before,
body.theme-v2.theme-readable .dn-needs-disclosure .dn-needs__extension-leading:has(.dn-needs__extension-input:checked)::before {
  border-color: var(--brand-gold);
  background-color: var(--brand-gold);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 11'%3E%3Cpath d='M1.2 5.4 5.1 9.2 12.6 1.6' fill='none' stroke='%23061626' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  box-shadow: 0 0 0 3px rgba(218, 160, 72, 0.2);
}

body.theme-v2.theme-readable .dn-needs-disclosure .dn-needs__badge {
  color: var(--brand-navy);
  background: var(--brand-gold);
  border-color: var(--brand-gold);
}

body.theme-v2.theme-readable .dn-needs-disclosure .dn-needs__stepper {
  border-top-color: rgba(218, 160, 72, 0.28);
}

body.theme-v2.theme-readable .dn-needs-disclosure .dn-needs__stepper-btn {
  color: var(--brand-navy);
  background: var(--brand-gold);
  border-color: var(--brand-gold);
}

body.theme-v2.theme-readable .dn-needs-disclosure .dn-needs__stepper-btn:hover {
  color: var(--brand-navy);
  background: #e7b968;
  border-color: #e7b968;
}

body.theme-v2.theme-readable .dn-needs-disclosure .dn-needs__stepper-input {
  color: var(--on-navy);
  background: rgba(2, 12, 22, 0.45);
  border-color: rgba(218, 160, 72, 0.4);
}

body.theme-v2.theme-readable .dn-needs-disclosure .dn-needs__nav .dn-btn--ghost {
  color: var(--brand-gold);
  background: transparent;
  border-color: rgba(218, 160, 72, 0.55);
}

body.theme-v2.theme-readable .dn-needs-disclosure .dn-needs__nav .dn-btn--ghost:hover {
  color: var(--brand-navy);
  background: var(--brand-gold);
  border-color: var(--brand-gold);
}

body.theme-v2.theme-readable .dn-needs-disclosure .dn-needs__result-total,
body.theme-v2.theme-readable .dn-needs-disclosure .dn-needs__result-extensions-title {
  color: var(--on-navy-soft);
}

body.theme-v2.theme-readable .dn-needs-disclosure .dn-needs__result-total strong {
  color: var(--brand-gold);
}

body.theme-v2.theme-readable .dn-needs-disclosure .dn-checkout-unavailable-hint {
  color: #fff;
}

body.theme-v2.theme-readable .dn-price {
  color: var(--brand-navy);
}

body.theme-v2.theme-readable .dn-pricing-addon {
  color: var(--text-soft);
  background: var(--brand-gold-bg);
  border-color: rgba(218, 160, 72, 0.45);
}

body.theme-v2.theme-readable .dn-pricing-between-note {
  color: var(--text-soft);
  background: transparent;
  border: none;
  box-shadow: none;
}

body.theme-v2.theme-readable input,
body.theme-v2.theme-readable select,
body.theme-v2.theme-readable textarea {
  color: var(--text);
  background: #fff;
  border-color: var(--line);
}

body.theme-v2.theme-readable input:focus-visible,
body.theme-v2.theme-readable select:focus-visible,
body.theme-v2.theme-readable textarea:focus-visible {
  outline-color: var(--brand-gold);
  border-color: var(--brand-gold);
}

/* Download center */
body.theme-v2.theme-readable .dn-section--download::before {
  background:
    radial-gradient(720px 420px at 8% -10%, rgba(218, 160, 72, 0.12), transparent 58%),
    radial-gradient(560px 320px at 92% 0%, rgba(6, 22, 38, 0.08), transparent 52%);
}

body.theme-v2.theme-readable .dn-download-hub__card,
body.theme-v2.theme-readable .dn-download,
body.theme-v2.theme-readable .dn-download-hub__footer-note {
  color: var(--text);
  background: #fff;
  border-color: var(--line);
  box-shadow: 0 16px 42px rgba(6, 22, 38, 0.09);
}

body.theme-v2.theme-readable .dn-download-hub__icon {
  color: var(--brand-gold);
  background: var(--brand-gold-bg);
  border-color: rgba(218, 160, 72, 0.35);
}

body.theme-v2.theme-readable .dn-download-hub__features,
body.theme-v2.theme-readable .dn-download-hub__footer-note p {
  color: var(--text-soft);
}

body.theme-v2.theme-readable .dn-download-hub__os-btn {
  color: var(--text);
  background: var(--surface-2);
  border-color: var(--line);
}

body.theme-v2.theme-readable .dn-download-hub__os-btn.is-suggested:disabled {
  color: var(--brand-navy);
  background: var(--brand-gold-bg);
  border-color: var(--brand-gold);
  box-shadow: 0 0 0 1px rgba(218, 160, 72, 0.16);
}

body.theme-v2.theme-readable .dn-store-badge {
  color: var(--on-navy);
  background: var(--brand-navy);
  border-color: rgba(218, 160, 72, 0.35);
}

body.theme-v2.theme-readable .dn-store-badge__kicker {
  color: var(--on-navy-soft);
}

/* Prelaunch strip — 2rem Preismodelle-Fläche davor, damit der Banner als eigener Block wirkt */
body.theme-v2.theme-readable .dn-prelaunch-banner {
  color: var(--on-navy);
  background: linear-gradient(90deg, var(--brand-navy), var(--brand-navy-soft), var(--brand-navy));
  border-top: 2rem solid var(--bg-mid);
  border-bottom-color: rgba(218, 160, 72, 0.35);
}

body.theme-v2.theme-readable .dn-prelaunch-banner__cta {
  color: var(--brand-navy);
  background: var(--brand-gold);
  border-color: var(--brand-gold);
}

body.theme-v2.theme-readable .dn-prelaunch-banner__cta:hover {
  color: var(--brand-navy);
  background: #e7b968;
  border-color: #e7b968;
}

/* Legal and security pages */
body.theme-v2.theme-readable .dn-legal-doc {
  max-width: 52rem;
  margin-block: clamp(1.5rem, 4vw, 3rem);
  padding: clamp(1.4rem, 4vw, 2.6rem);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 1rem;
  box-shadow: 0 16px 42px rgba(6, 22, 38, 0.08);
}

body.theme-v2.theme-readable .dn-legal-doc h1 {
  color: var(--brand-navy);
  padding-bottom: 0.8rem;
  border-bottom: 3px solid var(--brand-gold);
}

body.theme-v2.theme-readable .dn-legal-doc h2,
body.theme-v2.theme-readable .dn-legal-doc h3 {
  color: var(--brand-navy);
}

body.theme-v2.theme-readable .dn-legal-doc p,
body.theme-v2.theme-readable .dn-legal-doc li,
body.theme-v2.theme-readable .dn-legal-doc address {
  color: var(--text-soft);
}

body.theme-v2.theme-readable .dn-legal-doc hr {
  border-color: var(--line);
}

/* Footer */
body.theme-v2.theme-readable .dn-footer {
  color: var(--on-navy-soft);
  background: linear-gradient(180deg, var(--brand-navy-mid), var(--brand-navy));
  border-top: 2px solid rgba(218, 160, 72, 0.4);
}

body.theme-v2.theme-readable .dn-footer__disclaimer p,
body.theme-v2.theme-readable .dn-footer__legal,
body.theme-v2.theme-readable .dn-footer a {
  color: var(--on-navy-soft);
}

body.theme-v2.theme-readable .dn-footer a:hover,
body.theme-v2.theme-readable .dn-footer a:focus-visible {
  color: var(--brand-gold);
}

/* Newsletter dialog */
body.theme-v2.theme-readable .v2-newsletter-dialog::backdrop,
body.theme-v2.theme-readable .v2-newsletter-dialog--next::backdrop {
  background: rgba(6, 22, 38, 0.66);
  backdrop-filter: blur(4px);
}

body.theme-v2.theme-readable .v2-newsletter-dialog__panel,
body.theme-v2.theme-readable .v2-newsletter-dialog--next .v2-newsletter-dialog__panel {
  max-height: calc(100vh - 4rem);
  overflow-y: auto;
  color: var(--text);
  background: linear-gradient(165deg, #fff, #f3f6f9);
  border-color: rgba(218, 160, 72, 0.55);
  box-shadow: 0 22px 70px rgba(6, 22, 38, 0.28);
}

body.theme-v2.theme-readable .v2-newsletter-dialog__title,
body.theme-v2.theme-readable .v2-newsletter-dialog__next-title {
  color: var(--brand-navy);
}

body.theme-v2.theme-readable .v2-newsletter-dialog__lead,
body.theme-v2.theme-readable .v2-newsletter-dialog__field label,
body.theme-v2.theme-readable .v2-newsletter-dialog__data-note,
body.theme-v2.theme-readable .v2-newsletter-dialog__consent-label,
body.theme-v2.theme-readable .v2-newsletter-dialog__remind-note,
body.theme-v2.theme-readable .v2-newsletter-dialog__next-email-block p,
body.theme-v2.theme-readable .v2-newsletter-dialog__next-remind-block p {
  color: var(--text-soft);
}

body.theme-v2.theme-readable .v2-newsletter-dialog__next-kicker,
body.theme-v2.theme-readable .v2-newsletter-dialog__privacy-link,
body.theme-v2.theme-readable .v2-newsletter-dialog__consent-label a {
  color: #9a641d;
}

body.theme-v2.theme-readable .v2-newsletter-dialog__close,
body.theme-v2.theme-readable .v2-newsletter-dialog--next .v2-newsletter-dialog__close {
  color: var(--brand-navy);
}

body.theme-v2.theme-readable .v2-newsletter-dialog__close:hover,
body.theme-v2.theme-readable .v2-newsletter-dialog--next .v2-newsletter-dialog__close:hover {
  color: var(--brand-navy);
  background: var(--brand-gold-soft);
}

body.theme-v2.theme-readable .v2-newsletter-dialog__field input[type="email"],
body.theme-v2.theme-readable .v2-newsletter-dialog__field input[type="text"] {
  color: var(--text);
  background: #fff;
  border-color: var(--line);
}

body.theme-v2.theme-readable .v2-newsletter-dialog__privacy-panel,
body.theme-v2.theme-readable .v2-newsletter-dialog__next-remind-block {
  background: #f8fafb;
  border-color: var(--line);
}

body.theme-v2.theme-readable .v2-newsletter-dialog__next-actions .v2-btn,
body.theme-v2.theme-readable .v2-newsletter-dialog--next .v2-newsletter-dialog__next-actions .v2-btn {
  color: var(--brand-navy);
  background: #fff;
  border-color: var(--brand-gold);
}

body.theme-v2.theme-readable .v2-newsletter-dialog__next-actions .v2-btn.is-selected {
  color: var(--brand-navy);
  background: var(--brand-gold-soft);
  border-color: var(--brand-gold);
  box-shadow: inset 0 0 0 1px var(--brand-gold);
}

@media (max-width: 768px) {
  body.theme-v2.theme-readable .dn-header__site-nav-panel {
    color: var(--on-navy);
    background: var(--brand-navy-mid);
    border-color: rgba(218, 160, 72, 0.3);
    box-shadow: 0 18px 42px rgba(2, 12, 22, 0.4);
  }

  body.theme-v2.theme-readable .dn-actions .dn-btn--outline {
    color: var(--brand-gold);
  }

  body.theme-v2.theme-readable .dn-legal-doc {
    margin-block: 1rem;
    padding: 1.15rem;
    border-radius: 0.8rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.theme-v2.theme-readable *,
  body.theme-v2.theme-readable *::before,
  body.theme-v2.theme-readable *::after {
    scroll-behavior: auto !important;
  }
}

/* Info-„i“-Icons in Infoboxen: immer Brand-Gold — Ring hohl, Dot gefüllt */
body.theme-v2.theme-readable .dn-audience__infobox-icon,
body.theme-v2.theme-readable .dn-audience__foot-box-icon,
body.theme-v2.theme-readable .dn-snk-context-to-arch__box-icon,
body.theme-v2.theme-readable .dn-snk-context-why__disclaimer .dn-audience__infobox-icon,
body.theme-v2.theme-readable .dn-snk-context-why__infobox .dn-audience__infobox-icon {
  color: var(--brand-gold) !important;
}

body.theme-v2.theme-readable .dn-audience__infobox-icon > svg,
body.theme-v2.theme-readable .dn-audience__foot-box-icon > svg,
body.theme-v2.theme-readable .dn-snk-context-to-arch__box-icon > svg {
  display: block;
  fill: none;
  color: inherit;
}

body.theme-v2.theme-readable .dn-audience__infobox-icon svg [stroke],
body.theme-v2.theme-readable .dn-audience__foot-box-icon svg [stroke],
body.theme-v2.theme-readable .dn-snk-context-to-arch__box-icon svg [stroke] {
  stroke: currentColor;
  fill: none;
}

body.theme-v2.theme-readable .dn-audience__infobox-icon svg [fill="currentColor"],
body.theme-v2.theme-readable .dn-audience__foot-box-icon svg [fill="currentColor"],
body.theme-v2.theme-readable .dn-snk-context-to-arch__box-icon svg [fill="currentColor"] {
  fill: currentColor;
  stroke: none;
}
