.dna-concept-page {
  position: relative;
  z-index: 1;
  overflow: clip;
}

.dna-concept-page section {
  scroll-margin-top: 76px;
}

.dna-concept-hero {
  min-height: 100svh;
  justify-content: center;
  padding-top: calc(var(--nav-h) + clamp(32px, 5svh, 64px));
  padding-bottom: clamp(40px, 5svh, 64px);
  border-bottom: 1px solid rgba(255, 138, 61, 0.16);
}

.dna-concept-hero .score-gauge {
  width: clamp(220px, min(360px, 72vw, var(--gauge-fit)), 360px);
  /* the 210deg arc leaves the lower third of its square box empty; reclaim it
     so the headline sits against the arc, not against the box */
  margin-bottom: clamp(-34px, -4.5svh, -18px);
}

/* The halo is sized `closest-side`, not the default `farthest-corner`.
   With farthest-corner the radius is set by the box diagonal, so the
   gradient was still visible 274px out while the top edge was only 205px
   away, and it terminated in a hard line there. `closest-side` ties the
   radius to the nearest edge, so the last stop always lands on or before
   every edge and the halo cannot be clipped by its own box, whatever the
   inset or aspect ratio. */
.dna-concept-hero .score-gauge::before {
  position: absolute;
  inset: -46% -34% -14%;
  background: radial-gradient(
    circle closest-side at 50% 42%,
    rgba(255, 138, 61, 0.16),
    rgba(255, 58, 84, 0.05) 52%,
    transparent 100%
  );
  content: '';
  pointer-events: none;
}

.dna-concept-hero .score-gauge > svg {
  overflow: visible;
  filter: drop-shadow(0 0 7px rgba(255, 58, 84, 0.45))
    drop-shadow(0 0 26px rgba(255, 138, 61, 0.35));
}

.dna-concept-hero .arc {
  filter: none;
}

.dna-concept-hero .arc-track {
  stroke: rgba(246, 239, 234, 0.1);
}

.dna-concept-hero .score-center {
  bottom: 14%;
}

.dna-concept-hero .score-center b {
  font-size: clamp(58px, 6.2vw, 88px);
  font-weight: 560;
  background: linear-gradient(76.5deg, #ffa51e 0%, #36ffab 78%);
  -webkit-background-clip: text;
  background-clip: text;
}

.dna-concept-hero .score-center small {
  color: rgba(246, 239, 234, 0.6);
  font-family: var(--display);
  font-weight: 620;
  letter-spacing: 0.14em;
}

.dna-concept-hero .score-center span {
  max-width: none;
  color: rgba(246, 239, 234, 0.55);
  font-family: var(--display);
  white-space: nowrap;
}

.dna-wallet-band {
  position: absolute;
  right: 3%;
  bottom: 2.5%;
  left: 3%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 20px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.05) 50%, transparent);
  border-top: 1px solid rgba(255, 255, 255, 0.07);
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 14%, #000 86%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 14%, #000 86%, transparent);
}

.dna-wallet-band b {
  color: #f6efea;
  font-size: 12px;
  font-weight: 700;
}

.dna-wallet-band span {
  display: flex;
  gap: 8px;
  align-items: center;
  color: rgba(246, 239, 234, 0.6);
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 600;
}

.dna-wallet-band svg {
  display: inline-block;
  width: 16px;
  height: 16px;
  opacity: 0.7;
  filter: none;
  transform: none;
}

.dna-concept-hero .archetype {
  margin-top: 20px;
}

.dna-concept-hero .archetype-primary,
.dna-concept-hero .archetype-secondary {
  max-width: none;
  margin: 0 auto;
}

.dna-concept-hero .archetype-primary {
  color: #fff;
  font-family: var(--display);
  font-size: clamp(1.75rem, 2.6vw, 2.25rem);
  font-weight: 640;
  letter-spacing: -0.03em;
  line-height: 1.16;
}

.dna-concept-hero .archetype-secondary {
  margin: 2px auto 0;
  color: rgba(246, 239, 234, 0.6);
  font-family: var(--display);
  font-size: clamp(1.2rem, 1.8vw, 1.55rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.dna-concept-hero .archetype > p:last-child {
  max-width: 42rem;
  margin: 12px auto 0;
}

.dna-concept-hero .hero-actions {
  margin-top: 22px;
}

.fingerprint-copy,
.fingerprint-signal {
  position: relative;
  z-index: 2;
}

.fingerprint-label,
.profile-story__label {
  margin: 0 0 28px;
  color: var(--slide-accent, var(--execution));
  font-family: var(--mono);
  font-size: 0.77rem;
  font-weight: 700;
  letter-spacing: 0.28em;
  line-height: 1.5;
  text-transform: uppercase;
}

.fingerprint-copy h2 {
  max-width: 9.7ch;
  margin: 0;
  color: #f8f2ee;
  font-family: var(--display);
  font-size: clamp(4.15rem, 6.3vw, 7.15rem);
  font-weight: 650;
  letter-spacing: -0.065em;
  line-height: 0.93;
}

.fingerprint-signal {
  padding: 0;
}

.fingerprint-signal::before {
  display: block;
  width: 44px;
  height: 3px;
  margin-bottom: 28px;
  background: var(--slide-accent);
  border-radius: 2px;
  box-shadow: 0 0 18px color-mix(in srgb, var(--slide-accent) 55%, transparent);
  content: '';
}

.fingerprint-signal strong {
  display: block;
  color: var(--slide-accent);
  font-family: var(--display);
  font-size: clamp(6.6rem, 10vw, 10.8rem);
  font-weight: 640;
  letter-spacing: -0.05em;
  line-height: 0.88;
  font-variant-numeric: tabular-nums;
  text-shadow: 0 0 42px color-mix(in srgb, var(--slide-accent) 12%, transparent);
}

.fingerprint-signal > p {
  max-width: 29rem;
  margin: 34px 0 0;
  color: #b9adaa;
  font-size: clamp(1rem, 1.3vw, 1.23rem);
  line-height: 1.55;
}

.fingerprint-note {
  grid-column: 1 / -1;
  max-width: 48rem;
  margin: 0;
  color: #9a8f8b;
  font-size: 0.87rem;
  line-height: 1.55;
}

/* Product proof: real TraderDNA pattern cards from the app. */
/* The proof panels are the Asset Library designs themselves, carrying their
   own glass, border and shadow. No frame, tilt or plate is added here: a
   wrapper would sit behind the glass and fight it. They rise in on scroll. */
.fingerprint-proof {
  width: min(100%, 560px);
  margin: 36px 0 0;
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  opacity: 0;
  transform: translateY(18px);
  transition:
    opacity 760ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 760ms cubic-bezier(0.22, 1, 0.36, 1);
}

.fingerprint-proof--wide {
  width: min(100%, 520px);
}

.concept-reveal.is-visible .fingerprint-proof,
.fingerprint-proof.is-visible {
  opacity: 1;
  transform: none;
}

.fingerprint-proof img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0;
}

/* contents settle after the panel lands */
.fingerprint-proof [data-row] {
  opacity: 0;
  transform: translateY(8px);
  transition:
    opacity 520ms ease,
    transform 520ms cubic-bezier(0.22, 1, 0.36, 1);
}

.concept-reveal.is-visible .fingerprint-proof [data-row] {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  .fingerprint-proof,
  .fingerprint-proof [data-row] {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* Static editorial sequence: every finding is visible through normal page scroll. */
.fingerprint-sequence {
  position: relative;
  color: var(--ink);
  background: #151010;
  border-bottom: 1px solid rgba(255, 138, 61, 0.16);
  isolation: isolate;
}

.fingerprint-story {
  --slide-accent: #ff7f3e;
  position: relative;
  min-height: clamp(560px, 66svh, 700px);
  overflow: hidden;
  background:
    radial-gradient(
      ellipse 44% 52% at 72% 46%,
      color-mix(in srgb, var(--slide-accent) 9%, transparent),
      transparent 70%
    ),
    linear-gradient(110deg, rgba(255, 255, 255, 0.012), transparent 55%);
}

.fingerprint-story + .fingerprint-story {
  border-top: 1px solid rgba(255, 255, 255, 0.055);
}

.fingerprint-story--risk {
  --slide-accent: #ff7f3e;
}

.fingerprint-story--strength {
  --slide-accent: #3deb9e;
  background:
    radial-gradient(ellipse 44% 52% at 28% 46%, rgba(61, 235, 158, 0.08), transparent 70%),
    linear-gradient(250deg, rgba(255, 255, 255, 0.012), transparent 55%);
}

.fingerprint-story--observed {
  --slide-accent: #f0b743;
  background:
    radial-gradient(ellipse 44% 52% at 72% 46%, rgba(240, 183, 67, 0.075), transparent 70%),
    linear-gradient(110deg, rgba(255, 255, 255, 0.012), transparent 55%);
}

.fingerprint-story__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.95fr);
  gap: clamp(64px, 9vw, 154px);
  align-items: center;
  width: min(var(--max), calc(100% - var(--gutter) * 2));
  min-height: inherit;
  margin: 0 auto;
  padding: var(--section-pad-y-tight) 0;
}

.fingerprint-story .fingerprint-copy,
.fingerprint-story .fingerprint-signal {
  position: relative;
  z-index: 2;
}

.fingerprint-story .fingerprint-note {
  align-self: end;
  margin-top: clamp(36px, 6vh, 64px);
}

.fingerprint-story--reverse .fingerprint-copy {
  order: 2;
}

.fingerprint-story--reverse .fingerprint-signal {
  order: 1;
}

.fingerprint-story--reverse .fingerprint-note {
  order: 3;
}

.profile-story {
  position: relative;
  /* Framing floor only, as an equation rather than a fixed 960px: tall enough
     to feel like a full stage on a large screen, but it yields to the content
     on short or narrow viewports instead of forcing dead space. */
  min-height: clamp(620px, 92svh, 960px);
  overflow: hidden;
  background:
    radial-gradient(circle at 71% 44%, rgba(101, 49, 26, 0.19), transparent 34%),
    linear-gradient(112deg, #140e0e 0%, #171010 55%, #120d0d 100%);
  border-bottom: 1px solid rgba(255, 138, 61, 0.16);
}

.profile-story::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 44%;
  width: 1px;
  background: linear-gradient(
    transparent,
    rgba(255, 138, 61, 0.12) 30%,
    rgba(255, 138, 61, 0.12) 70%,
    transparent
  );
  content: '';
}

.profile-story__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  gap: clamp(60px, 8vw, 132px);
  align-items: center;
  width: min(var(--max), calc(100% - var(--gutter) * 2));
  min-height: inherit;
  margin: 0 auto;
  padding: var(--section-pad-y-tight) 0;
}

.profile-story__copy {
  max-width: 500px;
}

.profile-story__label {
  --slide-accent: var(--execution);
}

.profile-story__copy h2 {
  max-width: 9ch;
  margin: 0;
  color: #f8f2ee;
  font-family: var(--display);
  font-size: clamp(4rem, 5.3vw, 6.25rem);
  font-weight: 650;
  letter-spacing: -0.065em;
  line-height: 0.94;
}

.profile-story__copy > p:not(.profile-story__label) {
  max-width: 30rem;
  margin: 32px 0 0;
  color: #b9adaa;
  font-size: 1.13rem;
  line-height: 1.62;
}

.profile-story__copy > span {
  display: block;
  margin-top: 38px;
  color: var(--execution);
  font-family: var(--mono);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  line-height: 1.5;
  text-transform: uppercase;
}

.dna-profile-card {
  width: min(100%, 560px);
  margin-left: auto;
  padding: 16px;
  color: #f3eeeb;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 13px;
  box-shadow:
    0 36px 90px rgba(0, 0, 0, 0.34),
    inset 0 1px rgba(255, 255, 255, 0.025);
  backdrop-filter: blur(20px);
}

.dna-profile-card__header {
  display: flex;
  min-height: 59px;
  align-items: center;
  padding: 1px 4px 12px;
}

.dna-profile-card__header strong {
  display: block;
  margin-bottom: 6px;
  color: #fbf7f4;
  font-size: 0.88rem;
  font-weight: 650;
}

.dna-profile-card__header p {
  display: inline-block;
  margin: 0 15px 0 0;
  color: #a79e99;
  font-family: var(--mono);
  font-size: 0.62rem;
  letter-spacing: 0.01em;
}

.dna-profile-card__header p span {
  margin-right: 3px;
  color: #706764;
}

.dna-profile-card__identity {
  display: grid;
  grid-template-columns: 130px 1fr;
  grid-template-rows: auto auto;
  column-gap: 20px;
  align-items: center;
  padding: 17px 18px 18px;
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid rgba(255, 255, 255, 0.045);
  border-radius: 9px;
}

.dna-card-score {
  position: relative;
  grid-row: 1 / 3;
  width: 120px;
  height: 84px;
}

.dna-card-score svg {
  position: absolute;
  inset: 0;
  width: 120px;
  height: 76px;
  overflow: visible;
}

.dna-card-score path {
  fill: none;
  stroke-linecap: round;
  stroke-width: 7;
}

.dna-card-score__track {
  stroke: rgba(255, 255, 255, 0.1);
}
.dna-card-score__value {
  stroke: url(#dna-card-score-gradient);
  stroke-dasharray: 54 100;
}

.dna-card-score > div {
  position: absolute;
  top: 33px;
  right: 0;
  left: 0;
  display: grid;
  text-align: center;
}

.dna-card-score b {
  font-family: var(--mono);
  font-size: 1.9rem;
  font-weight: 500;
  line-height: 1;
}

.dna-card-score small {
  margin-top: 3px;
  color: #7e7571;
  font-size: 0.54rem;
}

.dna-profile-card__identity h3 {
  align-self: end;
  margin: 0 0 4px;
  color: var(--execution);
  font-family: var(--mono);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.4;
  text-transform: uppercase;
}

.dna-profile-card__identity > p {
  align-self: start;
  margin: 0;
  color: #8d837f;
  font-size: 0.7rem;
  line-height: 1.5;
}

.dna-profile-card__summary {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 12px 0;
  padding: 14px 6px;
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid rgba(255, 255, 255, 0.045);
  border-radius: 9px;
}

.dna-profile-card__summary div {
  padding: 0 12px;
  border-right: 1px solid rgba(255, 255, 255, 0.07);
}

.dna-profile-card__summary div:last-child {
  border-right: 0;
}

.dna-profile-card__summary dt {
  margin-bottom: 6px;
  color: #7f7672;
  font-size: 0.58rem;
  text-transform: uppercase;
}

.dna-profile-card__summary dd {
  margin: 0;
  font-family: var(--mono);
  font-size: 0.89rem;
  font-weight: 600;
}

.dna-profile-card__summary dd.is-negative {
  color: #ff6671;
}

.dna-behaviors {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

.dna-behavior {
  min-width: 0;
  min-height: 76px;
  padding: 10px;
  background: rgba(255, 255, 255, 0.028);
  border: 1px solid rgba(255, 255, 255, 0.045);
  border-radius: 8px;
}

.dna-behavior span {
  display: block;
  min-height: 26px;
  overflow: hidden;
  color: #b7afab;
  font-size: 0.59rem;
  line-height: 1.3;
}

.dna-behavior strong {
  display: block;
  margin-top: 3px;
  color: #dbd3cf;
  font-family: var(--mono);
  font-size: 0.65rem;
}

.dna-behavior i {
  display: flex;
  gap: 3px;
  margin-top: 8px;
}

.dna-behavior i b {
  width: 14px;
  height: 3px;
  background: #c0954e;
  border-radius: 4px;
}

.dna-behavior.is-risk i b {
  background: #ff5f69;
}
.dna-behavior.is-edge i b {
  background: #3deb9e;
}
.dna-behavior i b.is-empty {
  background: rgba(255, 255, 255, 0.09);
}

.dna-score-breakdown {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  margin-top: 12px;
  padding: 16px 18px 17px;
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid rgba(255, 255, 255, 0.045);
  border-radius: 9px;
}

.dna-score-breakdown > section {
  min-width: 0;
  padding-right: 22px;
}

.dna-score-breakdown > section + section {
  padding-right: 0;
  padding-left: 22px;
  border-left: 1px solid rgba(255, 255, 255, 0.08);
}

.dna-score-breakdown h4 {
  margin: 0 0 12px;
  color: #8d837e;
  font-size: 0.59rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.dna-score-row {
  position: relative;
  margin-top: 10px;
}

.dna-score-row p {
  display: flex;
  justify-content: space-between;
  margin: 0 0 5px;
  color: #aaa19d;
  font-size: 0.56rem;
}

.dna-score-row p b {
  color: #d8d1cd;
  font-family: var(--mono);
  font-size: 0.58rem;
  font-weight: 500;
}

.dna-score-row > i {
  display: block;
  height: 3px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 4px;
}

.dna-score-row > i b {
  display: block;
  width: var(--score-level);
  height: 100%;
  background: #3deb9e;
  border-radius: inherit;
}

.dna-score-row.is-risk > i b {
  background: #ff5f69;
}

.dna-score-row small {
  position: absolute;
  top: -17px;
  right: 0;
  color: #5eaaa0;
  font-size: 0.45rem;
  text-transform: uppercase;
}

.dna-score-row.is-risk small {
  color: #c47977;
}

.concept-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition:
    opacity 700ms ease,
    transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
}

.concept-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 1060px) {
  .profile-story__inner {
    grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
    gap: 52px;
  }
}

@media (max-width: 900px) {
  .fingerprint-copy h2 {
    max-width: 11ch;
  }

  .fingerprint-signal {
    padding: 0;
  }

  .fingerprint-signal strong {
    font-size: clamp(6rem, 18vw, 9rem);
  }

  .profile-story {
    min-height: 0;
  }

  .profile-story::before {
    display: none;
  }

  .profile-story__inner {
    grid-template-columns: 1fr;
    gap: 68px;
    padding: 120px 0;
  }

  .profile-story__copy {
    max-width: 650px;
  }

  .profile-story__copy h2 {
    max-width: 10ch;
  }

  .dna-profile-card {
    width: min(100%, 600px);
    margin: 0 auto;
  }
}

@media (max-width: 720px) {
  .dna-concept-hero {
    min-height: auto;
    padding-top: 136px;
  }

  .fingerprint-label,
  .profile-story__label {
    margin-bottom: 22px;
    font-size: 0.66rem;
    letter-spacing: 0.2em;
  }

  .fingerprint-copy h2,
  .profile-story__copy h2 {
    font-size: clamp(3.25rem, 14vw, 4.8rem);
  }

  .fingerprint-signal strong {
    font-size: clamp(5rem, 21vw, 7.5rem);
  }

  .fingerprint-signal > p {
    margin-top: 24px;
    font-size: 1rem;
  }

  .dna-concept-hero .score-gauge {
    margin-bottom: clamp(-24px, -3svh, -12px);
  }

  .fingerprint-proof {
    margin-top: 26px;
  }

  .profile-story__inner {
    gap: 52px;
    padding: 92px 0;
  }

  .profile-story__copy > p:not(.profile-story__label) {
    margin-top: 25px;
    font-size: 1rem;
  }

  .profile-story__copy > span {
    margin-top: 28px;
    font-size: 0.64rem;
  }

  .dna-profile-card {
    padding: 12px;
  }

  .dna-profile-card__identity {
    grid-template-columns: 115px 1fr;
    column-gap: 12px;
    padding: 14px 12px;
  }

  .dna-card-score,
  .dna-card-score svg {
    width: 108px;
  }

  .dna-profile-card__identity h3 {
    font-size: 0.68rem;
  }

  .dna-behaviors {
    grid-template-columns: repeat(2, 1fr);
  }

  .dna-score-breakdown {
    grid-template-columns: 1fr;
  }

  .dna-score-breakdown > section {
    padding-right: 0;
  }

  .dna-score-breakdown > section + section {
    margin-top: 18px;
    padding-top: 18px;
    padding-left: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    border-left: 0;
  }
}

@media (max-width: 460px) {
  .fingerprint-copy h2,
  .profile-story__copy h2 {
    font-size: clamp(3rem, 13.5vw, 4rem);
  }

  .dna-profile-card__identity {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .dna-card-score {
    grid-row: auto;
    margin: 0 auto 7px;
  }

  .dna-profile-card__summary div {
    padding: 0 8px;
  }

  .dna-profile-card__summary dt {
    font-size: 0.5rem;
  }

  .dna-profile-card__summary dd {
    font-size: 0.72rem;
  }

  .dna-behaviors {
    grid-template-columns: 1fr;
  }

  .dna-behavior {
    min-height: 70px;
  }
}

.rank-story {
  --slide-accent: #36ffab;
  position: relative;
  overflow: hidden;
  padding: var(--section-pad-y-tight) 0;
  background:
    radial-gradient(ellipse 50% 42% at 50% 8%, rgba(54, 255, 171, 0.06), transparent 70%), #131010;
  border-bottom: 1px solid rgba(255, 138, 61, 0.16);
}

.rank-story__inner {
  width: min(var(--max), calc(100% - var(--gutter) * 2));
  margin: 0 auto;
}

.rank-story__copy {
  max-width: 640px;
  margin: 0 auto;
  text-align: center;
}

.rank-story__copy h2 {
  margin: 0;
  color: #f8f2ee;
  font-family: var(--display);
  font-size: clamp(2.9rem, 4.8vw, 4.4rem);
  font-weight: 650;
  letter-spacing: -0.05em;
  line-height: 1;
}

.rank-story__copy > p:not(.fingerprint-label) {
  max-width: 52ch;
  margin: 20px auto 0;
  color: #b9adaa;
  font-size: clamp(1rem, 1.2vw, 1.13rem);
  line-height: 1.6;
}

.rank-story__proof {
  margin: clamp(44px, 6vh, 64px) 0 0;
  padding: 10px;
  background: rgba(255, 255, 255, 0.045);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  box-shadow:
    0 40px 90px rgba(0, 0, 0, 0.5),
    0 0 60px rgba(54, 255, 171, 0.07);
}

.rank-story__proof img {
  display: block;
  width: 100%;
  border-radius: 9px;
}

.dna-concept-cta {
  position: relative;
  display: flex;
  align-items: center;
  min-height: clamp(340px, 46svh, 440px);
  padding: var(--section-pad-y-tight) var(--gutter);
  overflow: hidden;
  text-align: center;
  border-bottom: 1px solid rgba(255, 138, 61, 0.16);
  isolation: isolate;
}

.dna-concept-cta__image {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.dna-concept-cta::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    radial-gradient(circle at center, rgba(21, 16, 16, 0.18), rgba(21, 16, 16, 0.7) 74%),
    linear-gradient(180deg, rgba(21, 16, 16, 0.42), rgba(21, 16, 16, 0.88));
  content: '';
  pointer-events: none;
}

.dna-concept-cta__inner {
  width: min(760px, 100%);
  margin: 0 auto;
}

.dna-concept-cta__eyebrow {
  margin: 0 0 18px;
  color: var(--execution);
  font-family: var(--mono);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.28em;
  text-transform: uppercase;
}

.dna-concept-cta h2 {
  margin: 0;
  color: #f8f2ee;
  font-family: var(--display);
  font-size: clamp(2.6rem, 4.6vw, 4rem);
  font-weight: 650;
  letter-spacing: -0.05em;
  line-height: 1;
}

.dna-concept-cta__inner > p:not(.dna-concept-cta__eyebrow):not(.dna-concept-cta__disclosure) {
  max-width: 46ch;
  margin: 18px auto 30px;
  color: rgba(248, 242, 238, 0.78);
  font-size: 1.05rem;
  line-height: 1.6;
}

.dna-concept-cta__disclosure {
  margin: 26px 0 0;
  color: #9a8f8b;
  font-size: 0.78rem;
}

@media (prefers-reduced-motion: reduce) {
  .concept-reveal {
    transition: none;
  }
}

@media (max-width: 1060px) {
  .fingerprint-story__inner {
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1fr);
    gap: 56px;
  }
}

@media (max-width: 900px) {
  .fingerprint-story {
    min-height: 0;
  }

  .fingerprint-story__inner {
    grid-template-columns: 1fr;
    gap: 38px;
    align-content: center;
    padding: 86px 0 84px;
  }

  .fingerprint-story--reverse .fingerprint-copy,
  .fingerprint-story--reverse .fingerprint-signal {
    order: initial;
  }

  .fingerprint-story--reverse .fingerprint-signal {
    padding: 0;
  }

  .fingerprint-story .fingerprint-note,
  .fingerprint-story--reverse .fingerprint-note {
    max-width: 42rem;
    margin-top: 44px;
    text-align: left;
  }
}

@media (max-width: 720px) {
  .fingerprint-story__inner {
    gap: 32px;
    align-content: start;
    padding: var(--section-pad-y-tight) 0;
  }

  .fingerprint-story .fingerprint-note,
  .fingerprint-story--reverse .fingerprint-note {
    margin-top: 36px;
    font-size: 0.72rem;
  }
}
