/* Proposta comercial: mesmo sistema do site (tokens e componentes de ../styles.css); aqui só o que é da proposta */
.psec { padding-block: var(--section-gap); }
.psec--dark { background: var(--color-ink); color: var(--color-cream); border-radius: var(--radius-card); margin-inline: var(--space-lg); }
.psec--warm { background: var(--color-paper-2); border-radius: var(--radius-card); margin-inline: var(--space-lg); }
.psec__head { display: grid; gap: var(--space-md); margin-bottom: var(--space-2xl); max-width: 720px; }
.psec__head .lead { color: var(--color-muted); }
.psec--dark .psec__head .lead { color: var(--color-cream-soft); }
.psec__intro { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--gap-columns); margin-bottom: var(--space-2xl); }
.psec__intro h2 { grid-column: 1 / 6; }
.psec__copy { grid-column: 7 / 13; display: grid; gap: var(--space-md); color: var(--color-muted); }
.psec__copy .lead { color: var(--color-ink); font-family: var(--font-display); font-size: var(--text-xl); }
.psteps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--gap-columns); counter-reset: none; }
.pstep { position: relative; display: grid; gap: var(--space-xs); align-content: start; padding-top: var(--space-lg); border-top: 1.5px solid var(--color-ink); }
.pstep::before { content: ""; position: absolute; top: -6px; left: 0; width: 10px; height: 10px; border-radius: 50%; background: var(--color-pink-deep); }
.pstep__n, .svc__n { font-size: var(--text-sm); color: var(--color-pink-deep); }
.pstep h3 { font-size: var(--text-xl); }
.pstep p { color: var(--color-muted); font-size: var(--text-sm); }
.pcards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap-columns); }
.pcard { display: grid; gap: var(--space-sm); align-content: start; padding: var(--space-xl) var(--space-lg); border-radius: var(--radius-soft); background: var(--color-ink-2); color: var(--color-cream); box-shadow: inset 0 0 0 1px var(--color-rule-dark); }
.psec--dark .svc__n { color: var(--color-pink); }
.pcard p { color: var(--color-cream-soft); font-size: var(--text-sm); }
.pcard ul { list-style: none; margin: var(--space-xs) 0 0; padding: var(--space-md) 0 0; border-top: 1px solid var(--color-rule-dark); display: grid; gap: var(--space-2xs); font-size: var(--text-sm); }
.pcard li { padding-left: var(--space-md); position: relative; }
.pcard li::before { content: ""; position: absolute; left: 0; top: 0.7em; width: 6px; height: 6px; border-radius: 50%; background: var(--color-pink); }
.ptabs { margin-bottom: var(--space-xl); }
.pgroup { padding-block: var(--space-xl); border-top: 1px solid var(--color-rule); }
.pgroup + .pgroup { margin-top: var(--space-lg); }
.pgroup__head { display: grid; gap: var(--space-xs); margin-bottom: var(--space-xl); max-width: 640px; }
.pgroup__head h3 { font-size: var(--text-2xl); }
.pgroup__head p { color: var(--color-muted); }
.pgroup__kind { color: var(--color-pink-deep); font-weight: 600; }
.pgroup__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gap-columns); }
.pgroup__grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pkg { display: flex; flex-direction: column; gap: var(--space-sm); padding: var(--space-xl); border-radius: var(--radius-card); background: var(--color-paper); box-shadow: inset 0 0 0 1px var(--color-rule), var(--shadow-bubble); }
.pkg__name { margin: 0; font-family: var(--font-display); font-weight: 400; font-size: var(--text-xl); letter-spacing: -0.01em; line-height: 1.1; }
.pkg__label { margin-top: calc(-1 * var(--space-xs)); font: italic var(--text-md) var(--font-display); color: var(--color-pink-deep); }
.pkg__price { font-family: var(--font-display); font-size: clamp(2.5rem, 3vw + 1rem, 3.5rem); line-height: 1; letter-spacing: -0.03em; }
.pkg__price span { font-family: var(--font-body); font-size: var(--text-sm); letter-spacing: 0; color: var(--color-muted); margin-left: var(--space-2xs); }
.pkg__summary { color: var(--color-muted); font-size: var(--text-sm); }
.pkg__list { list-style: none; margin: var(--space-xs) 0 0; padding: var(--space-md) 0 0; border-top: 1px solid var(--color-rule); display: grid; gap: var(--space-xs); font-size: var(--text-sm); flex: 1; align-content: start; }
.pkg__list li { position: relative; padding-left: var(--space-lg); }
.pkg__list li::before { content: ""; position: absolute; left: 2px; top: 0.35em; width: 10px; height: 6px; border-left: 1.5px solid var(--color-pink-deep); border-bottom: 1.5px solid var(--color-pink-deep); rotate: -45deg; }
.pkg__note { color: var(--color-muted); font-size: var(--text-xs); }
.pkg__cta { margin-top: var(--space-md); white-space: normal; text-align: center; }
.pkg:first-child { box-shadow: inset 0 0 0 1.5px var(--color-pink-deep), var(--shadow-card); }
.pgroup__grid--3 .pkg:first-child { box-shadow: inset 0 0 0 1px var(--color-rule), var(--shadow-bubble); }
.pnote { margin-top: var(--space-xl); color: var(--color-muted); font-size: var(--text-sm); }
.psec__split { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--gap-columns); align-items: start; }
.psec__split .psec__head { grid-column: 1 / 6; }
.psec__head--sticky { position: sticky; top: calc(76px + var(--space-xl)); }
.terms { grid-column: 7 / 13; list-style: none; margin: 0; padding: 0; }
.term { display: grid; grid-template-columns: 3ch minmax(0, 1fr); gap: var(--space-md); padding-block: var(--space-lg); border-top: 1px solid var(--color-rule); }
.term:last-child { border-bottom: 1px solid var(--color-rule); }
.prop__lead-dark { color: var(--color-cream-soft); max-width: 46ch; }
.prop__wa { grid-column: 8 / 13; display: grid; gap: var(--space-md); justify-items: start; color: var(--color-cream-soft); font-size: var(--text-sm); }
.prop .hero__stage .layer--photo { height: 92%; }
.prop .footer__logo { grid-column: 1 / 5; }
@media (max-width: 60rem) {
  .psteps { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: var(--space-xl); }
  .pcards, .pgroup__grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 52rem) {
  .psec__intro, .psec__split { grid-template-columns: minmax(0, 1fr); }
  .psec__intro h2, .psec__copy, .psec__split .psec__head, .terms, .prop__wa { grid-column: 1; }
  .psec__head--sticky { position: static; margin-bottom: var(--space-xl); }
  .pgroup__grid, .pgroup__grid--3, .pcards { grid-template-columns: minmax(0, 1fr); }
  .psteps { grid-template-columns: minmax(0, 1fr); }
  .pkg { padding: var(--space-lg); }
  .prop__wa .btn { width: 100%; }
}
@media (max-width: 40rem) {
  .psec--dark, .psec--warm { margin-inline: var(--space-xs); }
}
.prop .hero__text h1 { max-width: 13ch; font-size: clamp(2.75rem, 3.6vw + 1rem, 4.75rem); overflow-wrap: normal; hyphens: manual; }
@media (max-width: 52rem) { .prop .hero__text h1 { font-size: clamp(2.5rem, 9vw + 0.25rem, 3.75rem); } }
