/* The DNA of Success page */

.dna-hero { background: var(--navy); padding: 88px 0 76px; }
.dna-hero .wrap { max-width: 700px; }
.dna-hero__title { color: var(--ivory); font-size: 34px; line-height: 1.35; margin-top: 16px; }
.dna-hero__lede { color: var(--nav-link); font-size: 16px; line-height: 1.65; margin-top: 20px; }
.dna-hero__signature { color: var(--ivory); font-size: 19px; margin-top: 20px; }
.dna-hero__signature span { color: var(--gold); }

.framework { background: var(--ivory); padding: 120px 0 100px; }
.framework .kicker { text-align: center; display: block; }
.framework__rail { position: relative; margin-top: 56px; max-width: 980px; margin-inline: auto; }
.framework__item { max-width: 520px; cursor: pointer; }
.framework__item + .framework__item { margin-top: 64px; }
.framework__item:nth-child(2) { margin-left: 22%; }
.framework__item:nth-child(3) { margin-left: 44%; }
.framework__num { font: 700 13px/1 'Public Sans', sans-serif; color: var(--gold); letter-spacing: .08em; }
.framework__item h2 { font-size: 40px; color: var(--navy); margin-top: 10px; }
.framework__desc {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
}
.framework__desc p {
  font-size: 15.5px; line-height: 1.7; color: var(--body-text); margin-top: 14px;
  overflow: hidden; min-height: 0;
}
.framework__item:hover .framework__desc,
.framework__item:focus-within .framework__desc {
  grid-template-rows: 1fr;
  opacity: 1;
}
.framework__item:hover h2,
.framework__item:focus-within h2 {
  color: var(--gold-dark);
}
@media (prefers-reduced-motion: no-preference) {
  .framework__desc { transition: grid-template-rows .3s ease, opacity .3s ease; }
  .framework__item h2 { transition: color .2s ease; }
}
@media (max-width: 880px), (hover: none) {
  .framework__desc { grid-template-rows: 1fr; opacity: 1; }
}
.framework__line {
  position: absolute; left: 0; top: 14px; bottom: 14px; width: 1px;
  background: linear-gradient(to bottom, var(--gold), var(--ivory-card-border));
}
.framework__footnote {
  text-align: center; font-size: 14.5px; line-height: 1.6; color: var(--muted);
  margin-top: 80px; max-width: 560px; margin-inline: auto;
}

.book-section {
  background: var(--ivory-3);
  padding: 96px 0;
  border-top: 1px solid var(--ivory-line);
  border-bottom: 1px solid var(--ivory-line);
}
.book-section .wrap { max-width: 900px; display: flex; gap: 52px; align-items: flex-start; }
.book-section__cover { width: 180px; height: 250px; flex: none; display: block; object-fit: cover; border: 1px solid var(--cream-line-2); }
.book-section p { font-size: 16px; line-height: 1.75; color: var(--body-text); margin-top: 16px; }
.book-section p + p { margin-top: 14px; }
.book-section .btn-gold { margin-top: 22px; }

.reader-praise {
  margin-top: 44px;
  padding-top: 26px;
  border-top: 1px dashed var(--cream-line-2);
}
.reader-praise__label {
  font: 600 10.5px/1 'Public Sans', sans-serif;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--muted-2);
}
.reader-praise__item { margin-top: 16px; }
.reader-praise__item p.quote {
  font-size: 12.5px;
  line-height: 1.55;
  color: var(--muted-2);
  font-style: italic;
}
.reader-praise__item cite {
  font-size: 11px;
  color: var(--muted-2);
  margin-top: 5px;
  font-weight: 500;
  font-style: normal;
  display: block;
}

.praise-lead { margin-top: 44px; border-left: 3px solid var(--gold); padding-left: 24px; }
.praise-lead p.quote { font-size: 19px; line-height: 1.55; color: var(--navy); font-style: italic; }
.praise-lead cite { font-size: 12.5px; color: var(--gold-dark); margin-top: 12px; font-weight: 600; font-style: normal; display: block; }

.praise { margin-top: 28px; padding-left: 24px; border-left: 1px solid var(--cream-line-2); }
.praise p.quote { font-size: 13.5px; line-height: 1.6; color: var(--muted); font-style: italic; }
.praise cite { font-size: 12px; color: var(--gold-dark); margin-top: 10px; font-weight: 600; font-style: normal; display: block; }

.beyond-book { background: var(--navy); padding: 100px 0; }
.beyond-book .wrap { max-width: 720px; margin-inline: auto; text-align: center; }
.beyond-book__title { color: var(--ivory); font-size: 30px; line-height: 1.35; margin-top: 18px; }
.beyond-book p.lede { color: var(--nav-link); font-size: 15.5px; line-height: 1.7; margin-top: 20px; }
.beyond-book .btn-gold { margin-top: 28px; }

.dna-cta { background: var(--ivory); padding: 80px 0; text-align: center; }
.dna-cta .wrap { max-width: 560px; margin-inline: auto; }
.dna-cta__lead { color: var(--navy); font-size: 22px; line-height: 1.4; }
.dna-cta p.action { font-size: 15px; color: var(--body-text); margin-top: 20px; font-weight: 600; }
.dna-cta .btn-outline { margin-top: 22px; }

@media (max-width: 880px) {
  .framework__item:nth-child(2),
  .framework__item:nth-child(3) { margin-left: 0; }
  .framework__line { display: none; }
  .book-section .wrap { flex-direction: column; }
  .book-section__cover { width: 140px; height: 190px; }
}
