/* /google-ads/ density layer on top of service-pages.css. Bundles come from bundles.css. */
.ads-page .hero { padding: 44px 0 38px; }
.ads-page .hero-grid { gap: 48px; align-items: center; }
.ads-page .hero h1 { margin: 12px 0 14px; font-size: clamp(2.6rem, 4.6vw, 4.1rem); text-wrap: balance; }
.ads-page .hero-copy { font-size: 1rem; }
.ads-page .price-anchor { margin-top: 14px; font-size: 1.6rem; }
.ads-page .hero-actions { margin-top: 18px; }
.ads-page .hero-aside { padding-top: 18px; }
.ads-page .section { padding: 52px 0; }
.ads-page .section h2 { max-width: 20ch; margin-top: 10px; font-size: clamp(2rem, 3.4vw, 3.1rem); text-wrap: balance; }
.ads-page .split { grid-template-columns: 0.9fr 1.1fr; gap: 6%; }
.ads-page .split h2 { max-width: none; font-size: clamp(1.9rem, 3vw, 2.7rem); }
.ads-page .section-intro { max-width: 560px; }
.ads-page .check-list { margin-top: 20px; }
.ads-page .check-list div { padding: 10px 0; }
.ads-page .process { margin-top: 24px; }
.ads-page .step { min-height: 0; padding-bottom: 4px; }
.ads-page .step h3 { margin: 10px 0 4px; }
.ads-page .faq { grid-template-columns: 0.9fr 1.1fr; gap: 6%; }
.ads-page .faq h2 { max-width: none; font-size: clamp(1.65rem, 2.6vw, 2.4rem); }
.ads-page summary { padding: 14px 30px 14px 0; }
.ads-page summary:after { top: 11px; }
.ads-page details p { margin-bottom: 14px; }
.ads-page .other-services { margin-top: 18px; }
.ads-page .final { padding: 44px 0; }
.ads-page .final h2 { max-width: 20ch; font-size: clamp(2.2rem, 3.8vw, 3.4rem); text-wrap: balance; }
.ads-page .final p { max-width: 460px; }
.ads-prices { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 22px; border-top: 1px solid #152019; }
.ads-prices article { padding: 18px 22px 18px 0; }
.ads-prices article + article { padding-left: 22px; border-left: 1px solid #cdd5c9; }
.ads-prices h3 { margin: 0 0 10px; font: 700 1.05rem Manrope, sans-serif; letter-spacing: -.03em; }
.ads-prices strong { display: inline; font: 800 2.1rem/1 Manrope, sans-serif; letter-spacing: -.06em; }
.ads-prices span { margin-left: 8px; color: #667269; font-size: .85rem; }
.ads-prices p { margin: 8px 0 0; color: #667269; font-size: .9rem; }
.ads-note { margin: 14px 0 0; color: #667269; font-size: .9rem; }
.ads-note a { color: #2f5a1a; font-weight: 700; border-bottom: 1px solid currentColor; }
@media (max-width: 800px) {
  .ads-page .split, .ads-page .faq { grid-template-columns: 1fr; }
  .ads-page .hero { padding: 32px 0 28px; }
  .ads-page .hero-grid { gap: 20px; }
  .ads-page .section { padding: 40px 0; }
  .ads-page .final { padding: 36px 0; }
  .ads-page .section h2 { max-width: 18ch; }
  .ads-prices { grid-template-columns: 1fr; }
  .ads-prices article, .ads-prices article + article { padding: 14px 0; border-left: 0; border-bottom: 1px solid #cdd5c9; }
}
