/* Pricing uses a contact-style banner on narrow layouts too. */
body.pricing-page .service-page__description { width: 100%; max-width: none !important; }
body.pricing-page .service-wide-hero > .service-page__image { border: 0 !important; box-shadow: none !important; }
body.pricing-page:not(.has-service-hero) .service-wide-hero { position: relative; isolation: isolate; display: grid; place-items: center; height: 300px; overflow: hidden; background: #17323a; }
body.pricing-page:not(.has-service-hero) .service-wide-hero > .service-page__image { position: absolute; inset: 0; z-index: -2; width: 100% !important; max-width: none !important; height: 100% !important; margin: 0 !important; border-radius: 0 !important; object-fit: cover; object-position: center; }
body.pricing-page:not(.has-service-hero) .service-wide-hero::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,#0c1e2252,#0c1e2285,#0c1e2252); }
body.pricing-page:not(.has-service-hero) .service-wide-hero__copy { padding: 28px 20px; text-align: center; }
body.pricing-page:not(.has-service-hero) .service-wide-hero h1 { color: #fff; margin: 0; font-size: 36px; line-height: 1.15; font-weight: 700; }
body.pricing-page:not(.has-service-hero) main.service-page-shell { padding-left: 28px; padding-right: 28px; }
body.pricing-page:not(.has-service-hero) .service-page__copy { padding: 0 !important; width: 100%; max-width: none; }
@media (max-width: 620px), (orientation: landscape) and (max-width: 959px) and (max-height: 500px) {
  body.pricing-page:not(.has-service-hero) .service-wide-hero { height: 210px; }
  body.pricing-page:not(.has-service-hero) .service-wide-hero h1 { font-size: 28px; }
  body.pricing-page:not(.has-service-hero) main.service-page-shell { padding-left: 18px; padding-right: 18px; }
}
@media (min-width: 960px) and (orientation: landscape), (min-width: 1181px) {
  body.has-service-hero .service-site-header { position: fixed; inset: 0 0 auto; z-index: 100; border: 0; background: transparent !important; isolation: isolate; }
  body.has-service-hero .service-site-header::before { content: ''; position: absolute; inset: 0; z-index: -1; background: var(--rm-beige); opacity: 0; transition: opacity 240ms ease; }
  body.has-service-hero.service-hero-scrolled .service-site-header::before { opacity: 1; }
  body.has-service-hero .desktop-nav, body.has-service-hero .desktop-nav > a { transition: color 240ms ease; }
  body.has-service-hero .rm-clean-wordmark { transition: filter 240ms ease; }
  body.has-service-hero .service-site-header__inner { background: transparent !important; }
  body.has-service-hero .service-site-header { background: linear-gradient(#07151ba6,transparent) !important; }
  body.has-service-hero:not(.service-hero-scrolled) .desktop-nav { color: #fff; }
  body.has-service-hero:not(.service-hero-scrolled) .rm-clean-wordmark { filter: brightness(0) invert(1); }
  body.has-service-hero:not(.service-hero-scrolled) .desktop-nav > a[href="/trial-cleaning"],
  body.has-service-hero:not(.service-hero-scrolled) .desktop-nav > a[href="/testisiivous"] { color: #72e8f5; }
  body.has-service-hero.service-hero-scrolled .service-site-header { box-shadow: 0 1px 8px #102f371a; }
  .service-wide-hero { position: relative; isolation: isolate; display: grid; place-items: center; height: clamp(396px,60vh,576px); overflow: hidden; background: #17323a; }
  body.has-service-hero .service-wide-hero > .service-page__image { position: absolute; inset: 0; z-index: -2; width: 100% !important; max-width: none !important; height: 100% !important; margin: 0 !important; border: 0; border-radius: 0 !important; object-fit: cover; object-position: center; }
  .service-wide-hero::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,#07151b73,#07151b99,#07151b73); }
  .service-wide-hero__copy { padding: 70px 24px 50px; text-align: center; }
  body.has-service-hero .service-wide-hero h1 { margin: 0 !important; color: #fff !important; font-size: clamp(40px,3.8vw,56px) !important; line-height: 1.15 !important; font-weight: 700 !important; }
  .service-wide-hero h1 span { display: block; color: #72e8f5; margin-top: 12px; font-size: .8em; }
  body.has-service-hero main.service-page-shell { padding-top: 32px; max-width: 956px !important; }
  body.has-service-hero .service-page__intro { display: block !important; }
  body.has-service-hero .service-page__copy { padding: 0 !important; max-width: none; margin: 0 0 28px; }
  body.has-service-hero .service-page__grid { grid-template-columns: minmax(0,1fr) !important; }
  body.has-service-hero .service-page__grid > * { grid-column: 1 !important; }
  body.has-service-hero .service-page__calculator-card { width: 100% !important; max-width: none !important; }
  body.has-service-hero .contact-banner__brand { padding: 76px 24px 24px; }
  body.has-service-hero .contact-banner__logo { width: 76px; height: 76px; margin-bottom: 12px; }
  body.has-service-hero .contact-banner p { margin-top: 12px; color: #72e8f5; font-size: 20px; }
  body.has-service-hero .contact-content { max-width: 956px; }
}
@media (prefers-reduced-motion: reduce) {
  body.has-service-hero .service-site-header::before, body.has-service-hero .desktop-nav,
  body.has-service-hero .desktop-nav > a, body.has-service-hero .rm-clean-wordmark { transition: none; }
}
/* Institutional banners follow the homepage title scale. */
body.pricing-page .service-wide-hero h1,
body .contact-banner h1 { font-size: 36px !important; line-height: 1.06 !important; font-weight: 700 !important; }
body.pricing-page .service-wide-hero h1 .banner-brand,
body .contact-banner h1 .banner-brand { display: block; font-size: 20px; font-weight: 600; line-height: 1.4; color: #72e8f5; margin-top: 8px; }
@media (min-width: 1181px) {
  body.pricing-page .service-wide-hero h1 .banner-brand,
  body .contact-banner h1 .banner-brand { font-size: 23px; }
}
.service-pricing-heading { display: none; }
@media (min-width: 960px) and (orientation: landscape), (min-width: 1181px) {
  body.has-service-hero .service-pricing-heading,
  body.has-service-hero .trial-intro-heading { display: block; font-size: 22px !important; line-height: 1.25; font-weight: 600; color: #17323a; margin: 0 0 14px !important; }
  body.pricing-page.has-service-hero .service-wide-hero h1,
  body.has-service-hero .contact-banner h1 { font-size: 46px !important; }
  body.has-service-hero .contact-banner__brand { padding: 70px 24px 50px; }
}
@media (min-width: 960px) and (max-width: 1180px) and (orientation: landscape) {
  body.pricing-page.has-service-hero .service-wide-hero h1,
  body.has-service-hero .contact-banner h1 { font-size: 40px !important; }
}
@media (max-width: 620px), (orientation: landscape) and (max-width: 959px) and (max-height: 500px) {
  body.pricing-page .service-wide-hero h1 .banner-brand,
  body .contact-banner h1 .banner-brand { font-size: 16px; }
  body.pricing-page .service-wide-hero h1,
  body .contact-banner h1 { font-size: 28px !important; }
}
