.landing-page {
  --landing-navy: #142b37;
  --landing-navy-deep: #10232d;
  --landing-blue: #075176;
  overflow-x: hidden;
  color: var(--ink-950);
  background: var(--canvas);
  font-size: 1.0625rem;
}

.landing-main {
  width: 100%;
  margin: 0;
  padding: 0;
}

.landing-container {
  width: min(100% - 2.5rem, 72rem);
  margin-inline: auto;
}

.landing-section {
  padding: clamp(5rem, 8vw, 7.5rem) 0;
  scroll-margin-top: 5rem;
}

.landing-kicker {
  margin: 0 0 .7rem;
  color: var(--brand-700);
  font-size: .875rem;
  font-weight: var(--weight-bold);
  letter-spacing: .12em;
  text-transform: uppercase;
}

.landing-nav-links {
  display: flex;
  align-items: center;
  gap: clamp(1rem, 2.5vw, 2rem);
}

.landing-nav-links a,
.landing-signin {
  color: var(--ink-800);
  font-size: .9rem;
  font-weight: var(--weight-semibold);
  text-decoration: none;
}

.landing-nav-links a:hover,
.landing-signin:hover {
  color: var(--brand-700);
}

.landing-header-cta {
  white-space: nowrap;
}

.landing-signout-notice {
  position: fixed;
  z-index: 40;
  top: 5.35rem;
  left: 50%;
  display: flex;
  width: min(28rem, calc(100% - 2rem));
  align-items: center;
  gap: .75rem;
  padding: .8rem 1rem;
  border: 1px solid var(--success-border);
  border-radius: var(--radius-md);
  color: var(--success-800);
  background: rgb(240 250 244 / 98%);
  box-shadow: var(--shadow-md);
  transform: translateX(-50%);
}

.landing-signout-notice > span {
  display: grid;
  width: 1.6rem;
  height: 1.6rem;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
  color: white;
  background: var(--success-700);
  font-weight: var(--weight-bold);
}

.landing-signout-notice p {
  margin: 0;
  font-size: var(--text-sm);
}

.landing-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(3.75rem, 7vw, 6.25rem) 0 clamp(4rem, 7vw, 6rem);
  color: white;
  background:
    radial-gradient(circle at 86% 18%, rgb(0 111 169 / 32%), transparent 26rem),
    linear-gradient(135deg, var(--landing-navy-deep), #1b3b4b);
}

.landing-hero::after {
  position: absolute;
  right: -15rem;
  bottom: -32rem;
  width: 52rem;
  height: 52rem;
  border: 1px solid rgb(255 255 255 / 9%);
  border-radius: 50%;
  content: "";
}

.hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(25rem, .75fr);
  align-items: center;
  gap: clamp(2.5rem, 5vw, 4.5rem);
}

.hero-brand-lockup {
  display: block;
  width: clamp(10rem, 15vw, 12.5rem);
  height: auto;
  margin-bottom: clamp(1.5rem, 3vw, 2.1rem);
}

.hero-copy .landing-kicker {
  color: #8fd6f2;
}

.hero-copy h1 {
  max-width: 13ch;
  margin: 0;
  color: white;
  font-size: clamp(3rem, 5.2vw, 5rem);
  letter-spacing: var(--tracking-display);
  line-height: .99;
  text-wrap: balance;
}

.hero-value-line {
  margin: var(--space-5) 0 0;
  color: white;
  font-size: clamp(1.28rem, 2.1vw, 1.75rem);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-heading);
}

.hero-lede {
  max-width: 41rem;
  margin: var(--space-4) 0 0;
  color: #d3e1e7;
  font-size: clamp(1rem, 1.35vw, 1.14rem);
  line-height: 1.65;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-6);
}

.landing-button {
  min-height: 3.2rem;
  padding-inline: 1.25rem;
}

.landing-hero .hero-actions .button:not(.primary) {
  border-color: rgb(255 255 255 / 38%);
  color: white;
  background: rgb(255 255 255 / 8%);
}

.landing-hero .hero-actions .button:not(.primary):hover {
  border-color: rgb(255 255 255 / 62%);
  color: white;
  background: rgb(255 255 255 / 14%);
}

.hero-assurance {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem 1.1rem;
  margin: var(--space-4) 0 0;
  color: #c0d2d9;
  font-size: .875rem;
}

.hero-assurance span::before {
  margin-right: .45rem;
  color: #f0638b;
  content: "✓";
}

.hero-product,
.report-demo {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / 18%);
  border-radius: 1.05rem;
  background: white;
  box-shadow: 0 1.8rem 4.2rem rgb(0 0 0 / 27%);
  color: var(--ink-950);
}

.report-cover-head,
.report-demo-head {
  color: white;
  background: linear-gradient(140deg, #102a3a, var(--landing-blue));
}

.report-cover-head {
  padding: clamp(1.25rem, 3vw, 1.7rem);
}

.report-cover-brandline,
.report-demo-brandline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  color: #bfe8f7;
  font-size: .875rem;
  font-weight: var(--weight-bold);
  letter-spacing: .1em;
  text-transform: uppercase;
}

.report-cover-brandline img,
.report-demo-brandline img {
  display: block;
  width: 7.7rem;
  height: auto;
}

.report-cover-score,
.report-demo-score {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: .65rem;
  margin-top: clamp(2rem, 5vw, 3rem);
  text-align: center;
}

.report-cover-score span,
.report-demo-score span {
  overflow: hidden;
  font-size: clamp(.82rem, 1.5vw, 1rem);
  font-weight: var(--weight-semibold);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.report-cover-score strong,
.report-demo-score strong {
  padding: .75rem .9rem;
  border: 1px solid rgb(255 255 255 / 22%);
  border-radius: var(--radius-md);
  background: rgb(255 255 255 / 10%);
  color: white;
  font-size: clamp(1.5rem, 3vw, 2.15rem);
  letter-spacing: -.05em;
  line-height: 1;
}

.report-cover-foot {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  margin-top: clamp(2rem, 5vw, 2.8rem);
  padding-top: .9rem;
  border-top: 1px solid rgb(255 255 255 / 18%);
  color: #d2eaf2;
  font-size: .875rem;
}

.report-cover-foot p,
.report-cover-foot span {
  margin: 0;
}

.report-cover-foot strong {
  display: block;
  color: white;
  font-size: .875rem;
}

.report-cover-foot p span {
  display: block;
}

.report-cover-foot > span {
  text-align: right;
}

.report-cover-tabs {
  display: flex;
  gap: 1.15rem;
  overflow: hidden;
  padding: .8rem 1.1rem 0;
  border-bottom: 1px solid var(--line);
  color: var(--ink-650);
  background: white;
  font-size: .875rem;
  font-weight: var(--weight-semibold);
  white-space: nowrap;
}

.report-cover-tabs span {
  padding-bottom: .7rem;
}

.report-cover-tabs span:first-child {
  border-bottom: .16rem solid var(--brand-700);
  color: var(--brand-800);
}

.report-cover-body {
  padding: 1.25rem;
  background: var(--surface-soft);
}

.report-label {
  margin: 0 0 .3rem;
  color: var(--brand-700);
  font-size: .875rem;
  font-weight: var(--weight-bold);
  letter-spacing: .1em;
  text-transform: uppercase;
}

.report-cover-body h2 {
  margin: 0;
  font-size: 1.25rem;
}

.report-cover-insight {
  margin-top: .8rem;
  padding: .9rem;
  border-left: .2rem solid var(--brand-700);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  background: white;
}

.report-cover-insight strong,
.report-cover-insight span {
  display: block;
}

.report-cover-insight strong {
  font-size: .875rem;
}

.report-cover-insight span {
  margin-top: .25rem;
  color: var(--ink-650);
  font-size: .875rem;
  line-height: 1.45;
}

.proof-ribbon {
  border-bottom: 1px solid var(--line);
  background: var(--surface-soft);
}

.proof-ribbon-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.proof-ribbon p {
  display: grid;
  gap: .2rem;
  margin: 0;
  padding: 1.35rem 1rem;
  border-right: 1px solid var(--line);
}

.proof-ribbon p:last-child {
  border-right: 0;
}

.proof-ribbon strong {
  color: var(--brand-800);
  font-size: .92rem;
}

.proof-ribbon span {
  color: var(--ink-650);
  font-size: .875rem;
  line-height: 1.45;
}

.section-intro {
  max-width: 48rem;
  margin-bottom: clamp(2.3rem, 5vw, 3.75rem);
}

.section-intro.centered {
  margin-inline: auto;
  text-align: center;
}

.section-intro h1,
.section-intro h2,
.process-intro h2,
.pricing-copy h2 {
  margin: 0;
  font-size: clamp(2.45rem, 4.8vw, 4.2rem);
  letter-spacing: var(--tracking-display);
  line-height: 1.03;
  text-wrap: balance;
}

.section-intro > p:last-child,
.process-intro > p,
.pricing-copy > p:last-child {
  margin: var(--space-4) 0 0;
  color: var(--ink-650);
  font-size: 1.08rem;
  line-height: 1.65;
}

.sample-section {
  background: var(--surface);
}

.report-demo {
  border-color: var(--line-strong);
  box-shadow: 0 1.25rem 3.2rem rgb(36 52 62 / 12%);
}

.report-demo-head {
  padding: clamp(1.35rem, 3.5vw, 2rem);
}

.report-demo-brandline img {
  width: 9.2rem;
}

.report-demo-score {
  max-width: 42rem;
  margin-inline: auto;
}

.report-demo-tabs {
  display: flex;
  gap: .25rem;
  overflow-x: auto;
  padding: .6rem .75rem 0;
  border-bottom: 1px solid var(--line);
  background: white;
  scrollbar-width: none;
}

.report-demo-tabs::-webkit-scrollbar {
  display: none;
}

.report-demo-tabs button {
  min-height: 2.8rem;
  flex: 0 0 auto;
  padding: .7rem .85rem .8rem;
  border: 0;
  border-bottom: .2rem solid transparent;
  color: var(--ink-650);
  background: transparent;
  font-size: .875rem;
  font-weight: var(--weight-semibold);
}

.report-demo-tabs button:hover {
  color: var(--brand-800);
}

.report-demo-tabs button[aria-selected="true"] {
  border-bottom-color: var(--brand-700);
  color: var(--brand-800);
}

.report-demo-panel {
  min-height: 21rem;
  padding: clamp(1.35rem, 4vw, 2.2rem);
  background: white;
}

.report-demo-panel > h3 {
  margin: 0 0 var(--space-5);
  font-size: clamp(1.6rem, 3vw, 2.15rem);
  letter-spacing: var(--tracking-heading);
}
.report-team-evidence-preview { margin-top: var(--space-6); padding-top: var(--space-5); border-top: 1px solid var(--line-strong); }
.report-team-evidence-preview h4 { margin: 0 0 var(--space-4); font-size: 1.25rem; }

.report-score-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  border-radius: var(--radius-md);
  background: var(--brand-50);
  text-align: center;
}

.report-score-row span {
  font-size: .88rem;
  font-weight: var(--weight-semibold);
}

.report-score-row strong {
  color: var(--ink-950);
  font-size: 2rem;
  letter-spacing: -.05em;
}

.report-takeaways {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  margin-top: var(--space-4);
}

.report-takeaway {
  padding: var(--space-4);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
}

.report-takeaway > span {
  color: var(--brand-700);
  font-size: .875rem;
  font-weight: var(--weight-bold);
}

.report-takeaway > strong {
  display: block;
  margin-top: .25rem;
  font-size: .98rem;
}

.report-takeaway > p {
  margin: .4rem 0 0;
  color: var(--ink-650);
  font-size: .875rem;
  line-height: 1.55;
}

.report-perspectives {
  display: flex;
  gap: .35rem;
  margin-bottom: var(--space-4);
  padding: .35rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface-soft);
}

.report-perspectives span {
  flex: 1;
  padding: .65rem;
  border-radius: var(--radius-sm);
  color: var(--ink-650);
  font-size: .875rem;
  text-align: center;
}

.report-perspectives span:first-child {
  color: var(--brand-800);
  background: white;
  box-shadow: var(--shadow-sm);
}

.report-moment {
  display: grid;
  grid-template-columns: 4.1rem minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-4);
  padding: .9rem 0;
  border-bottom: 1px solid var(--line);
}

.report-moment:last-child {
  border-bottom: 0;
}

.report-moment time {
  color: var(--brand-800);
  font-size: .95rem;
  font-weight: var(--weight-bold);
}

.report-moment p {
  display: grid;
  margin: 0;
}

.report-moment p strong {
  font-size: .88rem;
}

.report-moment p span {
  color: var(--ink-650);
  font-size: .875rem;
}

.report-video-label {
  padding: .4rem .55rem;
  border-radius: var(--radius-sm);
  color: var(--brand-800);
  background: var(--brand-100);
  font-size: .875rem;
  font-weight: var(--weight-bold);
}

.report-map-layout {
  display: grid;
  grid-template-columns: minmax(12rem, .75fr) minmax(0, 1.25fr);
  align-items: center;
  gap: clamp(1.5rem, 4vw, 3rem);
}

.report-pitch {
  display: grid;
  width: min(100%, 14rem);
  aspect-ratio: 3 / 4;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(6, 1fr);
  gap: .12rem;
  margin: auto;
  padding: .2rem;
  border: .16rem solid white;
  border-radius: .35rem;
  background: #1d704d;
  box-shadow: 0 0 0 1px #1d704d;
}

.report-pitch span {
  border-radius: .15rem;
  background: rgb(102 65 163 / 16%);
}

.report-pitch .level-2 { background: rgb(102 65 163 / 24%); }
.report-pitch .level-3 { background: rgb(102 65 163 / 34%); }
.report-pitch .level-4 { background: rgb(102 65 163 / 44%); }
.report-pitch .level-5 { background: rgb(102 65 163 / 52%); }
.report-pitch .level-6 { background: rgb(102 65 163 / 62%); }
.report-pitch .level-7 { background: rgb(102 65 163 / 74%); }

.report-map-copy strong {
  display: block;
  font-size: 1.05rem;
}

.report-map-copy p {
  margin: .55rem 0 0;
  color: var(--ink-650);
  font-size: .875rem;
  line-height: 1.6;
}

.sample-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-5);
  margin-top: var(--space-5);
}

.sample-actions p {
  max-width: 30rem;
  margin: 0;
  color: var(--ink-650);
  font-size: .875rem;
  line-height: 1.5;
  text-align: right;
}

.audience-section {
  background: var(--surface-soft);
}

.audience-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
}

.audience-card {
  min-height: 16rem;
  padding: clamp(1.5rem, 3vw, 2rem);
  border: 1px solid var(--line);
  border-top: .3rem solid var(--brand-700);
  border-radius: var(--radius-lg);
  background: white;
  box-shadow: var(--shadow-sm);
}

.audience-card.player-card {
  border-top-color: var(--signal-700);
}

.audience-card.family-card {
  border-top-color: var(--success-700);
}

.audience-label {
  color: var(--brand-700);
  font-size: .875rem;
  font-weight: var(--weight-bold);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.player-card .audience-label {
  color: var(--signal-700);
}

.family-card .audience-label {
  color: var(--success-700);
}

.audience-card h3 {
  margin: 2.5rem 0 .65rem;
  font-size: clamp(1.3rem, 2.3vw, 1.7rem);
  letter-spacing: var(--tracking-heading);
}

.audience-card p {
  color: var(--ink-650);
  font-size: .9rem;
  line-height: 1.6;
}

.process-section {
  background: white;
}

.process-layout {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  align-items: start;
  gap: clamp(2.5rem, 7vw, 6rem);
}

.process-intro {
  padding: clamp(1.75rem, 4vw, 2.7rem);
  border-radius: var(--radius-lg);
  color: white;
  background: linear-gradient(140deg, var(--landing-navy), var(--landing-blue));
}

.process-intro .landing-kicker {
  color: #8fd6f2;
}

.process-intro h2 {
  color: white;
  font-size: clamp(2.2rem, 4vw, 3.5rem);
}

.process-intro > p {
  color: #d4e4ea;
  font-size: .95rem;
}

.process-link {
  display: inline-flex;
  gap: .4rem;
  margin-top: var(--space-5);
  color: #a8def2;
  font-size: .9rem;
  font-weight: var(--weight-semibold);
  text-decoration: none;
}

.process-link:hover {
  color: white;
}

.process-steps,
.steps-grid {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}

.process-steps li {
  display: grid;
  grid-template-columns: 2.7rem minmax(0, 1fr);
  gap: var(--space-4);
  padding: 1.25rem 0;
  border-bottom: 1px solid var(--line);
}

.process-steps li:last-child {
  border-bottom: 0;
}

.process-steps li > span,
.step-number {
  color: var(--brand-700);
  font-size: .875rem;
  font-weight: var(--weight-bold);
}

.process-steps strong {
  display: block;
  font-size: 1.05rem;
}

.process-steps p {
  margin: .3rem 0 0;
  color: var(--ink-650);
  font-size: .875rem;
  line-height: 1.55;
}

.pricing-band {
  padding: clamp(3.5rem, 6vw, 5rem) 0;
  scroll-margin-top: 5rem;
  background: var(--brand-100);
}

.pricing-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(20rem, .66fr);
  align-items: center;
  gap: clamp(2rem, 6vw, 5rem);
}

.pricing-copy h2 {
  font-size: clamp(2.3rem, 4.4vw, 3.8rem);
}

.pricing-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 1rem 1.3rem;
  padding: clamp(1.4rem, 3vw, 2rem);
  border: 1px solid var(--info-border);
  border-radius: var(--radius-lg);
  background: white;
  box-shadow: var(--shadow-md);
}

.pricing-card > strong {
  color: var(--brand-800);
  font-size: clamp(2.6rem, 5vw, 3.8rem);
  letter-spacing: -.06em;
  line-height: 1;
}

.pricing-card div span,
.pricing-card div small {
  display: block;
}

.pricing-card div span {
  font-size: .95rem;
  font-weight: var(--weight-semibold);
}

.pricing-card div small {
  margin-top: .25rem;
  color: var(--ink-650);
  font-size: .875rem;
}

.pricing-card .button {
  grid-column: 1 / -1;
  width: 100%;
}

.landing-final {
  padding: clamp(5rem, 8vw, 7rem) 0;
  color: white;
  background: linear-gradient(135deg, var(--landing-navy), var(--landing-blue));
  text-align: center;
}

.landing-final h2 {
  max-width: 48rem;
  margin: 0 auto;
  color: white;
  font-size: clamp(2.4rem, 4.8vw, 4.1rem);
  letter-spacing: var(--tracking-display);
  line-height: 1.05;
  text-wrap: balance;
}

.landing-final > div > p {
  max-width: 38rem;
  margin: var(--space-4) auto var(--space-5);
  color: #d3e2e8;
  line-height: 1.65;
}

.landing-final .landing-final-note {
  margin: var(--space-4) auto 0;
  color: #bcd4de;
  font-size: .875rem;
}

.landing-footer {
  padding: var(--space-7) 0 var(--space-5);
  border-top: 1px solid var(--line);
  background: var(--surface);
}

.footer-grid {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-6);
}

.footer-grid > img {
  display: block;
  width: 9.5rem;
  height: auto;
}

.footer-grid > p {
  margin: 0;
  color: var(--ink-650);
  font-size: .875rem;
}

.footer-grid nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--space-5);
}

.footer-grid a {
  font-size: .875rem;
  font-weight: var(--weight-semibold);
  text-decoration: none;
}

.landing-disclosure {
  width: min(100% - 2.5rem, 72rem);
  margin: 2rem auto 0;
  padding-top: 1.2rem;
  border-top: 1px solid var(--line);
  color: var(--ink-650);
  font-size: .875rem;
  line-height: 1.5;
  text-align: center;
}

.marketing-detail-hero {
  padding-top: clamp(5rem, 9vw, 8rem);
  padding-bottom: clamp(2.5rem, 5vw, 4rem);
}

.marketing-detail-section {
  padding-top: clamp(2.5rem, 5vw, 4rem);
}

.pricing-section {
  background: linear-gradient(var(--canvas), var(--surface-soft));
}

.competitor-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
}

.competitor-card {
  display: grid;
  align-content: start;
  padding: clamp(1.55rem, 3vw, 2.2rem);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: white;
  box-shadow: var(--shadow-sm);
}

.competitor-card.mivo-competitor {
  border: .17rem solid var(--brand-700);
  background: linear-gradient(145deg, white, var(--brand-50));
  box-shadow: var(--shadow-md);
}

.competitor-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--line);
}

.competitor-title > span,
.competitor-title > a {
  color: var(--brand-800);
  font-size: 1.18rem;
  font-weight: var(--weight-bold);
  text-decoration: none;
}

.competitor-title b {
  color: var(--ink-650);
  font-size: .875rem;
  letter-spacing: .06em;
  text-align: right;
  text-transform: uppercase;
}

.competitor-fit {
  min-height: 5.4rem;
  margin: 1.4rem 0 0;
  color: var(--ink-650);
  font-size: .9rem;
  line-height: 1.55;
}

.competitor-fit b {
  color: var(--ink-950);
}

.competitor-card ul {
  display: grid;
  gap: .65rem;
  margin: 1.3rem 0 1.2rem;
  padding: 1.2rem 0 0;
  border-top: 1px solid var(--line);
  list-style: none;
}

.competitor-card li {
  display: grid;
  grid-template-columns: 1rem minmax(0, 1fr);
  color: var(--ink-650);
  font-size: .88rem;
}

.competitor-card li::before {
  color: var(--success-700);
  content: "✓";
}

.competitor-card .text-link {
  margin-top: auto;
  font-weight: var(--weight-semibold);
  text-decoration: none;
}

.comparison-note {
  margin-top: var(--space-4);
  color: var(--ink-650);
  font-size: .875rem;
}

.steps-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-4);
}

.steps-grid li {
  position: relative;
  overflow: hidden;
  min-height: 18rem;
  padding: clamp(1.7rem, 3vw, 2.3rem);
  border-radius: var(--radius-lg);
  background: var(--surface-soft);
}

.steps-grid li:first-child {
  background: var(--landing-navy);
}

.steps-grid li:nth-child(2) { background: var(--brand-100); }
.steps-grid li:nth-child(3) { background: var(--signal-100); }
.steps-grid li:nth-child(4) { background: var(--success-100); }

.steps-grid li::after {
  position: absolute;
  right: -4rem;
  bottom: -5rem;
  width: 12rem;
  height: 12rem;
  border: 1px solid var(--line-strong);
  border-radius: 50%;
  content: "";
}

.step-number {
  display: block;
  margin-bottom: 4rem;
}

.steps-grid li:first-child .step-number {
  color: var(--info-border);
}

.steps-grid h3 {
  font-size: 1.4rem;
}

.steps-grid p {
  position: relative;
  z-index: 1;
  color: var(--ink-650);
}

.steps-grid li:first-child h3 {
  color: white;
}

.steps-grid li:first-child p {
  color: #c6d4da;
}

.final-cta-section {
  padding: 0 0 clamp(5rem, 8vw, 7rem);
  background: var(--surface);
}

.final-cta {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-7);
  padding: clamp(2.3rem, 6vw, 4.6rem);
  border-radius: var(--radius-lg);
  color: white;
  background: var(--landing-navy);
  box-shadow: var(--shadow-md);
}

.final-cta h2 {
  max-width: 17ch;
  color: white;
  font-size: clamp(2.1rem, 4vw, 3.6rem);
  letter-spacing: var(--tracking-display);
}

.final-cta p {
  color: #c6d4da;
}

.final-cta .landing-kicker {
  color: var(--info-border);
}

.final-cta-actions {
  display: grid;
  justify-items: center;
  gap: var(--space-3);
}

.final-cta-actions > a:last-child {
  color: var(--info-border);
  font-size: .875rem;
}

@media (prefers-reduced-motion: no-preference) {
  .hero-copy {
    animation: landing-rise .65s ease-out both;
  }

  .hero-product {
    animation: landing-rise .8s .08s ease-out both;
  }
}

@keyframes landing-rise {
  from {
    opacity: 0;
    translate: 0 1.2rem;
  }

  to {
    opacity: 1;
    translate: 0 0;
  }
}

@media (max-width: 1050px) {
  .hero-grid {
    grid-template-columns: 1fr;
  }

  .hero-copy {
    max-width: 49rem;
  }

  .hero-product {
    width: min(100%, 40rem);
  }

  .steps-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 800px) {
  .landing-nav-links {
    display: none;
  }

  .proof-ribbon-grid,
  .audience-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .proof-ribbon p:nth-child(2) {
    border-right: 0;
  }

  .proof-ribbon p:nth-child(-n+2) {
    border-bottom: 1px solid var(--line);
  }

  .audience-card:last-child {
    grid-column: 1 / -1;
    min-height: auto;
  }

  .process-layout,
  .pricing-layout,
  .final-cta {
    grid-template-columns: 1fr;
  }

  .pricing-card {
    max-width: 32rem;
  }

  .sample-actions {
    align-items: flex-start;
    flex-direction: column;
  }

  .sample-actions p {
    text-align: left;
  }

  .competitor-grid {
    grid-template-columns: 1fr;
  }

  .competitor-fit {
    min-height: 0;
  }

  .footer-grid {
    grid-template-columns: 1fr;
    gap: 1.15rem;
  }

  .footer-grid nav {
    justify-content: flex-start;
  }
}

@media (max-width: 560px) {
  .landing-container {
    width: min(100% - 1.4rem, 72rem);
  }

  .landing-signin {
    display: none;
  }

  .landing-header-cta {
    min-height: 2.55rem;
    padding-inline: .78rem;
    font-size: .875rem;
  }

  .landing-hero {
    padding-top: 3.5rem;
  }

  .hero-copy h1 {
    font-size: clamp(2.85rem, 14vw, 4.1rem);
  }

  .hero-actions .button {
    width: 100%;
  }

  .hero-assurance {
    display: grid;
    gap: .35rem;
  }

  .report-cover-brandline img,
  .report-demo-brandline img {
    width: 7rem;
  }

  .report-cover-score,
  .report-demo-score {
    gap: .4rem;
  }

  .report-cover-score span,
  .report-demo-score span {
    font-size: .875rem;
  }

  .report-cover-score strong,
  .report-demo-score strong {
    padding: .7rem .55rem;
    font-size: 1.45rem;
  }

  .report-cover-foot > span {
    display: none;
  }

  .report-cover-tabs {
    gap: .55rem;
    padding-inline: .75rem;
    font-size: .875rem;
  }

  .proof-ribbon-grid,
  .audience-grid,
  .report-takeaways,
  .report-map-layout {
    grid-template-columns: 1fr;
  }

  .proof-ribbon p {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .proof-ribbon p:last-child {
    border-bottom: 0;
  }

  .audience-card:last-child {
    grid-column: auto;
  }

  .report-demo-panel {
    min-height: 26rem;
    padding: 1.1rem;
  }

  .report-moment {
    grid-template-columns: 3.5rem minmax(0, 1fr);
    gap: .7rem;
  }

  .report-video-label {
    grid-column: 2;
    justify-self: start;
  }

  .report-perspectives span {
    padding: .5rem .3rem;
    font-size: .875rem;
  }

  .pricing-card {
    grid-template-columns: 1fr;
  }

  .pricing-card .button {
    grid-column: auto;
  }

  .steps-grid {
    grid-template-columns: 1fr;
  }

  .steps-grid li {
    min-height: 15rem;
  }

  .landing-disclosure {
    width: min(100% - 1.4rem, 72rem);
    text-align: left;
  }
}
/* Landing page v10 -------------------------------------------------------
   This layer intentionally follows the legacy detail-page rules above so
   /compare and /how-it-works keep their existing presentation while the
   main landing page can use the current match-led visual system. */

.landing-page {
  --landing-ink: #122630;
  --landing-deep: #102730;
  --landing-deep-2: #173945;
  --landing-green: #8bcc62;
  --landing-green-bright: #b5e780;
  --landing-coral: #ec5d78;
  --landing-mist: #eff7f7;
  --landing-line: #d8e5e7;
  --landing-muted: #5c7179;
  background: #f8fbfb;
  color: var(--landing-ink);
}

.landing-page .landing-container {
  width: min(100% - 3rem, 76rem);
}

.landing-page .landing-section {
  padding: clamp(4.75rem, 8vw, 7.5rem) 0;
}

.landing-page .landing-kicker {
  color: #237045;
  font-size: .78rem;
  letter-spacing: .15em;
}

.landing-page .section-intro {
  max-width: 47rem;
  margin-bottom: clamp(2rem, 4vw, 3.25rem);
}

.landing-page .section-intro h2,
.landing-page .moment-story-copy h2,
.landing-page .landing-final h2 {
  margin: 0;
  color: var(--landing-ink);
  font-size: clamp(2.35rem, 5vw, 4.5rem);
  letter-spacing: var(--tracking-display);
  line-height: .98;
  text-wrap: balance;
}

.landing-page .section-intro > p:last-child,
.landing-page .sample-intro > p,
.landing-page .comparison-heading > p {
  margin: 1rem 0 0;
  color: var(--landing-muted);
  font-size: clamp(1rem, 1.4vw, 1.14rem);
  line-height: 1.7;
}

.landing-page .landing-hero {
  min-height: min(53rem, calc(100svh - 4.6rem));
  padding: clamp(4.5rem, 8vw, 7rem) 0;
  isolation: isolate;
  background: var(--landing-deep);
}

.landing-page .landing-hero::after {
  right: auto;
  bottom: -15rem;
  left: -12rem;
  width: 38rem;
  height: 38rem;
  border-color: rgb(255 255 255 / 14%);
}

.hero-match-image,
.hero-shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.hero-match-image {
  z-index: -3;
  object-fit: cover;
  object-position: center;
  transform: scale(1.015);
}

.hero-shade {
  z-index: -2;
  background:
    linear-gradient(90deg, rgb(5 20 27 / 96%) 0%, rgb(9 28 36 / 90%) 34%, rgb(9 28 36 / 46%) 64%, rgb(9 28 36 / 23%) 100%),
    linear-gradient(0deg, rgb(7 23 30 / 54%), transparent 58%);
}

.landing-page .hero-grid {
  z-index: auto;
  grid-template-columns: minmax(0, .95fr) minmax(23rem, .72fr);
  gap: clamp(2rem, 5vw, 5rem);
}

.landing-page .hero-copy {
  padding: 1rem 0;
}

.landing-page .hero-copy .landing-kicker {
  color: var(--landing-green-bright);
}

.landing-page .hero-copy h1 {
  max-width: 10ch;
  font-size: clamp(3.75rem, 7.2vw, 6.9rem);
  line-height: .88;
  text-shadow: 0 .16rem 1.2rem rgb(0 0 0 / 24%);
}

.landing-page .hero-lede {
  max-width: 38rem;
  margin-top: 1.6rem;
  color: #edf7f6;
  font-size: clamp(1.05rem, 1.55vw, 1.25rem);
  line-height: 1.62;
}

.landing-page .hero-actions {
  margin-top: 2rem;
}

.landing-page .landing-button {
  min-height: 3.35rem;
  border-radius: .72rem;
  font-weight: 750;
}

.landing-page .hero-actions .button.primary,
.landing-page .landing-final .button.primary {
  border-color: var(--landing-coral);
  color: white;
  background: var(--landing-coral);
  box-shadow: 0 .9rem 2.2rem rgb(126 27 51 / 28%);
}

.landing-page .hero-assurance {
  gap: .7rem 1.2rem;
  margin-top: 1.35rem;
  color: #e5f0ef;
  font-size: .88rem;
  font-weight: 650;
}

.landing-page .hero-assurance span::before {
  color: var(--landing-green-bright);
}

.hero-evidence-stack {
  align-self: end;
  width: min(100%, 31rem);
  justify-self: end;
  filter: drop-shadow(0 1.4rem 2.2rem rgb(0 0 0 / 30%));
}

.hero-score-card,
.hero-insight-card {
  border: 1px solid rgb(255 255 255 / 27%);
  border-radius: 1rem;
  background: rgb(10 31 39 / 88%);
  backdrop-filter: blur(16px);
}

.hero-score-card {
  padding: 1.1rem 1.3rem 1.25rem;
}

.hero-card-label {
  display: block;
  margin-bottom: .75rem;
  color: #b8cecf;
  font-size: .7rem;
  font-weight: 750;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.hero-score-card > div {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: .75rem;
  text-align: center;
}

.hero-score-card strong {
  color: white;
  font-size: .95rem;
}

.hero-score-card b {
  color: var(--landing-green-bright);
  font-size: 1.75rem;
  letter-spacing: -.04em;
}

.hero-insight-flow {
  position: relative;
  padding: .7rem 0 0 2rem;
}

.hero-flow-line {
  position: absolute;
  top: 4.25rem;
  bottom: 4.25rem;
  left: 3.22rem;
  width: 2px;
  background: linear-gradient(var(--landing-coral), var(--landing-green));
}

.hero-insight-card {
  position: relative;
  display: grid;
  grid-template-columns: 2.45rem 1fr;
  gap: .9rem;
  padding: 1rem 1.1rem;
}

.hero-insight-card + .hero-insight-card {
  margin-top: .7rem;
}

.hero-card-icon {
  z-index: 1;
  display: grid;
  width: 2.45rem;
  height: 2.45rem;
  place-items: center;
  border-radius: .7rem;
  color: white;
  background: var(--landing-coral);
  font-size: .82rem;
  font-weight: 800;
}

.decision-card .hero-card-icon {
  color: var(--landing-deep);
  background: var(--landing-green-bright);
}

.hero-insight-card small,
.hero-insight-card strong,
.hero-insight-card p {
  display: block;
}

.hero-insight-card small {
  margin-bottom: .25rem;
  color: #aec4c7;
  font-size: .7rem;
  font-weight: 750;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.hero-insight-card strong {
  color: white;
  font-size: .93rem;
  line-height: 1.32;
}

.hero-insight-card p {
  margin: .3rem 0 0;
  color: #c9d9da;
  font-size: .78rem;
  line-height: 1.45;
}

.landing-page .proof-ribbon {
  color: white;
  background: var(--landing-deep);
  border-top: 1px solid rgb(255 255 255 / 10%);
}

.landing-page .proof-ribbon-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
}

.landing-page .proof-ribbon-grid p {
  min-height: 7.25rem;
  padding: 1.35rem clamp(1rem, 2.2vw, 1.7rem);
  border-left: 1px solid rgb(255 255 255 / 11%);
}

.landing-page .proof-ribbon-grid p:last-child {
  border-right: 1px solid rgb(255 255 255 / 11%);
}

.landing-page .proof-ribbon-grid strong {
  color: var(--landing-green-bright);
  font-size: clamp(1.08rem, 1.7vw, 1.28rem);
}

.landing-page .proof-ribbon-grid span {
  margin-top: .35rem;
  color: #bdd0d2;
  font-size: .82rem;
  line-height: 1.45;
}

.moment-story-section {
  background: #f8fbfb;
}

.moment-story-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(22rem, .82fr);
  align-items: center;
  gap: clamp(2.5rem, 6vw, 6rem);
}

.moment-story-visual {
  position: relative;
  min-height: 32rem;
  overflow: hidden;
  border-radius: 1.25rem;
  box-shadow: 0 2rem 4rem rgb(20 43 55 / 18%);
}

.moment-story-visual::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgb(9 27 34 / 63%), transparent 56%);
  content: "";
}

.moment-story-visual img {
  width: 100%;
  height: 100%;
  min-height: 32rem;
  object-fit: cover;
  object-position: 69% center;
}

.moment-scorebug {
  position: absolute;
  z-index: 2;
  top: 1.25rem;
  left: 1.25rem;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: .65rem;
  padding: .65rem .85rem;
  border: 1px solid rgb(255 255 255 / 25%);
  border-radius: .75rem;
  color: white;
  background: rgb(10 30 38 / 82%);
  backdrop-filter: blur(12px);
  font-size: .72rem;
}

.moment-scorebug strong {
  color: var(--landing-green-bright);
  font-size: 1rem;
}

.moment-timecode {
  position: absolute;
  z-index: 2;
  right: 1.25rem;
  bottom: 1.25rem;
  padding: .65rem .85rem;
  border-radius: .65rem;
  color: white;
  background: var(--landing-coral);
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .04em;
}

.moment-story-copy h2 {
  max-width: 11ch;
}

.moment-story-lede {
  margin: 1.25rem 0 0;
  color: var(--landing-muted);
  line-height: 1.7;
}

.moment-flow-list {
  position: relative;
  display: grid;
  gap: .8rem;
  margin: 1.8rem 0 0;
  padding: 0;
  list-style: none;
}

.moment-flow-list::before {
  position: absolute;
  top: 1.6rem;
  bottom: 1.6rem;
  left: 1.28rem;
  width: 2px;
  background: var(--landing-line);
  content: "";
}

.moment-flow-list li {
  position: relative;
  display: grid;
  grid-template-columns: 2.6rem 1fr;
  align-items: center;
  gap: .9rem;
  padding: .95rem;
  border: 1px solid var(--landing-line);
  border-radius: .85rem;
  background: white;
}

.moment-flow-icon {
  z-index: 1;
  display: grid;
  width: 2.6rem;
  height: 2.6rem;
  place-items: center;
  border-radius: .65rem;
  color: white;
  background: var(--landing-deep-2);
  font-size: .78rem;
  font-weight: 800;
}

.moment-flow-list li:last-child .moment-flow-icon {
  color: var(--landing-deep);
  background: var(--landing-green-bright);
}

.moment-flow-list small,
.moment-flow-list strong {
  display: block;
}

.moment-flow-list small {
  margin-bottom: .2rem;
  color: #6c8188;
  font-size: .7rem;
  font-weight: 750;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.moment-flow-list strong {
  font-size: .9rem;
  line-height: 1.4;
}

.landing-page .sample-section {
  background: var(--landing-deep);
}

.landing-page .sample-intro {
  display: grid;
  max-width: none;
  grid-template-columns: minmax(0, 1fr) minmax(20rem, .7fr);
  align-items: end;
  gap: 2rem;
}

.landing-page .sample-section .sample-intro h2,
.landing-page .sample-section .sample-intro > p {
  color: white;
}

.landing-page .sample-section .sample-intro > p {
  color: #bed1d3;
}

.landing-page .sample-intro .landing-kicker {
  color: var(--landing-green-bright);
}

.landing-page .report-demo {
  border: 1px solid rgb(255 255 255 / 15%);
  border-radius: 1.2rem;
  background: #f7faf9;
  box-shadow: 0 2rem 5rem rgb(0 0 0 / 28%);
}

.landing-page .report-demo-head {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 1rem;
  padding: 1.3rem 1.5rem;
  color: white;
  background: linear-gradient(125deg, #112d37, #1d4b57);
}

.landing-page .report-demo-head .report-demo-score {
  margin: 0;
}

.landing-page .report-demo-head > p {
  margin: 0;
  color: #b9cdd0;
  font-size: .72rem;
  text-align: right;
}

.landing-page .report-demo-tabs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  padding: 0 1.25rem;
  border-bottom: 1px solid var(--landing-line);
  background: white;
}

.landing-page .report-demo-tabs button {
  min-height: 4.2rem;
  padding: .8rem;
  border: 0;
  border-bottom: 3px solid transparent;
  color: #62767e;
  background: transparent;
  font: inherit;
  font-size: .87rem;
  font-weight: 750;
  cursor: pointer;
}

.landing-page .report-demo-tabs button[aria-selected="true"] {
  border-bottom-color: var(--landing-coral);
  color: var(--landing-ink);
}

.landing-page .report-demo-panel {
  min-height: 29rem;
  padding: clamp(1.4rem, 4vw, 2.4rem);
}

.report-panel-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.25rem;
  margin-bottom: 1.25rem;
}

.landing-page .report-label {
  margin: 0 0 .25rem;
  color: #40705a;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.landing-page .report-demo-panel h3 {
  margin: 0;
  color: var(--landing-ink);
  font-size: clamp(1.55rem, 3vw, 2.25rem);
  letter-spacing: var(--tracking-heading);
}

.evidence-badge {
  flex: 0 0 auto;
  padding: .45rem .65rem;
  border-radius: 999px;
  color: #396448;
  background: #e6f5e0;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.report-story {
  max-width: 62rem;
  margin: 0 0 1.6rem;
  color: #50666e;
  font-size: 1rem;
  line-height: 1.7;
}

.report-summary-grid,
.report-stats-map-grid {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(22rem, 1.2fr);
  gap: 1.2rem;
}

.report-summary-grid > article,
.mini-goal-ledger,
.report-map-card,
.report-stat-stack article {
  border: 1px solid var(--landing-line);
  border-radius: .9rem;
  background: white;
}

.report-summary-grid > article {
  padding: 1.3rem;
  border-top: 4px solid var(--landing-coral);
}

.report-summary-grid small,
.report-summary-grid strong,
.report-summary-grid p {
  display: block;
}

.report-summary-grid small {
  color: #6b7d84;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.report-summary-grid > article strong {
  margin-top: .6rem;
  font-size: 1.16rem;
  line-height: 1.35;
}

.report-summary-grid > article p {
  margin: .55rem 0 0;
  color: var(--landing-muted);
  font-size: .87rem;
  line-height: 1.55;
}

.mini-goal-ledger {
  overflow: hidden;
}

.mini-goal-ledger > strong {
  display: block;
  padding: 1rem 1.2rem;
  border-bottom: 1px solid var(--landing-line);
  font-size: .8rem;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.mini-goal-ledger p {
  display: grid;
  grid-template-columns: 4.2rem 1fr auto;
  gap: .8rem;
  margin: 0;
  padding: .65rem 1.2rem;
  border-bottom: 1px solid #edf2f2;
  font-size: .82rem;
}

.mini-goal-ledger p:last-child {
  border-bottom: 0;
  background: #fff1f4;
}

.mini-goal-ledger time {
  color: #6a7d83;
  font-variant-numeric: tabular-nums;
}

.mini-goal-ledger b {
  color: var(--landing-ink);
}

.report-control-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .7rem;
  margin-bottom: 1.5rem;
}

.report-control-row span {
  padding: .75rem .9rem;
  border: 1px solid var(--landing-line);
  border-radius: .75rem;
  background: white;
}

.report-control-row small,
.report-control-row strong {
  display: block;
}

.report-control-row small {
  color: #74868c;
  font-size: .68rem;
  font-weight: 750;
  text-transform: uppercase;
}

.report-control-row strong {
  margin-top: .12rem;
  font-size: .88rem;
}

.coaching-priority-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .8rem;
}

.coaching-priority-grid article {
  display: grid;
  grid-template-columns: 2.25rem 1fr;
  gap: .8rem;
  padding: 1.05rem;
  border: 1px solid var(--landing-line);
  border-radius: .85rem;
  background: white;
}

.coaching-priority-grid article > span {
  display: grid;
  width: 2.25rem;
  height: 2.25rem;
  place-items: center;
  border-radius: .6rem;
  color: var(--landing-deep);
  background: var(--landing-green-bright);
  font-size: .72rem;
  font-weight: 850;
}

.coaching-priority-grid strong {
  display: block;
  font-size: .9rem;
  line-height: 1.4;
}

.coaching-priority-grid p {
  margin: .4rem 0 0;
  color: var(--landing-muted);
  font-size: .78rem;
  line-height: 1.5;
}

.landing-page .report-moment {
  display: grid;
  grid-template-columns: 4.2rem 1fr auto;
  align-items: center;
  gap: 1rem;
  margin-top: .65rem;
  padding: .82rem 1rem;
  border: 1px solid var(--landing-line);
  border-radius: .72rem;
  background: white;
}

.landing-page .report-moment.is-decisive {
  border-color: #f1a7b6;
  background: #fff5f7;
}

.landing-page .report-moment time {
  color: #435a63;
  font-size: .8rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

.landing-page .report-moment p {
  margin: 0;
}

.landing-page .report-moment p strong,
.landing-page .report-moment p span {
  display: block;
}

.landing-page .report-moment p strong {
  font-size: .9rem;
}

.landing-page .report-moment p span {
  margin-top: .15rem;
  color: #6d8087;
  font-size: .75rem;
}

.report-video-label {
  padding: .4rem .58rem;
  border-radius: 999px;
  color: #4c6557;
  background: #e8f4e6;
  font-size: .68rem;
  font-weight: 750;
}

.report-stats-map-grid {
  grid-template-columns: minmax(15rem, .72fr) minmax(22rem, 1.28fr);
}

.report-stat-stack {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: .7rem;
}

.report-stat-stack article {
  padding: 1rem;
}

.report-stat-stack strong,
.report-stat-stack span {
  display: block;
}

.report-stat-stack strong {
  color: #285a40;
  font-size: 1.5rem;
  letter-spacing: -.04em;
}

.report-stat-stack span {
  margin-top: .2rem;
  color: #6a7e85;
  font-size: .73rem;
  line-height: 1.45;
}

.report-map-card {
  padding: 1rem;
}

.report-map-card > div:first-child {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .7rem;
  font-size: .79rem;
}

.report-map-card > div:first-child span {
  color: #70838a;
}

.landing-page .report-pitch {
  position: relative;
  display: grid;
  min-height: 13rem;
  grid-template-columns: repeat(6, 1fr);
  gap: 2px;
  overflow: hidden;
  border: 2px solid #6b9b7b;
  border-radius: .35rem;
  background: #d9eddd;
}

.landing-page .report-pitch::before {
  position: absolute;
  z-index: 2;
  inset: 0 50% 0 auto;
  border-right: 1px solid rgb(255 255 255 / 70%);
  content: "";
  pointer-events: none;
}

.landing-page .report-pitch span {
  background: #cfe8d5;
}

.landing-page .report-pitch .level-1 { background: #c6e5ce; }
.landing-page .report-pitch .level-2 { background: #9fd0ad; }
.landing-page .report-pitch .level-3 { background: #72b689; }
.landing-page .report-pitch .level-4 { background: #438d68; }
.landing-page .report-pitch .level-5 { background: #205e49; }

.report-map-card > p {
  margin: .7rem 0 0;
  color: #718289;
  font-size: .7rem;
  line-height: 1.45;
}

.landing-page .sample-actions {
  margin-top: 1.5rem;
  color: #c2d3d5;
}

.landing-page .sample-actions .button.primary {
  border-color: var(--landing-green-bright);
  color: var(--landing-deep);
  background: var(--landing-green-bright);
}

.landing-page .sample-actions p {
  color: #b8cbcd;
  font-size: .82rem;
}

.audience-scene-section {
  position: relative;
  overflow: hidden;
  padding: clamp(5rem, 9vw, 8rem) 0;
  isolation: isolate;
  color: white;
}

.audience-scene-section > img,
.audience-scene-shade {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
}

.audience-scene-section > img {
  object-fit: cover;
  object-position: center;
}

.audience-scene-shade {
  z-index: -1;
  background: linear-gradient(90deg, rgb(8 28 35 / 92%), rgb(8 28 35 / 70%) 56%, rgb(8 28 35 / 38%));
}

.landing-page .audience-scene-section .section-intro h2,
.landing-page .audience-scene-section .section-intro > p,
.landing-page .audience-scene-section .landing-kicker {
  color: white;
}

.landing-page .audience-scene-section .landing-kicker {
  color: var(--landing-green-bright);
}

.audience-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}

.audience-card {
  min-height: 13rem;
  padding: 1.4rem;
  border: 1px solid rgb(255 255 255 / 24%);
  border-radius: 1rem;
  background: rgb(10 33 41 / 78%);
  backdrop-filter: blur(14px);
}

.audience-icon {
  display: grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  border-radius: .72rem;
  color: var(--landing-deep);
  background: var(--landing-green-bright);
  font-size: 1.15rem;
  font-weight: 850;
}

.audience-label {
  display: block;
  margin-top: .9rem;
  color: var(--landing-green-bright);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.audience-card h3 {
  margin: 1rem 0 .4rem;
  color: white;
  font-size: 1.2rem;
}

.audience-card p {
  margin: 0;
  color: #cedcdd;
  font-size: .88rem;
  line-height: 1.6;
}

.process-section {
  background: #f8fbfb;
}

.process-heading,
.pricing-heading {
  display: grid;
  max-width: none !important;
  grid-template-columns: minmax(0, 1fr) minmax(22rem, .7fr);
  align-items: end;
  gap: 2rem;
}

.process-heading > p,
.pricing-heading > p {
  margin: 0 !important;
}

.process-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: .85rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.process-steps li {
  position: relative;
  display: grid;
  min-height: 14rem;
  grid-template-areas:
    "icon title"
    "body body";
  grid-template-columns: 2.65rem minmax(0, 1fr);
  grid-template-rows: auto 1fr;
  column-gap: 1rem;
  row-gap: 0;
  align-content: start;
  padding: 1.25rem;
  overflow: hidden;
  border: 1px solid var(--landing-line);
  border-radius: 1rem;
  background: white;
}

.process-steps li::after {
  position: absolute;
  right: -2rem;
  bottom: -3.5rem;
  color: #edf4f1;
  content: counter(list-item, decimal-leading-zero);
  font-size: 8rem;
  font-weight: 850;
  line-height: 1;
}

.process-steps li > .process-icon {
  position: relative;
  z-index: 1;
  display: grid;
  grid-area: icon;
  width: 2.65rem;
  height: 2.65rem;
  place-items: center;
  border-radius: .68rem;
  color: #2d6f4c;
  background: #e6f5e0;
  font-size: 1rem;
  font-weight: 850;
}

.process-steps strong,
.process-steps p,
.process-steps small {
  position: relative;
  z-index: 1;
}

.process-steps strong {
  grid-area: title;
  align-self: center;
  display: block;
  margin: 0;
  font-size: 1.12rem;
}

.process-steps small {
  position: absolute;
  top: 1.65rem;
  right: 1.3rem;
  color: #7f948a;
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .1em;
}

.process-steps p {
  grid-area: body;
  width: 100%;
  margin: 1rem 0 0;
  color: var(--landing-muted);
  font-size: .84rem;
  line-height: 1.6;
}

.process-youtube-note {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 1.15rem;
  padding: 1rem 1.1rem;
  border: 1px solid #cfe2d4;
  border-radius: .85rem;
  background: #edf7eb;
  color: #355c44;
  font-size: .85rem;
}

.process-youtube-note strong {
  color: var(--landing-ink);
}

.pricing-section {
  background: #eaf3f1;
}

.pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}

.price-card {
  position: relative;
  padding: 1.5rem;
  border: 1px solid #cddfdd;
  border-radius: 1.1rem;
  background: white;
}

.price-card.is-featured {
  border: 2px solid var(--landing-green);
  box-shadow: 0 1.6rem 3.5rem rgb(22 73 54 / 13%);
  transform: translateY(-.6rem);
}

.price-badge {
  display: inline-block;
  margin-bottom: .8rem;
  padding: .38rem .55rem;
  border-radius: 999px;
  color: #356047;
  background: #e5f4df;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.price-card-label {
  display: block;
  color: #63787f;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.price-card h3 {
  margin: 1.2rem 0 .15rem;
}

.price-card h3 strong,
.price-card h3 span {
  display: block;
}

.price-card h3 strong {
  color: var(--landing-ink);
  font-size: clamp(2.7rem, 4vw, 3.6rem);
  font-weight: 850;
  letter-spacing: -.06em;
  line-height: 1;
}

.price-card h3 span {
  margin-top: .35rem;
  color: #315a42;
  font-size: .95rem;
  font-weight: 800;
}

.price-card > p {
  margin: 1rem 0 0;
  color: var(--landing-muted);
  font-size: .85rem;
  line-height: 1.55;
}

.price-math {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin-top: 1rem;
}

.price-math span {
  padding: .38rem .5rem;
  border-radius: 999px;
  color: #48665a;
  background: #edf5ee;
  font-size: .68rem;
  font-weight: 750;
}

.price-card .button {
  width: 100%;
  margin-top: 1.2rem;
}

.pricing-example {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 2rem;
  margin-top: 1.4rem;
  padding: 1.4rem;
  border: 1px solid #cbdedc;
  border-radius: 1rem;
  background: var(--landing-deep);
  color: white;
}

.pricing-example strong,
.pricing-example p {
  display: block;
}

.pricing-example strong {
  font-size: 1.05rem;
}

.pricing-example p {
  margin-top: .3rem;
  color: #c0d2d3;
  font-size: .79rem;
  line-height: 1.55;
}

.pricing-example-icon {
  display: grid;
  min-width: 6rem;
  min-height: 4.2rem;
  place-items: center;
  border: 1px solid rgb(255 255 255 / 14%);
  border-radius: .8rem;
  color: var(--landing-green-bright);
  background: rgb(255 255 255 / 7%);
  font-size: 1.15rem;
  font-weight: 850;
  font-variant-numeric: tabular-nums;
}

.comparison-section {
  background: white;
}

.landing-page .comparison-heading {
  display: grid;
  max-width: none;
  grid-template-columns: minmax(0, 1fr) minmax(22rem, .7fr);
  align-items: end;
  gap: 2rem;
}

.comparison-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--landing-line);
  border-radius: 1rem;
}

.comparison-table {
  width: 100%;
  min-width: 54rem;
  border-collapse: collapse;
  background: white;
  font-size: .82rem;
}

.comparison-table th,
.comparison-table td {
  padding: 1.15rem 1.1rem;
  border-right: 1px solid var(--landing-line);
  border-bottom: 1px solid var(--landing-line);
  text-align: left;
  vertical-align: top;
}

.comparison-table th:last-child,
.comparison-table td:last-child {
  border-right: 0;
}

.comparison-table tbody tr:last-child th,
.comparison-table tbody tr:last-child td {
  border-bottom: 0;
}

.comparison-table thead th {
  background: #f0f6f5;
}

.comparison-table thead span,
.comparison-table thead small,
.comparison-table td strong,
.comparison-table td span {
  display: block;
}

.comparison-table thead span,
.comparison-table td strong {
  color: var(--landing-ink);
  font-weight: 800;
}

.comparison-table thead small,
.comparison-table td span {
  margin-top: .25rem;
  color: #687c83;
  line-height: 1.5;
}

.comparison-table .mivo-column {
  background: #f0f8ed;
}

.comparison-table thead .mivo-column {
  color: #2e6544;
  box-shadow: inset 0 4px var(--landing-green);
}

.comparison-foot {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2rem;
  margin-top: 1rem;
}

.comparison-foot p {
  max-width: 52rem;
  margin: 0;
  color: #74858b;
  font-size: .72rem;
  line-height: 1.55;
}

.comparison-foot a {
  flex: 0 0 auto;
  color: #236843;
  font-size: .82rem;
  font-weight: 800;
  text-decoration: none;
}

.landing-final {
  position: relative;
  overflow: hidden;
  padding: clamp(6rem, 10vw, 9rem) 0;
  isolation: isolate;
  color: white;
  text-align: center;
}

.landing-final > img,
.landing-final-shade {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
}

.landing-final > img {
  object-fit: cover;
  object-position: 65% center;
}

.landing-final-shade {
  z-index: -1;
  background: rgb(6 25 32 / 78%);
}

.landing-final-content {
  display: grid;
  justify-items: center;
}

.landing-page .landing-final .landing-kicker,
.landing-page .landing-final h2 {
  color: white;
}

.landing-page .landing-final .landing-kicker {
  color: var(--landing-green-bright);
}

.landing-page .landing-final h2 {
  max-width: 14ch;
}

.landing-final-content > p:not(.landing-kicker, .landing-final-note) {
  max-width: 42rem;
  margin: 1.3rem 0 1.7rem;
  color: #d4e0e1;
  font-size: 1.05rem;
  line-height: 1.65;
}

.landing-final-note {
  margin: 1rem 0 0;
  color: #bed0d2;
  font-size: .75rem;
}

.landing-page .landing-footer {
  padding: 2rem 0 1.2rem;
  color: #c6d4d6;
  background: #0a2028;
}

.landing-page .footer-grid {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 1.5rem;
}

.landing-page .footer-grid img {
  width: 7.5rem;
}

.landing-page .footer-grid p {
  margin: 0;
  font-size: .78rem;
}

.landing-page .footer-grid nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .7rem 1.2rem;
}

.landing-page .footer-grid a {
  color: #d4e2e3;
  font-size: .75rem;
  text-decoration: none;
}

.landing-page .landing-disclosure {
  width: min(100% - 3rem, 76rem);
  margin: 1.2rem auto 0;
  padding-top: 1rem;
  border-top: 1px solid rgb(255 255 255 / 10%);
  color: #7f969b;
  font-size: .66rem;
  text-align: center;
}

/* Landing page v17 hero report carousel and decision content ---------------- */
.landing-page .hero-grid {
  width: min(100% - 3rem, 92rem);
  grid-template-columns: minmax(29rem, .88fr) minmax(38rem, 1.12fr);
  gap: clamp(2rem, 4vw, 4.5rem);
}

.landing-page .hero-copy h1 {
  max-width: 11ch;
  font-size: clamp(3.35rem, 5.8vw, 6.25rem);
  line-height: .92;
}

.landing-page .hero-copy h1 span {
  display: block;
  margin-top: .18em;
}

.hero-report-carousel {
  position: relative;
  align-self: end;
  width: 100%;
  min-width: 0;
  height: 38rem;
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / 23%);
  border-radius: 1.15rem;
  color: var(--landing-ink);
  background: #f6f9f8;
  box-shadow: 0 2.2rem 5rem rgb(0 0 0 / 34%);
}

.hero-report-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 1.25rem;
  min-height: 6rem;
  padding: 1rem 1.25rem;
  color: white;
  background: linear-gradient(125deg, #102a34, #1d4c58);
}

.hero-report-head > span {
  color: var(--landing-green-bright);
  font-size: .875rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.hero-report-score {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: .65rem;
  min-width: 0;
  text-align: center;
}

.hero-report-score strong {
  overflow: hidden;
  color: white;
  font-size: .94rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.hero-report-score b {
  padding: .55rem .7rem;
  border: 1px solid rgb(255 255 255 / 21%);
  border-radius: .65rem;
  color: white;
  background: rgb(255 255 255 / 9%);
  font-size: 1.55rem;
  letter-spacing: -.04em;
}

.hero-report-tabs {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: 1px solid var(--landing-line);
  background: white;
}

.hero-report-tabs button {
  position: relative;
  min-width: 0;
  min-height: 3.8rem;
  padding: .8rem .55rem;
  border: 0;
  color: #64777e;
  background: transparent;
  font: inherit;
  font-size: .875rem;
  font-weight: 750;
  cursor: pointer;
}

.hero-report-tabs button::after {
  position: absolute;
  right: .55rem;
  bottom: 0;
  left: .55rem;
  height: 3px;
  border-radius: 999px 999px 0 0;
  background: transparent;
  content: "";
}

.hero-report-tabs button:hover,
.hero-report-tabs button[aria-selected="true"] {
  color: var(--landing-ink);
}

.hero-report-tabs button[aria-selected="true"]::after {
  background: var(--landing-coral);
}

.hero-report-tabs button:focus-visible {
  z-index: 2;
  outline: 3px solid var(--brand-300);
  outline-offset: -3px;
}

.hero-report-viewport {
  position: relative;
  height: 28.2rem;
  overflow: hidden;
  background: #f6f9f8;
}

.hero-report-panel {
  min-height: 32rem;
  padding: 1.25rem 1.35rem 5.5rem;
  background: #f6f9f8;
}

.hero-report-panel[hidden] {
  display: none;
}

.hero-report-label {
  margin: 0 0 .28rem;
  color: #397252;
  font-size: .875rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.hero-report-panel h2 {
  margin: 0;
  color: var(--landing-ink);
  font-size: clamp(1.45rem, 2.25vw, 2rem);
  letter-spacing: var(--tracking-heading);
}

.hero-report-story {
  margin: .55rem 0 1rem;
  color: #52686f;
  font-size: .9rem;
  line-height: 1.55;
}

.hero-moment-sequence {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: .6rem;
}

.hero-moment-sequence > span {
  color: var(--landing-coral);
  font-size: 1.25rem;
  font-weight: 850;
}

.hero-moment-sequence article,
.hero-next-step,
.hero-priority-list li,
.hero-moment-list article,
.hero-stat-grid article,
.hero-map-card {
  border: 1px solid var(--landing-line);
  border-radius: .75rem;
  background: white;
}

.hero-moment-sequence article {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .2rem .65rem;
  padding: .85rem;
}

.hero-moment-sequence time {
  color: #60777e;
  font-size: .875rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

.hero-moment-sequence strong {
  justify-self: end;
  color: var(--landing-ink);
  font-size: 1.05rem;
}

.hero-moment-sequence article span {
  grid-column: 1 / -1;
  color: #677b82;
  font-size: .875rem;
}

.hero-next-step {
  display: grid;
  gap: .22rem;
  margin-top: .8rem;
  padding: .9rem 1rem;
  border-left: 4px solid var(--landing-green);
}

.hero-next-step small {
  color: #50715d;
  font-size: .875rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.hero-next-step strong {
  font-size: .94rem;
}

.hero-report-controls {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .6rem;
  margin-bottom: .9rem;
}

.hero-report-controls span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .6rem .75rem;
  border: 1px solid var(--landing-line);
  border-radius: .65rem;
  background: white;
}

.hero-report-controls small {
  color: #70848a;
  font-size: .875rem;
  text-transform: uppercase;
}

.hero-report-controls strong {
  font-size: .875rem;
}

.hero-priority-list {
  display: grid;
  gap: .55rem;
  margin: .9rem 0 0;
  padding: 0;
  list-style: none;
}

.hero-priority-list li {
  display: grid;
  grid-template-columns: 2.2rem minmax(0, 1fr);
  gap: .75rem;
  padding: .75rem;
}

.hero-priority-list li > span {
  display: grid;
  width: 2.2rem;
  height: 2.2rem;
  place-items: center;
  border-radius: .55rem;
  color: var(--landing-deep);
  background: var(--landing-green-bright);
  font-size: .875rem;
  font-weight: 850;
}

.hero-priority-list strong {
  display: block;
  font-size: .9rem;
}

.hero-priority-list p {
  margin: .2rem 0 0;
  color: #687c82;
  font-size: .875rem;
  line-height: 1.4;
}

.hero-moment-list {
  display: grid;
  gap: .45rem;
  margin-top: .9rem;
}

.hero-moment-list article {
  display: grid;
  grid-template-columns: 4rem 1fr;
  gap: .75rem;
  padding: .65rem .75rem;
}

.hero-moment-list article.is-decisive {
  border-color: #efabb9;
  background: #fff4f6;
}

.hero-moment-list time {
  color: #496169;
  font-size: .875rem;
  font-weight: 800;
}

.hero-moment-list strong,
.hero-moment-list span {
  display: block;
  font-size: .875rem;
}

.hero-moment-list span {
  margin-top: .12rem;
  color: #708188;
}

.hero-stats-map {
  display: grid;
  grid-template-columns: minmax(12rem, .7fr) minmax(15rem, 1.3fr);
  gap: .75rem;
  margin-top: .9rem;
}

.hero-stat-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .55rem;
}

.hero-stat-grid article {
  padding: .75rem;
}

.hero-stat-grid strong,
.hero-stat-grid span {
  display: block;
}

.hero-stat-grid strong {
  color: #2b6548;
  font-size: 1.2rem;
}

.hero-stat-grid span {
  margin-top: .18rem;
  color: #697e84;
  font-size: .875rem;
  line-height: 1.35;
}

.hero-map-card {
  padding: .75rem;
}

.hero-map-card > div:first-child {
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: .55rem;
  font-size: .875rem;
}

.hero-map-card > div:first-child span {
  color: #6e8187;
}

.hero-mini-pitch {
  display: grid;
  min-height: 12rem;
  grid-template-columns: repeat(6, 1fr);
  grid-template-rows: repeat(3, 1fr);
  gap: 2px;
  overflow: hidden;
  border: 2px solid #7d70a8;
  border-radius: .4rem;
  background: #efeafa;
}

.hero-mini-pitch span { background: #e5dcf7; }
.hero-mini-pitch span:nth-child(3n) { background: #c6b3ed; }
.hero-mini-pitch span:nth-child(4n) { background: #9a7bd5; }
.hero-mini-pitch span:nth-child(7n) { background: #6d4ba8; }

.hero-report-crop {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
  left: 0;
  height: 6.5rem;
  background: linear-gradient(transparent, rgb(246 249 248 / 96%) 52%, #f6f9f8 78%);
  pointer-events: none;
}

.hero-report-link {
  position: absolute;
  z-index: 4;
  right: 1.25rem;
  bottom: 1rem;
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  color: #225f42;
  font-size: .875rem;
  font-weight: 800;
  text-decoration: none;
}

.hero-report-link:hover {
  color: var(--landing-ink);
}

.origin-section {
  color: white;
  background: linear-gradient(135deg, var(--landing-deep), #174452);
}

.origin-layout,
.faq-layout {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(25rem, 1.1fr);
  gap: clamp(2.5rem, 7vw, 6rem);
}

.origin-heading .landing-kicker {
  color: var(--landing-green-bright);
}

.origin-heading h2,
.faq-heading h2 {
  margin: 0;
  font-size: clamp(2.3rem, 4.6vw, 4.25rem);
  letter-spacing: var(--tracking-display);
  line-height: 1;
  text-wrap: balance;
}

.origin-heading h2 {
  color: white;
}

.origin-copy {
  display: grid;
  align-content: center;
  gap: 1rem;
}

.origin-copy p {
  margin: 0;
  color: #d0dfe0;
  font-size: 1.02rem;
  line-height: 1.7;
}

.faq-section {
  background: #f8fbfb;
}

.faq-list {
  border-top: 1px solid var(--landing-line);
}

.faq-list details {
  border-bottom: 1px solid var(--landing-line);
}

.faq-list summary {
  position: relative;
  padding: 1.25rem 3rem 1.25rem 0;
  color: var(--landing-ink);
  font-size: 1.05rem;
  font-weight: 800;
  cursor: pointer;
  list-style: none;
}

.faq-list summary::-webkit-details-marker {
  display: none;
}

.faq-list summary::after {
  position: absolute;
  top: 50%;
  right: .5rem;
  color: #3f7455;
  content: "+";
  font-size: 1.5rem;
  transform: translateY(-50%);
}

.faq-list details[open] summary::after {
  content: "×";
}

.faq-list details p {
  max-width: 44rem;
  margin: -.35rem 0 1.25rem;
  color: var(--landing-muted);
  line-height: 1.65;
}

@media (prefers-reduced-motion: no-preference) {
  .hero-report-panel:not([hidden]) {
    animation: hero-report-reveal .32s ease-out both;
  }
}

@keyframes hero-report-reveal {
  from { opacity: 0; transform: translateX(.55rem); }
  to { opacity: 1; transform: translateX(0); }
}

@media (max-width: 72rem) {
  .landing-page .hero-grid {
    width: min(100% - 2rem, 76rem);
    grid-template-columns: 1fr;
  }

  .landing-page .hero-copy {
    max-width: 48rem;
  }

  .hero-report-carousel {
    width: min(100%, 46rem);
    justify-self: start;
  }
}

@media (max-width: 54rem) {
  .origin-layout,
  .faq-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 39rem) {
  .landing-page .hero-grid {
    width: min(100% - 1.4rem, 76rem);
  }

  .hero-report-carousel {
    height: 34rem;
    border-radius: .9rem;
  }

  .hero-report-head {
    grid-template-columns: 1fr;
    gap: .6rem;
  }

  .hero-report-head > span {
    text-align: center;
  }

  .hero-report-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hero-report-tabs button {
    min-height: 3.3rem;
  }

  .hero-report-viewport {
    height: 22.7rem;
  }

  .hero-report-panel {
    min-height: 28rem;
    padding: 1rem 1rem 5.5rem;
  }

  .hero-moment-sequence {
    grid-template-columns: 1fr 1fr;
  }

  .hero-moment-sequence > span {
    display: none;
  }

  .hero-report-controls,
  .hero-stats-map {
    grid-template-columns: 1fr;
  }

  .hero-priority-list p,
  .hero-moment-list span,
  .hero-stat-grid span {
    display: none;
  }

  .hero-map-card {
    min-height: 12rem;
  }
}

@media (max-width: 66rem) {
  .landing-page .hero-grid {
    grid-template-columns: minmax(0, 1.1fr) minmax(20rem, .7fr);
  }

  .landing-page .proof-ribbon-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .landing-page .proof-ribbon-grid p:nth-child(3) {
    border-top: 1px solid rgb(255 255 255 / 11%);
  }

  .landing-page .proof-ribbon-grid p:nth-child(4) {
    border-top: 1px solid rgb(255 255 255 / 11%);
    border-right: 1px solid rgb(255 255 255 / 11%);
  }

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

@media (max-width: 54rem) {
  .landing-page .landing-container {
    width: min(100% - 2rem, 76rem);
  }

  .landing-nav-links {
    display: none;
  }

  .landing-page .landing-hero {
    min-height: auto;
    padding: 4rem 0 3.25rem;
  }

  .hero-shade {
    background:
      linear-gradient(0deg, rgb(5 20 27 / 94%) 0%, rgb(5 20 27 / 68%) 60%, rgb(5 20 27 / 43%) 100%),
      linear-gradient(90deg, rgb(5 20 27 / 80%), transparent);
  }

  .landing-page .hero-grid,
  .moment-story-grid,
  .landing-page .sample-intro,
  .landing-page .comparison-heading,
  .process-heading,
  .pricing-heading,
  .pricing-example {
    grid-template-columns: 1fr;
  }

  .landing-page .hero-copy h1 {
    max-width: 9ch;
  }

  .hero-evidence-stack {
    width: min(100%, 35rem);
    justify-self: start;
  }

  .moment-story-copy {
    order: -1;
  }

  .landing-page .report-demo-head {
    grid-template-columns: 1fr auto;
  }

  .landing-page .report-demo-head > p {
    display: none;
  }

  .report-summary-grid,
  .report-stats-map-grid {
    grid-template-columns: 1fr;
  }

  .coaching-priority-grid,
  .audience-grid,
  .pricing-grid {
    grid-template-columns: 1fr;
  }

  .price-card.is-featured {
    transform: none;
  }

  .landing-page .comparison-heading > p,
  .landing-page .sample-intro > p {
    margin-top: 0;
  }

  .landing-page .footer-grid {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
  }

  .landing-page .footer-grid nav {
    justify-content: center;
  }
}

@media (max-width: 39rem) {
  .landing-page .landing-section {
    padding: 4.25rem 0;
  }

  .landing-page .hero-copy h1 {
    font-size: clamp(3.15rem, 15vw, 4.6rem);
  }

  .landing-page .hero-actions {
    display: grid;
  }

  .landing-page .hero-actions .button {
    width: 100%;
  }

  .hero-insight-flow {
    padding-left: 0;
  }

  .hero-flow-line {
    display: none;
  }

  .landing-page .proof-ribbon-grid {
    grid-template-columns: 1fr;
  }

  .landing-page .proof-ribbon-grid p {
    min-height: 0;
    border-top: 1px solid rgb(255 255 255 / 11%);
    border-right: 1px solid rgb(255 255 255 / 11%);
  }

  .moment-story-visual,
  .moment-story-visual img {
    min-height: 25rem;
  }

  .landing-page .report-demo-tabs {
    grid-template-columns: repeat(2, 1fr);
    padding: 0 .6rem;
  }

  .landing-page .report-demo-tabs button {
    min-height: 3.5rem;
  }

  .landing-page .report-demo-score span {
    max-width: 6.5rem;
  }

  .report-panel-heading {
    display: block;
  }

  .evidence-badge {
    display: inline-block;
    margin-top: .7rem;
  }

  .report-control-row,
  .report-stat-stack,
  .process-steps {
    grid-template-columns: 1fr;
  }

  .landing-page .report-moment {
    grid-template-columns: 3.7rem 1fr;
  }

  .report-video-label {
    grid-column: 2;
    justify-self: start;
  }

  .comparison-foot {
    display: block;
  }

  .comparison-foot a {
    display: inline-block;
    margin-top: .8rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-match-image,
  .price-card.is-featured {
    transform: none;
  }
}

/* Supporting copy should remain comfortably readable at every breakpoint. */
.landing-page .landing-kicker,
.landing-page .hero-card-label,
.landing-page .hero-insight-card small,
.landing-page .hero-insight-card p,
.landing-page .hero-card-icon,
.landing-page .proof-ribbon-grid span,
.landing-page .moment-timecode,
.landing-page .moment-scorebug span,
.landing-page .moment-flow-list small,
.landing-page .moment-flow-icon,
.landing-page .report-demo-head > p,
.landing-page .report-demo-brandline,
.landing-page .report-demo-score span,
.landing-page .report-demo-tabs button,
.landing-page .report-label,
.landing-page .evidence-badge,
.landing-page .report-summary-grid small,
.landing-page .report-summary-grid > article p,
.landing-page .mini-goal-ledger,
.landing-page .mini-goal-ledger > strong,
.landing-page .mini-goal-ledger p > *,
.landing-page .report-control-row small,
.landing-page .coaching-priority-grid p,
.landing-page .coaching-priority-grid article > span,
.landing-page .report-moment time,
.landing-page .report-moment p span,
.landing-page .report-video-label,
.landing-page .report-stat-stack span,
.landing-page .report-map-card > div:first-child,
.landing-page .report-map-card > p,
.landing-page .sample-actions p,
.landing-page .audience-label,
.landing-page .process-steps small,
.landing-page .process-steps p,
.landing-page .process-youtube-note,
.landing-page .price-badge,
.landing-page .price-card-label,
.landing-page .price-card > p,
.landing-page .price-math span,
.landing-page .pricing-example p,
.landing-page .comparison-table,
.landing-page .comparison-table small,
.landing-page .comparison-foot p,
.landing-page .comparison-foot a,
.landing-page .landing-final-note,
.landing-page .footer-grid p,
.landing-page .footer-grid a,
.landing-page .landing-disclosure {
  font-size: .875rem !important;
}

/* Keep the v17 hero stacking rules authoritative after legacy breakpoints. */
@media (max-width: 72rem) {
  .landing-page .hero-grid {
    width: min(100% - 2rem, 76rem);
    grid-template-columns: 1fr;
  }

  .hero-report-carousel {
    width: min(100%, 46rem);
    justify-self: start;
  }
}

@media (max-width: 39rem) {
  .landing-page .hero-grid {
    width: min(100% - 1.4rem, 76rem);
  }
}

@media (min-width: 72.01rem) and (max-height: 51.25rem) {
  .landing-page .landing-hero {
    min-height: calc(100svh - 4.6rem);
    padding: 2.5rem 0;
  }

  .landing-page .hero-copy h1 {
    font-size: clamp(3rem, 4.8vw, 4.2rem);
    line-height: .93;
  }

  .landing-page .hero-lede {
    margin-top: 1rem;
    font-size: 1rem;
    line-height: 1.48;
  }

  .landing-page .hero-actions {
    margin-top: 1.1rem;
  }

  .landing-page .hero-assurance {
    margin-top: .85rem;
  }

  .hero-report-carousel {
    height: 34rem;
  }

  .hero-report-viewport {
    height: 24.2rem;
  }

  .hero-report-panel {
    min-height: 28rem;
  }
}

/* Real-report hero sequence ----------------------------------------------- */
.hero-report-showcase {
  --hero-report-navy: #102a34;
  --hero-report-green: #b5e780;
  --hero-report-ink: #24343e;
  --hero-report-muted: #62727b;
  --hero-report-line: #e2e8ea;
  --hero-report-line-strong: #d2dadd;
  --hero-report-blue: #006fa9;
  --hero-report-blue-dark: #005681;
  --hero-report-blue-tint: #eaf5fa;
  --hero-report-coral: #c8345d;
  --hero-report-home: #7041a3;
  --hero-report-home-tint: #f0e9fb;
  position: relative;
  align-self: center;
  width: 100%;
  min-width: 0;
  aspect-ratio: 46 / 38;
  transform: translateY(-3.625rem);
}

.hero-report-showcase-canvas {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: visible;
  background: transparent;
}

.hero-report-showcase-scenes {
  position: absolute;
  inset: 0;
}

.hero-report-scene {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  width: clamp(28.25rem, 32vw, 37.5rem);
  aspect-ratio: 6 / 5;
  overflow: hidden;
  margin: 0;
  padding: clamp(.625rem, .7vw, .875rem) clamp(1.25rem, 1.4vw, 1.75rem) clamp(2.625rem, 2.7vw, 3.25rem);
  border: 0;
  border-radius: .8125rem;
  opacity: 0;
  color: var(--hero-report-ink);
  background: white;
  box-shadow: 0 1.75rem 4rem rgb(0 0 0 / 31%), 0 .25rem .875rem rgb(0 0 0 / 15%);
  transform: translate(-50%, -56%) scale(.96);
  will-change: opacity, transform;
}

.hero-report-scene h2,
.hero-report-scene h3,
.hero-report-scene p {
  margin: 0;
}

.hero-report-scene h2 {
  color: var(--hero-report-ink);
  font-size: clamp(1.1875rem, 1.3vw, 1.5rem);
  font-weight: var(--weight-bold);
  line-height: 1.15;
}

.hero-report-scene h3 {
  color: var(--hero-report-ink);
  font-size: clamp(.875rem, .9vw, 1rem);
  font-weight: var(--weight-bold);
}

.hero-report-scene p {
  color: var(--hero-report-muted);
  font-size: clamp(.875rem, .9vw, 1rem);
  line-height: 1.45;
}

.hero-report-scene-insight,
.hero-report-scene-stats,
.hero-report-scene-plan {
  background: white;
}

.hero-report-scene-ledger,
.hero-report-scene-map {
  background: var(--hero-report-blue-tint);
}

.hero-report-insight-content,
.hero-report-ledger-content,
.hero-report-stats-content,
.hero-report-map-content,
.hero-report-plan-content {
  min-width: 0;
  min-height: 0;
  height: 100%;
  align-content: center;
}

.hero-report-insight-content {
  display: grid;
}

.hero-report-insight-heading {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: .6875rem;
  padding-bottom: .8125rem;
  border-bottom: 1px solid var(--hero-report-line);
}

.hero-report-section-number {
  color: var(--hero-report-coral);
  font-size: clamp(1.8125rem, 2vw, 2.25rem);
  font-weight: var(--weight-bold);
}

.hero-report-evidence-chip {
  padding: .3125rem .5625rem;
  border: 1px solid #bfd4df;
  border-radius: 999px;
  color: var(--hero-report-blue-dark);
  background: var(--hero-report-blue-tint);
  font-size: clamp(.875rem, .9vw, 1rem);
  font-weight: var(--weight-bold);
  white-space: nowrap;
}

.hero-report-insight-content > p {
  padding-top: .8125rem;
  font-size: clamp(.875rem, .9vw, 1rem);
  line-height: 1.46;
}

.hero-report-ledger-content {
  display: grid;
  grid-template-rows: auto repeat(2, minmax(0, 1fr));
}

.hero-report-ledger-intro {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: .75rem;
  padding-bottom: .5625rem;
  border-bottom: 1px solid var(--hero-report-line-strong);
}

.hero-report-ledger-intro p {
  max-width: 18ch;
  text-align: right;
}

.hero-report-evidence-row {
  display: grid;
  min-height: 0;
  grid-template-columns: clamp(5.625rem, 6.4vw, 7rem) minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(.875rem, 1vw, 1.125rem);
  padding: .625rem 0;
  border-bottom: 1px solid var(--hero-report-line-strong);
}

.hero-report-time {
  display: grid;
  gap: .1875rem;
  padding-left: .5rem;
  border-left: .25rem solid var(--hero-report-blue);
}

.hero-report-time strong {
  color: var(--hero-report-blue-dark);
  font-size: clamp(.875rem, .9vw, 1rem);
  font-weight: var(--weight-bold);
  white-space: nowrap;
}

.hero-report-time span {
  color: var(--hero-report-muted);
  font-size: clamp(.875rem, .9vw, 1rem);
}

.hero-report-evidence-copy {
  display: grid;
  min-width: 0;
  gap: .1875rem;
}

.hero-report-evidence-copy > strong {
  color: var(--hero-report-ink);
  font-size: clamp(.9375rem, 1vw, 1.125rem);
  font-weight: var(--weight-bold);
}

.hero-report-evidence-copy p {
  font-size: clamp(.875rem, .9vw, 1rem);
}

.hero-report-evidence-copy small {
  display: flex;
  align-items: center;
  gap: .3125rem;
  color: var(--hero-report-muted);
  font-size: clamp(.875rem, .9vw, 1rem);
  white-space: nowrap;
}

.hero-report-evidence-copy small span {
  margin-right: .125rem;
  padding: .1875rem .375rem;
  border: 1px solid color-mix(in srgb, var(--hero-report-home) 45%, white);
  border-radius: 999px;
  color: #10221c;
  background: var(--hero-report-home-tint);
  font-weight: var(--weight-semibold);
}

.hero-report-video-time {
  padding: .4375rem .5625rem;
  border: 1px solid var(--hero-report-line-strong);
  border-radius: .4375rem;
  color: var(--hero-report-blue-dark);
  background: white;
  box-shadow: 0 1px 2px rgb(36 52 62 / 7%);
  font-size: clamp(.875rem, .9vw, 1rem);
  font-weight: var(--weight-bold);
  white-space: nowrap;
}

.hero-report-stats-content {
  display: grid;
  grid-template-rows: auto minmax(0, 1.05fr) auto minmax(0, .95fr);
  gap: .4375rem;
}

.hero-report-stats-content > h2,
.hero-report-stats-content > h3 {
  color: var(--hero-report-blue-dark);
}

.hero-report-stat-grid,
.hero-report-role-grid {
  display: grid;
  min-height: 0;
  gap: .4375rem;
}

.hero-report-stat-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.hero-report-role-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.hero-report-stat-grid article,
.hero-report-role-grid article {
  display: grid;
  min-width: 0;
  min-height: 0;
  align-content: center;
  gap: .3125rem;
  padding: .4375rem .5rem;
  border: 1px solid var(--hero-report-line);
  border-radius: .5625rem;
  background: var(--hero-report-blue-tint);
}

.hero-report-role-grid article {
  background: white;
}

.hero-report-stat-grid strong,
.hero-report-role-grid strong {
  color: var(--hero-report-ink);
  font-size: clamp(1.5625rem, 2vw, 2rem);
  font-weight: var(--weight-bold);
}

.hero-report-stat-grid span,
.hero-report-role-grid span {
  color: var(--hero-report-blue-dark);
  font-size: clamp(.875rem, .9vw, 1rem);
  line-height: 1.2;
}

.hero-report-map-content {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  align-items: stretch;
  gap: .5rem;
}

.hero-report-map-copy {
  display: grid;
  gap: .1875rem;
}

.hero-report-map-copy h2 {
  padding-bottom: .375rem;
  border-bottom: 1px solid var(--hero-report-line-strong);
  color: var(--hero-report-blue-dark);
}

.hero-report-map-copy p {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: .375rem;
  font-size: clamp(.875rem, .9vw, 1rem);
  line-height: 1.25;
}

.hero-report-map-copy p strong {
  color: var(--hero-report-ink);
  font-weight: var(--weight-bold);
}

.hero-report-map-visual {
  display: grid;
  min-height: 0;
  align-content: center;
  justify-items: center;
  gap: .25rem;
}

.hero-report-map-legend {
  display: grid;
  width: min(100%, 20.625rem);
  grid-template-columns: auto minmax(2.875rem, 1fr) auto;
  align-items: center;
  gap: .375rem;
  color: var(--hero-report-muted);
  font-size: clamp(.875rem, .9vw, 1rem);
  font-weight: var(--weight-semibold);
}

.hero-report-map-legend i {
  height: .375rem;
  border: 1px solid rgb(16 34 28 / 12%);
  border-radius: 999px;
  background: linear-gradient(90deg, color-mix(in srgb, var(--hero-report-home) 8%, white), var(--hero-report-home));
}

.hero-report-pitch {
  position: relative;
  display: grid;
  width: clamp(7.5rem, 27%, 9rem);
  aspect-ratio: 3 / 4.9;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(6, 1fr);
  gap: 2px;
  padding: 3px;
  border: 2px solid rgb(255 255 255 / 96%);
  border-radius: .4375rem;
  background: color-mix(in srgb, var(--hero-report-blue) 5%, white);
  box-shadow: 0 0 0 1px rgb(36 52 62 / 12%);
}

.hero-report-pitch > span {
  border-radius: 3px;
}

.hero-report-pitch .tone-0 { background: #f7f5fa; }
.hero-report-pitch .tone-1 { background: #ded5ea; }
.hero-report-pitch .tone-2 { background: #beadd2; }
.hero-report-pitch .tone-3 { background: #9e82be; }
.hero-report-pitch .tone-4 { background: var(--hero-report-home); }

.hero-report-halfway {
  position: absolute;
  top: 50%;
  right: 3px;
  left: 3px;
  height: 1px;
  background: rgb(255 255 255 / 90%);
}

.hero-report-center-circle {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2.125rem;
  height: 2.125rem;
  border: 2px solid rgb(255 255 255 / 95%);
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

.hero-report-direction {
  color: var(--hero-report-ink);
  font-size: clamp(.875rem, .9vw, 1rem);
  font-weight: var(--weight-bold);
}

.hero-report-direction span {
  display: inline-grid;
  width: 1.125rem;
  height: 1.125rem;
  margin-left: .25rem;
  place-items: center;
  border: 1px solid #5b3186;
  border-radius: 50%;
  color: white;
  background: var(--hero-report-home);
}

.hero-report-plan-content {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: .5rem;
}

.hero-report-plan-heading {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: .75rem;
  padding-bottom: .5rem;
  border-bottom: 1px solid var(--hero-report-line);
}

.hero-report-plan-heading > span {
  color: var(--hero-report-coral);
  font-size: clamp(1.8125rem, 2vw, 2.25rem);
  font-weight: var(--weight-bold);
}

.hero-report-plan-heading small {
  display: block;
  margin-bottom: .25rem;
  color: var(--hero-report-blue-dark);
  font-size: clamp(.875rem, .9vw, 1rem);
  font-weight: var(--weight-bold);
  letter-spacing: .06em;
  text-transform: uppercase;
}

.hero-report-plan-grid {
  display: grid;
  min-height: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
}

.hero-report-plan-grid article {
  display: grid;
  min-width: 0;
  min-height: 0;
  align-content: start;
  gap: .375rem;
  padding: .1875rem .6875rem;
  border-left: 1px solid var(--hero-report-line);
}

.hero-report-plan-grid article:first-child {
  padding-left: 0;
  border-left: 0;
}

.hero-report-plan-grid article:last-child {
  padding-right: 0;
}

.hero-report-plan-grid small {
  color: var(--hero-report-blue-dark);
  font-size: clamp(.875rem, .9vw, 1rem);
  font-weight: var(--weight-bold);
  letter-spacing: .055em;
  text-transform: uppercase;
}

.hero-report-plan-grid small::after {
  display: block;
  width: 1.5rem;
  height: 2px;
  margin-top: .3125rem;
  border-radius: 999px;
  background: var(--hero-report-coral);
  content: "";
}

.hero-report-plan-grid p {
  font-size: clamp(.875rem, .9vw, 1rem);
  line-height: 1.25;
}

.hero-report-scene-insight { animation: hero-report-scene-1 21s ease-in-out infinite; }
.hero-report-scene-ledger { animation: hero-report-scene-2 21s ease-in-out infinite; }
.hero-report-scene-stats { animation: hero-report-scene-3 21s ease-in-out infinite; }
.hero-report-scene-map { animation: hero-report-scene-4 21s ease-in-out infinite; }
.hero-report-scene-plan { animation: hero-report-scene-5 21s ease-in-out infinite; }

.hero-report-static-layer {
  position: absolute;
  z-index: 6;
  top: 50%;
  left: 50%;
  width: clamp(28.25rem, 32vw, 37.5rem);
  aspect-ratio: 6 / 5;
  pointer-events: none;
  transform: translate(-50%, -50%);
}

.hero-report-static-nav {
  position: absolute;
  bottom: 0;
  left: 50%;
  display: grid;
  grid-template-rows: .875rem .1875rem;
  align-content: center;
  width: clamp(13.125rem, 16vw, 17rem);
  min-height: clamp(2.125rem, 2.5vw, 2.75rem);
  gap: .1875rem;
  overflow: hidden;
  padding: .25rem .75rem .3125rem;
  border-radius: .5625rem .5625rem 0 0;
  color: white;
  background: var(--hero-report-navy);
  box-shadow: 0 -.25rem .6875rem rgb(16 39 48 / 16%);
  transform: translateX(-50%);
}

.hero-report-static-label {
  grid-area: 1 / 1;
  overflow: hidden;
  opacity: 0;
  font-size: clamp(.875rem, .9vw, 1rem);
  font-weight: var(--weight-semibold);
  letter-spacing: .045em;
  line-height: .875rem;
  text-align: center;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.hero-report-static-progress {
  grid-area: 2 / 1;
  display: grid;
  grid-template-columns: repeat(5, clamp(1.125rem, 1.25vw, 1.375rem));
  justify-content: center;
  gap: .3125rem;
  width: 100%;
  font-style: normal;
}

.hero-report-static-progress b {
  display: block;
  width: clamp(1.125rem, 1.25vw, 1.375rem);
  height: .1875rem;
  border-radius: 999px;
  background: rgb(255 255 255 / 38%);
}

.hero-report-static-label-1 { animation: hero-report-label-1 21s linear infinite; }
.hero-report-static-label-2 { animation: hero-report-label-2 21s linear infinite; }
.hero-report-static-label-3 { animation: hero-report-label-3 21s linear infinite; }
.hero-report-static-label-4 { animation: hero-report-label-4 21s linear infinite; }
.hero-report-static-label-5 { animation: hero-report-label-5 21s linear infinite; }

.hero-report-progress-1 { animation: hero-report-progress-1 21s linear infinite; }
.hero-report-progress-2 { animation: hero-report-progress-2 21s linear infinite; }
.hero-report-progress-3 { animation: hero-report-progress-3 21s linear infinite; }
.hero-report-progress-4 { animation: hero-report-progress-4 21s linear infinite; }
.hero-report-progress-5 { animation: hero-report-progress-5 21s linear infinite; }

.hero-report-showcase-canvas:hover .hero-report-scene,
.hero-report-showcase-canvas:hover .hero-report-static-label,
.hero-report-showcase-canvas:hover .hero-report-static-progress b {
  animation-play-state: paused;
}

@keyframes hero-report-scene-1 {
  0%, 15% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
  18%, 100% { opacity: 0; transform: translate(-50%, -44%) scale(1.01); }
}

@keyframes hero-report-scene-2 {
  0%, 17% { opacity: 0; transform: translate(-50%, -56%) scale(.96); }
  20%, 35% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
  38%, 100% { opacity: 0; transform: translate(-50%, -44%) scale(1.01); }
}

@keyframes hero-report-scene-3 {
  0%, 37% { opacity: 0; transform: translate(-50%, -56%) scale(.96); }
  40%, 55% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
  58%, 100% { opacity: 0; transform: translate(-50%, -44%) scale(1.01); }
}

@keyframes hero-report-scene-4 {
  0%, 57% { opacity: 0; transform: translate(-50%, -56%) scale(.96); }
  60%, 75% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
  78%, 100% { opacity: 0; transform: translate(-50%, -44%) scale(1.01); }
}

@keyframes hero-report-scene-5 {
  0%, 77% { opacity: 0; transform: translate(-50%, -56%) scale(.96); }
  80%, 97% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
  100% { opacity: 0; transform: translate(-50%, -44%) scale(1.005); }
}

@keyframes hero-report-label-1 {
  0%, 15% { opacity: 1; }
  18%, 100% { opacity: 0; }
}

@keyframes hero-report-label-2 {
  0%, 17% { opacity: 0; }
  20%, 35% { opacity: 1; }
  38%, 100% { opacity: 0; }
}

@keyframes hero-report-label-3 {
  0%, 37% { opacity: 0; }
  40%, 55% { opacity: 1; }
  58%, 100% { opacity: 0; }
}

@keyframes hero-report-label-4 {
  0%, 57% { opacity: 0; }
  60%, 75% { opacity: 1; }
  78%, 100% { opacity: 0; }
}

@keyframes hero-report-label-5 {
  0%, 77% { opacity: 0; }
  80%, 97% { opacity: 1; }
  100% { opacity: 0; }
}

@keyframes hero-report-progress-1 {
  0%, 15% { background: var(--hero-report-green); }
  18%, 100% { background: rgb(255 255 255 / 38%); }
}

@keyframes hero-report-progress-2 {
  0%, 17%, 38%, 100% { background: rgb(255 255 255 / 38%); }
  20%, 35% { background: var(--hero-report-green); }
}

@keyframes hero-report-progress-3 {
  0%, 37%, 58%, 100% { background: rgb(255 255 255 / 38%); }
  40%, 55% { background: var(--hero-report-green); }
}

@keyframes hero-report-progress-4 {
  0%, 57%, 78%, 100% { background: rgb(255 255 255 / 38%); }
  60%, 75% { background: var(--hero-report-green); }
}

@keyframes hero-report-progress-5 {
  0%, 77% { background: rgb(255 255 255 / 38%); }
  80%, 100% { background: var(--hero-report-green); }
}

@media (max-width: 72rem) {
  .hero-report-showcase {
    width: min(100%, 32rem);
    justify-self: start;
    transform: none;
  }

  .hero-report-scene,
  .hero-report-static-layer {
    width: min(calc(100% - 1.75rem), 30rem);
  }
}

@media (max-width: 39rem) {
  .hero-report-showcase {
    width: 100%;
    aspect-ratio: 46 / 56;
  }

  .hero-report-scene,
  .hero-report-static-layer {
    width: calc(100% - 1.5rem);
    aspect-ratio: 10 / 11;
  }

  .hero-report-scene {
    padding: .375rem .75rem 2.5rem;
    border-radius: .5625rem;
  }

  .hero-report-scene h2 {
    font-size: .875rem;
  }

  .hero-report-scene p,
  .hero-report-evidence-chip,
  .hero-report-time span,
  .hero-report-evidence-copy p,
  .hero-report-evidence-copy small,
  .hero-report-video-time,
  .hero-report-stat-grid span,
  .hero-report-role-grid span,
  .hero-report-map-copy p,
  .hero-report-map-legend,
  .hero-report-direction,
  .hero-report-plan-heading small,
  .hero-report-plan-grid small,
  .hero-report-plan-grid p {
    font-size: .875rem;
  }

  .hero-report-section-number,
  .hero-report-plan-heading > span {
    font-size: 1.125rem;
  }

  .hero-report-insight-heading {
    gap: .375rem;
    padding-bottom: .5rem;
  }

  .hero-report-evidence-chip {
    padding: .25rem .375rem;
  }

  .hero-report-insight-content > p {
    padding-top: .5625rem;
    line-height: 1.4;
  }

  .hero-report-ledger-intro {
    padding-bottom: .3125rem;
  }

  .hero-report-ledger-intro p {
    display: none;
  }

  .hero-report-evidence-row {
    grid-template-columns: 4.625rem minmax(0, 1fr) auto;
    gap: .5rem;
    padding: .375rem 0;
  }

  .hero-report-time {
    padding-left: .375rem;
  }

  .hero-report-time strong,
  .hero-report-evidence-copy > strong {
    font-size: .875rem;
  }

  .hero-report-evidence-copy small {
    gap: .1875rem;
  }

  .hero-report-video-time {
    padding: .3125rem .375rem;
  }

  .hero-report-stat-grid,
  .hero-report-role-grid {
    gap: .1875rem;
  }

  .hero-report-stat-grid article,
  .hero-report-role-grid article {
    gap: .1875rem;
    padding: .3125rem;
  }

  .hero-report-stat-grid strong,
  .hero-report-role-grid strong {
    font-size: .875rem;
  }

  .hero-report-map-copy {
    gap: .25rem;
  }

  .hero-report-map-copy p:nth-of-type(2),
  .hero-report-map-copy p:nth-of-type(3) {
    display: none;
  }

  .hero-report-pitch {
    width: 5.25rem;
  }

  .hero-report-plan-heading {
    gap: .375rem;
    padding-bottom: .375rem;
  }

  .hero-report-plan-grid article {
    gap: .25rem;
    padding: .1875rem .375rem;
  }

  .hero-report-static-nav {
    width: min(12.25rem, calc(100% - .875rem));
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-report-scene,
  .hero-report-static-label,
  .hero-report-static-progress b {
    animation: none;
  }

  .hero-report-scene-ledger,
  .hero-report-scene-stats,
  .hero-report-scene-map,
  .hero-report-scene-plan {
    opacity: 0;
  }

  .hero-report-scene-insight {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }

  .hero-report-static-label-1 {
    opacity: 1;
  }

  .hero-report-progress-1 {
    background: var(--hero-report-green);
  }
}
