/* Static-site integration for the supplied Cleaning Day design. */
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.site-quote-widget{min-width:0}
.site-quote-widget .rip-title{font-size:clamp(28px,3vw,42px);letter-spacing:-1px}
.site-quote-widget>p{color:var(--rip-muted)}
.site-quote-widget iframe{display:block;background:#fff;border-radius:12px;margin-top:24px;max-width:100%}
.bghs-project-grid .rip-project-card__media>img{display:block;width:100%;height:260px;object-fit:cover}
.site-inner-page{
 --color-primary:var(--rip-primary);--color-primary-dark:var(--rip-primary-hover);
 --color-text:var(--rip-text);--color-text-light:var(--rip-muted);--color-border:var(--rip-border);
 --color-bg:var(--rip-background);--color-bg-light:var(--rip-surface-alt);
 --font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
.site-inner-page .hero{background:radial-gradient(ellipse at top,color-mix(in srgb,var(--rip-primary) 18%,transparent),transparent 70%),var(--rip-background);padding:90px 0;color:var(--rip-text)}
.site-inner-page .hero h1{font-size:clamp(36px,5vw,64px);color:var(--rip-text);letter-spacing:-1.5px}
.site-inner-page .hero p{color:var(--rip-muted);max-width:760px;margin:20px auto 0}
.site-inner-page section:not(.hero){background:var(--rip-background)}
.site-inner-page .section-alt{background:var(--rip-surface-alt)!important}
.site-inner-page .card,.site-inner-page .service-card,.site-inner-page .testimonial{background:var(--rip-surface);border:1px solid var(--rip-border);border-radius:16px;box-shadow:0 12px 32px #0000000a}
.site-inner-page h1,.site-inner-page h2,.site-inner-page h3,.site-inner-page h4{color:var(--rip-text)}
.site-inner-page .site-header{background:var(--rip-surface);padding:0;box-shadow:none;border-bottom:1px solid var(--rip-border)}
.site-inner-page .site-header ul{list-style:none;margin:0;padding:0}
.site-inner-page .site-header .rip-menu a{font-size:13px;letter-spacing:0;text-transform:none}
.site-inner-page .site-header .rip-logo{font-size:inherit}
.site-inner-page .btn{background:var(--rip-primary);border-color:var(--rip-primary);border-radius:8px;color:#fff}
.site-inner-page .btn:hover{background:var(--rip-primary-hover);border-color:var(--rip-primary-hover)}
.site-inner-page footer{padding:0;background:var(--rip-surface-alt);color:var(--rip-text)}
.site-inner-page footer p,.site-inner-page footer a{color:var(--rip-muted)}
.site-inner-page .rip-footer-title{color:var(--rip-text)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Business colors saved with the reference page. */
:root{--rip-primary:#5887b1;--rip-primary-hover:#476f92;--rip-background:#0f1a25;--rip-surface:#132230;--rip-surface-alt:#1a3046;--rip-text:#f4f8fc;--rip-muted:#a9bbcd;--rip-border:#29445d;}html[data-rip-theme="light"]{--rip-primary:#5887b1;--rip-primary-hover:#476f92;--rip-background:#f8fbfe;--rip-surface:#ffffff;--rip-surface-alt:#eef4fa;--rip-text:#182534;--rip-muted:#5f7387;--rip-border:#d6e2ed;--rip-shadow:0 24px 80px rgba(25,30,38,.12);}

/* Long Google reviews expand in place; no review wording is discarded. */
.google-review-full{margin:12px 0;color:var(--rip-muted)}
.google-review-full summary{cursor:pointer;color:var(--rip-primary);font-weight:600}
.google-review-full p{white-space:pre-line}
.google-review-source{color:var(--rip-muted);font-size:13px;margin-top:8px}

/* Keep team portraits and captions separate when the sections stack. */
@media(max-width:820px){
 .bghs-about-reference__media{min-height:0;aspect-ratio:auto;display:flex;flex-direction:column}
 .bghs-about-reference__media>img{width:100%;height:auto;object-fit:contain}
 .bghs-about-reference__media::before{display:none}
 .bghs-about-reference__badge{position:static;margin:12px;width:auto;min-width:0}
 .bghs-about-reference__badge>div{min-width:0}
 .bghs-why-feature__media{min-height:0;aspect-ratio:auto;display:flex;flex-direction:column}
 .bghs-why-feature__media>img{position:static;width:100%;height:auto;object-fit:contain}
 .bghs-why-feature__shade{display:none}
 .bghs-why-feature__copy{position:static;margin:12px;min-width:0}
}

/* The looping video blends into the card, with its caption below. */
.site-highlights-video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:var(--rip-surface);object-fit:cover}

/* Match the reference contact panel while retaining the hosted CRM form. */
.bghs-contact-reference__form{grid-column:2;grid-row:1}
.bghs-contact-reference__details{grid-column:1;grid-row:1}
.site-quote-widget{height:100%;padding:38px 40px 36px;border:1px solid var(--bghs-glass-border);border-radius:24px;background:var(--bghs-glass-bg);box-shadow:var(--bghs-glass-shadow),inset 0 1px 0 var(--bghs-glass-highlight)}
.site-markate-surface{isolation:isolate;min-width:0;overflow:hidden;border-radius:11px;background:#fff}
iframe[src^="https://www.markate.com/public/widget/contact"]{display:block;color-scheme:light;background:#fff;border-radius:11px;max-width:100%}
.site-quote-widget .site-markate-surface{margin-top:24px}
.site-quote-widget iframe{margin-top:0}
html[data-rip-theme="dark"] .site-markate-surface{background:var(--rip-background)}
html[data-rip-theme="dark"] iframe[src^="https://www.markate.com/public/widget/contact"]{filter:invert(1) hue-rotate(180deg);mix-blend-mode:screen}
@media(max-width:900px){
 .bghs-contact-reference__form,.bghs-contact-reference__details{grid-column:auto;grid-row:auto}
}
@media(max-width:760px){.site-quote-widget{padding:24px 20px}}

/* A portrait's minimum height must not widen it beyond its grid column. */
@media(min-width:821px){
 .bghs-about-reference__media{width:100%;min-width:0;max-width:100%}
}

/* The swapped media keep their natural proportions and captions below. */
.bghs-about-reference__media.site-media-stack,.bghs-why-feature__media.site-media-stack{display:flex;flex-direction:column;flex:none;min-width:0;min-height:0;aspect-ratio:auto}
.site-media-stack>img{position:static;display:block;width:100%;height:auto;object-fit:contain}
.bghs-about-reference__media.site-media-stack::before{display:none}
.site-media-stack .bghs-about-reference__badge,.site-media-stack .bghs-why-feature__copy{position:static;min-width:0;margin:12px}

/* Restore bounded framing at tablet widths instead of shrinking the whole card. */
.site-team-photo-frame{min-width:0;background:var(--rip-background)}
.site-team-photo-frame>img{display:block;width:100%;height:auto}
@media(min-width:487px) and (max-width:1040px){
 .site-team-photo-frame{height:480px}
 .site-team-photo-frame>img{height:100%;object-fit:contain}
}
@media(min-width:487px) and (max-width:760px){
 .site-team-photo-frame{height:440px}
}
