/* V17 — fidelidade estrutural às referências, preservando o DNA Prata Executiva */

/* Tipografia: a referência usa uma sans editorial limpa e consistente */
body .hero h1,
body .section-title,
body .pillar-lead,
body .fit-title,
body .plans-title,
body .price-plan header h3,
body .personal-copy,
body .success-title,
body .comparison-intro h3,
body .compare-panel,
body .about-copy h2,
body .faq-title,
body .final-copy h2,
body .minimal-footer,
body .cta,
body .plan-cta,
body .contact-card,
body .module,
body .accordion {
  font-family: "DM Sans", Inter, Arial, sans-serif;
}

body .hero h1 { font-weight: 650; letter-spacing: -1.8px; }
body .section-title { font-weight: 450; letter-spacing: -1.1px; }
body .section-title strong,
body .plans-title strong,
body .success-title strong,
body .faq-title strong { font-weight: 750; }
body .eyebrow { font-family: "DM Sans", Inter, sans-serif; font-size: 12px; letter-spacing: .1px; }

/* Jornada de sucesso: título, mídia central e CTA como a referência 2 */
body #jornada { padding: 48px 0 76px; }
body #jornada > .section-wrap { width: min(980px, calc(100% - 64px)); }
body #jornada > .section-wrap > .eyebrow:first-child { margin-bottom: 17px; }
body #jornada > .section-wrap > .section-title:first-of-type {
  max-width: 850px;
  margin: 0 auto 29px;
  font-size: clamp(23px, 2.05vw, 31px);
  line-height: 1.22;
}
body #jornada > .section-wrap > .section-title:first-of-type strong { color: #566675; }
body #jornada .video-card {
  position: relative;
  display: block;
  width: min(620px, 100%);
  height: 348px;
  margin: 0 auto 27px;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(103, 118, 132, .22);
  border-radius: 4px;
  background: #dfe4e8 url("assets/video-frame.png") center / cover no-repeat;
  box-shadow: 0 22px 44px rgba(30, 42, 53, .14);
}
body #jornada .video-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(10, 17, 24, .02), rgba(10, 17, 24, .18));
  pointer-events: none;
}
body #jornada .video-card article { display: none; }
body #jornada .journey-video-play {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 50%;
  color: #25323e;
  background: rgba(241, 244, 246, .78);
  box-shadow: 0 10px 28px rgba(11, 18, 25, .2);
  transform: translate(-50%, -50%);
  cursor: pointer;
}
body #jornada .journey-video-play svg { width: 21px; height: 21px; fill: currentColor; stroke-width: 1.8; }
body #jornada > .section-wrap > .cta.centered { width: 350px; min-height: 54px; }
body #jornada > .section-wrap > .gold-rule { margin: 55px 0 48px; }

/* Pilares e módulos seguem o espaçamento editorial das referências 3–5 */
body #jornada > .section-wrap > .eyebrow:nth-of-type(2) { margin-bottom: 15px; }
body #jornada .pillars-stage { height: 340px; margin-top: 22px; }
body #jornada .pillar-item img { height: 300px; }
body #jornada .pillar-lead { margin: 22px auto 37px; font-size: 20px; line-height: 1.42; }
body #jornada .venn-shell { height: 430px; margin: 0 auto 28px; }
body #jornada .modules-grid {
  width: min(960px, 100%);
  margin: 14px auto 34px;
  gap: 12px;
}
body #jornada .module { border-radius: 7px; }
body #jornada .module header { min-height: 78px; padding: 15px 16px; border-radius: 7px 7px 0 0; }
body #jornada .module header h3 { font-size: 18px; line-height: 1.12; }
body #jornada .module button { min-height: 48px; padding: 11px 13px; font-size: 11px; }
body #jornada > .section-wrap > .cta.compact { min-height: 54px; }

/* Planos: os cards atravessam a quebra, sem linha ou corte duro */
body #planos { padding-bottom: 218px; overflow: visible; }
body #planos .section-wrap { position: relative; z-index: 5; }
body #planos .plans-title { max-width: 900px; margin: 0 auto 48px; font-size: 28px; line-height: 1.25; }
body #planos .pricing-grid {
  position: relative;
  z-index: 7;
  width: min(900px, calc(100% - 64px));
  margin: 0 auto -254px;
  gap: 16px;
}
body #planos .price-plan { border-radius: 16px; }
body #planos .price-plan header { min-height: 132px; border-radius: 15px; }
body #planos .price-plan ul { padding: 19px 24px 0; }
body #planos .price-plan li { min-height: 43px; padding: 10px 4px; line-height: 1.25; }
body #planos .pricing-value { min-height: 134px; margin: 18px 20px; padding: 19px 21px; border-radius: 16px; }
body #planos .pricing-value > div > strong { font-size: 58px; letter-spacing: -3px; }
body #planos .plan-cta { min-height: 58px; margin: 0 20px 24px; border-radius: 7px; }
body #planos .plans-transition {
  z-index: 2;
  bottom: -1px;
  height: 300px;
}

body .personal { position: relative; z-index: 3; padding-top: 320px; }
body .personal .speech { width: min(680px, calc(100% - 48px)); height: 70px; margin: 0 auto 22px; }
body .personal .speech span { font-size: 19px; }
body .personal .personal-copy { max-width: 820px; margin-inline: auto; font-size: 18px; line-height: 1.45; }

/* Casos e comparativo: mesma largura, respiro e navegação das referências 8 */
body .success { padding-top: 48px; }
body .success > .section-wrap { width: min(1060px, calc(100% - 64px)); }
body .success-title { max-width: 780px; margin: 0 auto 34px; font-size: 29px; line-height: 1.2; }
body .case-carousel { width: 100%; }
body .case-track { gap: 18px; }
body .case-card.social-post { flex: 0 0 calc((100% - 36px) / 3); }
body .carousel-nav { margin: 24px 0 54px; }
body .comparison-intro { max-width: 760px; margin-inline: auto; }
body .comparison-intro h3 { font-size: 27px; line-height: 1.2; }

/* CTA de contacto e cartão de autonomia: composição horizontal da referência 10 */
body .contact-card {
  display: grid;
  min-height: 108px;
  grid-template-columns: 54px 1.3fr 1fr 190px;
  align-items: center;
  gap: 18px;
  padding: 18px 24px;
  border-radius: 12px;
}
body .contact-card .contact-icon { width: 48px; height: 48px; }
body .contact-card > strong { font-size: 24px; line-height: 1.05; }
body .contact-card > p { margin: 0; font-size: 12px; line-height: 1.35; }
body .contact-card > a { width: 100%; min-height: 50px; margin: 0; border-radius: 28px; }
body .final-card {
  height: 350px;
  grid-template-columns: 44% 56%;
  margin-top: 22px;
  border-radius: 12px;
}
body .autonomy-visual { min-height: 350px; }
body .final-copy { min-height: 350px; padding: 42px 42px; }
body .final-copy h2 { margin: 16px 0 18px; font-size: 32px; line-height: 1.12; }
body .final-copy p { margin: 0 0 14px; font-size: 14px; line-height: 1.5; }

/* Rodapé da referência 10/11: conteúdo central e ações sociais visíveis */
body .minimal-footer { min-height: 154px; padding: 24px 0 20px; background: #080d13; }
body .minimal-footer > .section-wrap {
  display: flex;
  min-height: 110px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 10px;
  text-align: center;
}
body .minimal-footer .minimal-brand { display: none; }
body .minimal-footer p { order: 1; margin: 0; font-size: 11px; line-height: 1.45; }
body .minimal-footer nav { order: 2; gap: 18px; }
body .minimal-footer nav a { font-size: 10px; }
body .footer-social { order: 3; display: flex; gap: 8px; margin-top: 2px; }
body .footer-social a {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 1px solid rgba(225,230,234,.45);
  border-radius: 4px;
  color: #1b2731;
  background: linear-gradient(145deg, #e2e6ea, #9ba6b0);
}
body .footer-social svg { width: 16px; height: 16px; stroke-width: 2.2; }

@media (max-width: 760px) {
  body #jornada > .section-wrap,
  body .success > .section-wrap { width: min(100% - 38px, 620px); }
  body #jornada .video-card { height: 250px; }
  body #jornada .pillars-stage { height: 620px; }
  body #jornada .venn-shell { height: 380px; }
  body #planos { padding-bottom: 108px; }
  body #planos .plans-title { font-size: 24px; }
  body #planos .pricing-grid { width: min(100% - 38px, 500px); grid-template-columns: 1fr; margin-bottom: -150px; }
  body #planos .price-plan header { min-height: 118px; }
  body .personal { padding-top: 205px; }
  body .personal .personal-copy { font-size: 16px; }
  body .contact-card { grid-template-columns: 44px 1fr; gap: 8px 13px; }
  body .contact-card > strong { grid-column: 2; }
  body .contact-card > p { grid-column: 2; }
  body .contact-card > a { grid-column: 1 / -1; }
  body .final-card { height: auto; grid-template-columns: 1fr; }
  body .autonomy-visual { min-height: 310px; }
  body .final-copy { min-height: 350px; padding: 35px 24px; }
}
