/* Shared public-page rhythm. Loaded after identity and typography. */
.marketing { --section-space:88px; --content-space:40px; }
.marketing #main [id] { scroll-margin-top:112px; }
.marketing #main :is(.section-intro,.usecase-tier-head,.expense-section-heading,.included-heading) { margin-bottom:32px; }
.marketing #main :is(.detail-copy,.usecase-card,.expense-persona-card,.problem-content-section) h2,
.marketing #main :is(.detail-copy,.usecase-card,.expense-persona-card) h3 { margin-bottom:16px; }
.marketing #main :is(.detail-copy,.usecase-card,.expense-persona-card,.trial-outcome) p+p { margin-top:16px; }
.marketing #main .detail-section { padding-top:44px; padding-bottom:44px; gap:64px; }
.marketing #main .usecase-tier { padding-top:var(--section-space); padding-bottom:0; }
.marketing #main .usecase-tier.usecase-dark { margin-top:var(--section-space); padding-block:var(--section-space); }
.marketing #main .usecase-grid { gap:24px; }
.marketing #main .usecase-tier>.fineprint,.marketing #main .usecase-tier>.text-link,
.marketing #main .usecase-tier>.usecase-grid+p { margin-top:24px; }
.marketing #main .tier-badge { border-color:#dcc5ce; }
.marketing #main .document-page { padding-top:64px; padding-bottom:80px; }
.marketing #main .document-page h2 { margin-top:48px; margin-bottom:20px; }
.marketing #main .document-page :is(.contact-block,.about-company) { margin-top:48px; }
.marketing #main .document-page .faq { margin-top:40px; margin-bottom:48px; }
.marketing #main .good-to-know { margin-block:40px; }
.marketing #main .faq summary { font-size:16px; line-height:1.5; }
.marketing #main .faq details { padding-block:24px; }
.marketing #main .faq details p { font-size:16px; line-height:1.7; margin:16px 0 0; }
.marketing #main .closing-cta { margin-top:72px; margin-bottom:72px; padding-block:56px; }
.marketing #main .expense-pricing { padding-top:64px; padding-bottom:80px; }
.marketing #main .pricing-intro { margin-bottom:48px; text-align:center; }
.marketing #main .pricing-grid { gap:24px; align-items:stretch; }
.marketing #main .price-card { min-height:0; padding:32px; }
.marketing #main .price-card h2 { margin:0 0 24px; }
.marketing #main .price-card .plan-cost { min-height:100px; margin:0 0 28px; }
.marketing #main .price-card .price { font-size:42px; line-height:1.2; margin:0 0 12px; }
.marketing #main .price-card .price span { font-size:14px; letter-spacing:0; }
.marketing #main .price-card .annual { font-size:14px; margin:0; line-height:1.6; }
.marketing #main .price-card>.button { align-self:stretch; margin:0; }
.marketing #main .plan-comparison-note { font-size:14px; line-height:1.7; margin:24px auto 0; }
.marketing #main .plan-matrix { margin-top:72px; padding:0; }
.marketing #main .plan-matrix .included-heading { align-items:center; gap:32px; }
.marketing #main .plan-matrix .included-heading h2 { font-size:32px; line-height:1.2; }
.marketing #main .plan-matrix .included-heading p { font-size:16px; line-height:1.6; }
.marketing #main .plan-matrix table { table-layout:fixed; min-width:660px; font-size:16px; line-height:1.6; }
.marketing #main .plan-matrix th,.marketing #main .plan-matrix td { padding:20px; vertical-align:middle; }
.marketing #main .plan-matrix th:first-child { width:40%; }
.marketing #main .plan-matrix thead th { font-size:16px; padding-block:22px; }
.marketing #main .plan-matrix tbody th { font-weight:500; color:var(--ink); }
.marketing #main .trial-intro { margin-top:72px; padding:40px; gap:48px; }
.marketing #main .trial-intro h2 { font-size:30px; line-height:1.2; margin:0 0 20px; }
.marketing #main .trial-intro h3 { font-size:22px; line-height:1.3; margin:0 0 16px; }
.marketing #main .trial-intro p { font-size:16px; line-height:1.7; }
.marketing #main .trial-offer p { max-width:none; }
.marketing #main .trial-offer .button { margin-top:24px; }
.marketing #main .trial-outcome { border-color:#dcc5ce; }
.marketing #main .expense-pricing>.faq { margin:72px auto 0; }
.marketing #main .expense-pricing>.faq h2 { font-size:32px; line-height:1.2; margin-bottom:24px; }
@media(max-width:760px) {
 .marketing { --section-space:56px; --content-space:28px; }
 .marketing #main [id] { scroll-margin-top:88px; }
 .marketing #main .detail-section { padding-block:28px; gap:28px; }
 .marketing #main .document-page { padding-top:40px; padding-bottom:56px; }
 .marketing #main .closing-cta { margin-top:48px; margin-bottom:48px; padding-block:36px; }
 .marketing #main .expense-pricing { padding-top:40px; padding-bottom:56px; }
 .marketing #main .pricing-intro { margin-bottom:32px; }
 .marketing #main .pricing-grid { gap:16px; }
 .marketing #main .price-card { padding:24px; }
 .marketing #main .price-card .plan-cost { min-height:0; margin-bottom:24px; }
 .marketing #main .plan-matrix { margin-top:48px; }
 .marketing #main .plan-matrix .included-heading { display:grid; gap:16px; }
 .marketing #main .plan-matrix th,.marketing #main .plan-matrix td { padding:16px; }
 .marketing #main .trial-intro { margin-top:48px; padding:28px; gap:28px; }
 .marketing #main .expense-pricing>.faq { margin-top:48px; }
 .marketing #main .trial-intro h2,.marketing #main .expense-pricing>.faq h2 { font-size:28px; }
}

.marketing #main .expense-audience-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.marketing #main .expense-audience-grid>a{padding:32px;min-height:0}
.marketing #main .expense-audience-grid h3{margin-bottom:18px}
.marketing #main .expense-audience-grid .expense-card-footer{margin-top:28px}
@media(max-width:760px){.marketing #main .expense-audience-grid{grid-template-columns:1fr;gap:20px}.marketing #main .expense-audience-grid>a{padding:28px}}
.marketing #main .note-rows a { white-space:normal; overflow-wrap:anywhere; }
.marketing #main .pricing-intro>.home-intro { text-align:center; }
