/* Shared by the corporate and Roofing product pages. */
.pp-hero-inner, .pp-features-grid, .pp-built-inner, .pp-cta-inner {
  width: 100%;
  max-width: 1280px !important;
  margin-inline: auto !important;
  box-sizing: border-box;
}
.pp-hero-inner { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 40px; align-items: center; }
.pp-hero-text { min-width: 0; margin-bottom: 0; }
.pp-hero-title { font-size: 52px !important; line-height: 1.1 !important; letter-spacing: 0 !important; }
.pp-hero-desc { font-size: 18px !important; line-height: 1.6 !important; max-width: 520px; margin-bottom: 36px; }
.pp-dashboard-wrapper { width: 100%; padding: 0; transform: none; border-radius: 12px; overflow: hidden; }
.pp-dashboard-img { display: block; width: 100%; height: auto; border-radius: 0; }
.pp-trusted-logos { width: 100%; max-width: 1280px; margin-inline: auto; }
@media (min-width: 1025px) {
  .pp-trusted-logos { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px; align-items: center; }
  .pp-logo-item { min-width: 0; justify-content: center; }
}
.pp-features, .pp-built, .pp-integrations, .pp-cta { padding: 80px 24px; }
.pp-features-header { margin-bottom: 64px; }
.pp-features-title, .pp-built-title, .pp-integrations-title, .pp-cta-title { font-size: 40px !important; line-height: 1.15 !important; letter-spacing: 0 !important; }
.pp-features-subtitle, .pp-built-desc, .pp-integrations-subtitle { font-size: 18px; line-height: 1.6; }
.pp-feature-card { padding: 32px; }
.pp-feature-name, .pp-integration-name { font-size: 20px; line-height: 1.4; }
.pp-feature-desc, .pp-integration-desc { font-size: 15px; line-height: 1.6; }
.pp-cta-inner { gap: 32px; padding: 48px; }
.pp-cta-icon { width: 80px; height: 80px; padding: 15px; flex: 0 0 80px; border-radius: 50%; background: #fff; box-sizing: border-box; }
.pp-cta-icon img { display: block; width: 50px; height: 50px; max-width: none; }
.pp-cta-content { min-width: 0; flex: 1; margin: 0; }
.pp-cta-title { margin: 0 0 12px; }
.pp-cta-desc { font-size: 18px; line-height: 1.6; color: #fff; margin: 0; max-width: 600px; }
.pp-cta-btn { padding: 14px 32px; border-radius: 8px; font-size: 16px; }
@media (min-width: 1600px) {
  .pp-features, .pp-built, .pp-integrations, .pp-cta { padding-block: 100px; }
  .pp-cta-inner { padding-block: 64px; }
}
@media (max-width: 1024px) {
  .pp-hero-inner { grid-template-columns: minmax(0, 1fr); }
  .pp-hero-text { text-align: center; }
  .pp-hero-desc { margin-inline: auto; }
  .pp-hero-actions { justify-content: center; }
  .pp-hero-title { font-size: 40px !important; }
  .pp-features-title, .pp-built-title, .pp-integrations-title, .pp-cta-title { font-size: 32px !important; }
  .pp-cta-inner { flex-direction: column; text-align: center; padding: 32px 24px; gap: 24px; }
}
@media (max-width: 640px) {
  .pp-features, .pp-built, .pp-integrations, .pp-cta { padding: 48px 16px; }
  .pp-hero-title { font-size: 32px !important; }
  .pp-hero-desc { font-size: 16px !important; }
  .pp-features-title, .pp-built-title, .pp-integrations-title, .pp-cta-title { font-size: 28px !important; }
  .pp-features-header { margin-bottom: 32px; }
  .pp-feature-card { padding: 24px; }
  .pp-cta-icon { width: 64px; height: 64px; flex-basis: 64px; padding: 10px; }
  .pp-cta-icon img { width: 44px; height: 44px; }
  .pp-cta-desc { font-size: 16px; }
  .pp-cta-btn { width: 100%; justify-content: center; }
}
