/* Site-wide vertical rhythm: every content section uses 96px top/bottom padding.
   Heroes, the breadcrumb-adjacent first section and the products hub intro keep their own tighter spacing. */
html body .section:not(.pcat-intro):not(.nm-intro),
html body .section-alt,
html body .pdp-section,
html body .details-section,
html body .kgc.contact-section,
html body :is(#kg, #kgm) .section:not(.pcat-intro):not(.nm-intro),
html body :is(#kg, #kgm) .section-alt,
html body :is(#kg, #kgm) .pdp-section {
  padding-top: 96px !important;
  padding-bottom: 96px !important;
}
html body .k2-crumb + .section,
html body .k2-crumb + section,
html body .k2-crumb + .pdp-hero-sec,
html body .k2-crumb + .kgc.contact-section,
html body :is(#kg, #kgm) .k2-crumb + .section {
  padding-top: 28px !important;
}
html body :is(#kg, #kgm) .section.pcat-intro { padding: 36px 0 0 !important; }
@media (max-width: 900px) {
  html body .section:not(.pcat-intro):not(.nm-intro),
  html body .section-alt,
  html body .pdp-section,
  html body .details-section,
  html body .kgc.contact-section,
  html body :is(#kg, #kgm) .section:not(.pcat-intro):not(.nm-intro),
  html body :is(#kg, #kgm) .section-alt,
  html body :is(#kg, #kgm) .pdp-section { padding-top: 64px !important; padding-bottom: 64px !important; }
  html body .k2-crumb + .section,
  html body .k2-crumb + section,
  html body .k2-crumb + .pdp-hero-sec,
  html body .k2-crumb + .kgc.contact-section,
  html body :is(#kg, #kgm) .k2-crumb + .section { padding-top: 20px !important; }
}

/* Hub pages: heading block followed directly by the stacked rows */
html body :is(#kg, #kgm) .section.nm-intro { padding: 28px 0 0 !important; }
html body #kgm .nm-stack { gap: 64px !important; padding: 28px 32px 72px !important; }
@media (max-width: 900px) { html body #kgm .nm-stack { gap: 48px !important; padding: 24px 24px 56px !important; } }
@media (max-width: 680px) { html body #kgm .nm-stack { gap: 40px !important; padding: 20px 16px 44px !important; } }
html body #kgm .nm-intro .sec-sub { margin-bottom: 0 !important; }
html body :is(#kg, #kgm) .section:has(+ .pcat-stack-wrap) .sec-sub { margin-bottom: 0 !important; }
html body :is(#kg, #kgm) .section:has(+ .pcat-stack-wrap) > .wrap > .sec-sub { margin-bottom: 0 !important; }
html body :is(#kg, #kgm) .section:has(+ .pcat-stack-wrap) { padding-bottom: 0 !important; }
html body :is(#kg, #kgm) .pcat-stack { padding-top: 28px !important; }
@media (max-width: 900px) { html body :is(#kg, #kgm) .pcat-stack { padding-top: 24px !important; } }
@media (max-width: 680px) { html body :is(#kg, #kgm) .pcat-stack { padding-top: 20px !important; } }
html body #kgm .section.nm-intro > .wrap > p.sec-sub,
html body #kgm .section:has(+ .pcat-stack-wrap) > .wrap > p.sec-sub,
html body #kg .section:has(+ .pcat-stack-wrap) > .wrap > p.sec-sub { margin-bottom: 0 !important; }
html body #kgm .section > .wrap > p.sec-sub:has(+ .pcat-stack-wrap),
html body #kg .section > .wrap > p.sec-sub:has(+ .pcat-stack-wrap) { margin-bottom: 0 !important; }
