/* Oasis Cleaning: explicit surface/text pairs for a focused commercial journey. */
body.cleaning-modern {
  --clean-ink: #122e48; --clean-muted: #506776; --clean-green: #1c694b;
  --clean-blue: #1757b4; --clean-paper: #f2f6fa; --clean-line: #d2dde6;
  color: var(--clean-ink); background: #fff;
}
.cleaning-modern .container { max-width: 1320px; width: calc(100% - 80px); padding-inline: 0; }
.cleaning-modern .site-header { background: #fff !important; border-top: 4px solid #1757b4; border-bottom: 1px solid #dce5eb; box-shadow: none; backdrop-filter: none; }
.cleaning-modern .navbar { min-height: 84px; gap: 22px; }
.cleaning-modern .brand-lockup { height: 52px !important; width: auto; }
.cleaning-modern .nav-links { gap: 22px; }
.cleaning-modern .nav-links a { color: #18374c; font-size: .875rem; font-weight: 600; }
.cleaning-modern .header-cta { background: #1c694b; border-color: #1c694b; color: #fff; box-shadow: none; }
.cleaning-modern .header-call { border: 0; background: none; box-shadow: none; padding: 10px 0; color: #163d50; }
.cleaning-modern .btn,.cleaning-modern .btn-call { border-radius: 6px; min-height: 48px; box-shadow: none; font-size: .9375rem; font-weight: 650; text-decoration: none; }
.cleaning-modern .btn-primary { background: #1c694b; border-color: #1c694b; color: #fff; }
.cleaning-modern .btn-primary:hover { background: #145139; border-color: #145139; transform: none; }
.cleaning-modern .btn-ghost { background: transparent; color: #183d54; border: 1px solid #9eafb9; }
.cleaning-modern .btn-ghost:hover { background: #eaf1f6; transform: none; }
.cleaning-modern :where(a,button,input,select,textarea,summary):focus-visible { outline: 3px solid #1757b4; outline-offset: 4px; }
.cleaning-modern :where(h1,h2,h3) { text-wrap: balance; }
.cleaning-modern .reveal { opacity: 1; transform: none; }
.cleaning-modern .reveal.visible :is(.home-service-card,.pillars-v2__item,.home-signature__card,.home-compare-row,.faq-item) { animation: none; }
.cleaning-modern .mobile-panel { background: #fff; }
.cleaning-modern .mobile-panel-nav a { color: #15374d; }
.cleaning-modern .menu-btn { border: 1px solid #becdd8; border-radius: 6px; box-shadow: none; }
.clean-kicker { display: block; margin: 0 0 20px; color: #1c694b; font-size: .875rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.clean-hero { background: #edf3f9; color: #122e48; padding: 58px 0 66px; }
.clean-hero__grid { display: grid; grid-template-columns: 1.04fr 1fr; gap: 64px; align-items: center; }
.clean-hero h1 { color: #122e48; margin: 0 0 26px; font-size: clamp(2.8rem,4.6vw,4.3rem); letter-spacing: -.05em; line-height: 1.07; font-weight: 650; }
.clean-hero h1 span { color: #1757b4; }
.clean-hero__lead { color: #425e71; font-size: 1.125rem; line-height: 1.8; max-width: 42ch; margin: 0; }
.clean-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 30px 0 22px; }
.clean-hero__actions .btn { padding: 15px 19px; }
.clean-hero__note { color: #506776; font-size: .875rem; margin: 0; line-height: 1.7; }
.clean-hero__note a { color: #1757b4; text-underline-offset: 4px; }
.clean-hero__photo { margin: 0; position: relative; overflow: hidden; border-radius: 8px 48px 8px 8px; background: #dbe5eb; }
.clean-hero__photo img { display: block; width: 100%; height: 540px; object-fit: cover; object-position: center; }
.clean-hero__photo figcaption { position: absolute; bottom: 20px; left: 20px; background: #fff; color: #16374d; padding: 12px 16px; border-radius: 5px; font-size: .875rem; font-weight: 600; }
@media (min-width:981px) and (max-width:1260px) { .cleaning-modern .nav-links { gap: 13px; } .cleaning-modern .nav-links a { font-size: .8125rem; } .cleaning-modern .header-call { display:none; } }
@media (max-width:980px) { .cleaning-modern .container { width: calc(100% - 48px); } .clean-hero__grid { gap: 30px; } .clean-hero__photo img { height: 470px; } }
@media (max-width:680px) {
  .cleaning-modern .container { width: calc(100% - 40px); }
  .cleaning-modern .navbar { min-height: 72px; }
  .cleaning-modern .brand-lockup { height: 42px !important; }
  .clean-hero { padding: 38px 0 42px; }
  .clean-hero__grid { grid-template-columns: 1fr; gap: 30px; }
  .clean-hero h1 { font-size: clamp(2.45rem,10vw,3.5rem); }
  .clean-hero__lead { font-size: 1rem; }
  .clean-hero__actions .btn { width:100%; }
  .clean-hero__photo img { height: 300px; }
}
@media (prefers-reduced-motion:reduce) { .cleaning-modern *, .cleaning-modern *::before, .cleaning-modern *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
/* Homepage: shorter sections, plain service choices, and visible next steps. */
.clean-section { padding: 80px 0; color: #122e48; background: #fff; }
.clean-anchor { display:block; height:0; scroll-margin-top:110px; }
.clean-article { max-width:850px; padding-top:40px; padding-bottom:56px; color:#122e48; }
.clean-article-meta { color:#506776; font-size:.875rem; }
.clean-article-nav { display:flex; flex-wrap:wrap; gap:12px 22px; padding:20px 0 28px; border-bottom:1px solid #d7e1e8; }
.clean-article-section { padding-top:36px; scroll-margin-top:110px; }
.clean-article-section h2 { color:#122e48; font-size:clamp(1.5rem,3vw,2rem); line-height:1.25; letter-spacing:-.02em; }
.clean-article-section p,.clean-article-section li { color:#354f61; font-size:1.0625rem; line-height:1.8; }
.clean-article-section p { margin:18px 0; }
.clean-article-section ul,.clean-prose ul { padding-left:24px; }
.clean-article-section li,.clean-prose li { margin:10px 0; }
.clean-article a { overflow-wrap:anywhere; }
.clean-heading { max-width: 800px; margin-bottom: 34px; }
.clean-heading h2 { color:#122e48; font-size:clamp(2rem,3.4vw,3.15rem); line-height:1.13; font-weight:650; letter-spacing:-.04em; margin:0; }
.clean-heading--split { display:flex; justify-content:space-between; align-items:end; gap:44px; max-width:none; }
.clean-heading--split > p { max-width:36ch; font-size:1rem; color:#506776; line-height:1.75; margin:0; }
.clean-paths { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-bottom:1px solid #d2dde6; }
.clean-paths a { display:flex; gap:14px; padding:26px 18px; font-size:.9375rem; color:#16374d; font-weight:650; text-decoration:none; }
.clean-paths a + a { border-left:1px solid #d2dde6; }
.clean-paths a:hover { background:#edf3f9; }
.clean-paths span { color:#1757b4; font-weight:500; }
.clean-process { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:42px; }
.clean-process article { border-top:1px solid #c7d7e2; padding:24px 0 0; }
.clean-process article > span { color:#1757b4; font-size:.875rem; }
.clean-process h3 { color:#122e48; font-size:1.3rem; margin:18px 0 12px; letter-spacing:-.02em; }
.clean-process p { font-size:1rem; color:#506776; line-height:1.8; margin:0; }
.cleaning-modern.page-home #home-services { background:#f2f6fa; color:#122e48; padding:76px 0; }
.cleaning-modern.page-home #home-services h2 { color:#122e48; font-size:clamp(2rem,3.4vw,3.15rem); letter-spacing:-.04em; line-height:1.13; max-width:24ch; }
.cleaning-modern.page-home #home-services .kicker { color:#1c694b; background:none; border:0; padding:0; font-size:.875rem; }
.cleaning-modern.page-home #home-services .muted { color:#506776; }
.cleaning-modern.page-home .home-service-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.cleaning-modern.page-home .home-service-card { border:1px solid #d2dde6; border-radius:8px; background:#fff; box-shadow:none; transform:none; overflow:hidden; }
.cleaning-modern.page-home .home-service-card__card-link { height:100%; display:flex; flex-direction:column; color:#122e48; }
.cleaning-modern.page-home .home-service-card img { height:190px; width:100%; object-fit:cover; }
.cleaning-modern.page-home .home-service-card__body { position:static; background:#fff; color:#122e48; padding:24px; }
.cleaning-modern.page-home .home-service-card__body h3 { color:#122e48; font-size:1.3rem; line-height:1.3; }
.cleaning-modern.page-home .home-service-card__body p { color:#506776; font-size:1rem; line-height:1.7; }
.cleaning-modern.page-home .home-service-card__tag,.cleaning-modern.page-home .home-service-card__link { color:#1c694b; background:none; font-size:.875rem; }
.cleaning-modern.page-home .home-service-card__link { text-decoration:underline; text-underline-offset:4px; }
.clean-explorer { background:#fff; }
.clean-explorer__layout { display:grid; grid-template-columns:1.25fr 1fr; border:1px solid #c4d2dd; border-radius:10px; overflow:hidden; }
.clean-explorer__stage { position:relative; min-width:0; min-height:520px; background:#e6eef0; }
.clean-explorer__stage > img { position:absolute; width:100%; height:100%; object-fit:cover; inset:0; }
.clean-explorer__stage::after { position:absolute; inset:40% 0 0; background:linear-gradient(transparent,#0d2c47eb); content:''; pointer-events:none; }
.clean-explorer__stage[data-ready]::after { display:none; }
.clean-explorer__canvas { position:absolute; inset:0; }
.clean-explorer__canvas canvas { width:100%; height:100%; display:block; }
.clean-explorer__start { position:absolute; left:26px; bottom:64px; z-index:2; border:0; border-radius:5px; padding:15px 22px; min-height:48px; background:#fff; color:#16374d; font-weight:650; cursor:pointer; font-size:1rem; }
.clean-explorer__start:hover { background:#e1eeff; }
.clean-explorer__status { position:absolute; left:26px; right:26px; bottom:20px; z-index:2; color:#fff; font-size:.875rem; line-height:1.5; margin:0; }
.clean-explorer__stage[data-ready] .clean-explorer__status { color:#345462; }
.clean-explorer__rotate { position:absolute; right:20px; top:20px; display:flex; gap:8px; z-index:2; }
.clean-explorer__rotate button { width:44px; height:44px; border:1px solid #bccbd6; border-radius:4px; color:#122e48; background:#fff; cursor:pointer; }
.clean-explorer__panel { background:#102f49; color:#fff; padding:36px; }
.clean-explorer__panel .clean-kicker { color:#b4e2ff; }
.clean-zone-controls { display:flex; flex-wrap:wrap; gap:9px; padding-bottom:26px; border-bottom:1px solid #456078; }
.clean-zone-controls button { border:1px solid #6e8a9f; border-radius:4px; color:#e1eef8; background:transparent; padding:11px 13px; font-size:.875rem; cursor:pointer; min-height:44px; }
.clean-zone-controls button[aria-pressed="true"] { background:#d2e9ff; border-color:#d2e9ff; color:#123c60; }
.clean-explorer__panel h3 { color:#fff; font-size:1.7rem; line-height:1.2; margin:26px 0 16px; }
.clean-explorer__panel p:not(.clean-kicker) { color:#c8dbea; font-size:1rem; line-height:1.75; }
.clean-explorer__panel .clean-text-link { color:#b4e2ff; text-underline-offset:5px; font-weight:600; }
.clean-explorer__panel .btn-primary { margin-top:26px; background:#d2e9ff; border-color:#d2e9ff; color:#123c60; }
.clean-explorer__fallback a { color:#b4e2ff; }
.clean-explorer [hidden],.clean-finder [hidden] { display:none !important; }
.clean-finder-banner { background:#edf3f9; padding:45px 0; color:#122e48; }
.clean-finder-banner > .container { display:flex; align-items:center; justify-content:space-between; gap:36px; }
.clean-finder-banner h2 { font-size:clamp(1.8rem,2.7vw,2.5rem); color:#122e48; margin:0 0 12px; letter-spacing:-.035em; }
.clean-finder-banner p:not(.clean-kicker) { color:#506776; margin:0; font-size:1rem; }
.clean-finder-banner .clean-kicker { margin-bottom:12px; }
.clean-finder-banner .btn { flex-shrink:0; }
.cleaning-modern .ots-showcase { background:#fff; padding:76px 0; }
.cleaning-modern .ots-showcase-title { font-size:clamp(2rem,3.4vw,3.15rem); letter-spacing:-.04em; }
.cleaning-modern .ots-showcase-grid { gap:32px; }
.clean-portal-details { border-top:1px solid #c8d7e2; border-bottom:1px solid #c8d7e2; padding:20px 0; }
.clean-portal-details > summary { color:#1757b4; font-size:1rem; font-weight:650; cursor:pointer; padding:8px 0; }
.clean-portal-details__body { display:grid; gap:50px; padding:35px 0 15px; }
.cleaning-modern .ots-showcase-closer { margin-top:35px; padding:28px; border-radius:6px; }
.clean-resources { background:#f2f6fa; }
.clean-resource-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.clean-resource-grid > a { display:block; border-top:1px solid #aabfce; padding:25px 0 0; color:#122e48; text-decoration:none; }
.clean-resource-grid > a > span { color:#1757b4; font-size:.875rem; font-weight:600; }
.clean-resource-grid h3 { font-size:1.5rem; margin:18px 0 14px; line-height:1.3; color:#122e48; }
.clean-resource-grid p { color:#506776; font-size:1rem; line-height:1.7; }
.clean-resource-grid strong { font-size:.9375rem; color:#1c694b; text-decoration:underline; text-underline-offset:4px; }
.cleaning-modern .home-faq { padding:76px 0; background:#fff; color:#122e48; }
.cleaning-modern .home-faq h2 { font-size:clamp(2rem,3.4vw,3rem); color:#122e48; }
.cleaning-modern .home-faq .faq-item { border-radius:6px; box-shadow:none; border-color:#c7d7e2; }
.clean-close { background:#102f49; color:#fff; padding:60px 0; }
.clean-close > .container { display:flex; align-items:center; justify-content:space-between; gap:44px; }
.clean-close h2 { color:#fff; font-size:clamp(2rem,3.3vw,3rem); margin:0 0 20px; letter-spacing:-.035em; }
.clean-close p:not(.clean-kicker) { color:#c8dbea; font-size:1rem; }
.clean-close .clean-kicker { color:#b4e2ff; }
.clean-close .btn-primary { background:#d2e9ff; border-color:#d2e9ff; color:#123c60; }
.clean-close__phone { display:block; text-align:center; margin-top:18px; color:#fff; font-size:.9375rem; }
/* Existing service and intake pages retain their complete content and form logic. */
.cleaning-modern .hero-alt { background:#102f49; color:#fff; padding:56px 0; }
.cleaning-modern .hero-alt h1 { color:#fff; font-size:clamp(2.4rem,4vw,3.7rem); letter-spacing:-.04em; line-height:1.1; font-weight:650; }
.cleaning-modern .hero-alt :is(.lead,.muted) { color:#c8dbea; }
.cleaning-modern .hero-alt .kicker { color:#b4e2ff; background:transparent; border:0; padding:0; }
.cleaning-modern .hero-alt .btn-primary { background:#d2e9ff; border-color:#d2e9ff; color:#123c60; }
.cleaning-modern .hero-alt .btn-ghost { color:#fff; border-color:#8ba4b9; }
.cleaning-modern .hero-alt .btn-ghost:hover { background:#1d4361; }
.cleaning-modern .section { padding-top:64px; padding-bottom:64px; }
.cleaning-modern .section h2 { letter-spacing:-.03em; }
.cleaning-modern :is(.card,.services-hub-service-card,.hub-priority-card,.quote-request-form-card,.contact-form-card) { border-radius:8px; box-shadow:none; }
.cleaning-modern :is(input,select,textarea) { border-radius:5px; font-size:1rem; }
.cleaning-modern :is(.quote-request-fieldset,.contact-fieldset) { border-radius:6px; }
.clean-finder-prompt { padding-block:22px; color:#506776; font-size:1rem; margin-block:0; }
.clean-finder-prompt a { color:#1757b4; font-weight:600; }
/* The finder produces service direction, never prices or a binding scope. */
.clean-finder { background:#f2f6fa; color:#122e48; padding:52px 0 70px; }
.clean-finder__intro { max-width:760px; margin-bottom:32px; }
.clean-finder h1 { color:#122e48; font-size:clamp(2.4rem,4vw,3.6rem); letter-spacing:-.045em; line-height:1.08; margin:0 0 20px; }
.clean-finder__intro > p:not(.clean-kicker) { color:#506776; font-size:1.0625rem; line-height:1.75; }
.clean-finder__grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:28px; align-items:start; }
.clean-finder__questions,.clean-finder__result { background:#fff; padding:32px; border:1px solid #cbd9e3; border-radius:8px; }
.clean-finder__questions h2,.clean-finder__result h2 { color:#122e48; font-size:1.5rem; margin:0 0 24px; letter-spacing:-.025em; }
.clean-finder__questions label { display:block; font-size:1rem; font-weight:650; color:#122e48; margin:22px 0 10px; }
.clean-finder__questions select { display:block; width:100%; min-height:50px; background:#fff; color:#122e48; border:1px solid #849caf; padding:12px 35px 12px 12px; }
.clean-finder__questions .btn { margin-top:26px; width:100%; }
.clean-finder__questions .clean-finder__privacy { font-size:.875rem; line-height:1.65; color:#506776; margin-bottom:0; }
.clean-finder__result { border-top:4px solid #1757b4; min-height:380px; }
.clean-finder__result .clean-kicker { color:#1757b4; margin-bottom:16px; }
.clean-finder__result h3 { font-size:1.8rem; color:#122e48; line-height:1.25; margin:12px 0 18px; }
.clean-finder__result p,.clean-finder__result li { font-size:1rem; line-height:1.75; color:#506776; }
.clean-finder__result li { margin-bottom:8px; }
.clean-finder__result a:not(.btn) { color:#1757b4; text-underline-offset:4px; }
.clean-finder__result .btn { margin:20px 0 14px; }
.clean-finder__result [data-finder-note] { padding-top:18px; border-top:1px solid #d2dde6; font-size:.875rem; }
.clean-finder__directory { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 30px; }
.clean-finder__directory a { padding:20px 0; border-bottom:1px solid #d2dde6; color:#1757b4; font-size:1rem; font-weight:600; }
@media (max-width:980px) {
  .clean-heading--split { gap:24px; }
  .clean-paths { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .clean-paths a:nth-child(3) { border-left:0; }
  .cleaning-modern.page-home .home-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .clean-explorer__layout { grid-template-columns:1fr 1fr; }
  .clean-explorer__panel { padding:25px; }
  .clean-explorer__stage { min-height:540px; }
  .cleaning-modern .ots-showcase-row { gap:30px; }
  .clean-finder-banner > .container,.clean-close > .container { flex-direction:column; align-items:start; gap:24px; }
  .clean-finder__grid { gap:20px; }
  .clean-finder__questions,.clean-finder__result { padding:24px; }
}
@media (max-width:680px) {
  .clean-section { padding:54px 0; }
  .clean-heading--split { display:block; }
  .clean-heading--split > p { margin-top:22px; }
  .clean-heading h2 { font-size:2rem; }
  .clean-paths a { padding:19px 10px; font-size:.875rem; gap:8px; }
  .clean-process,.clean-resource-grid { grid-template-columns:1fr; gap:28px; }
  .cleaning-modern.page-home .home-service-grid { grid-template-columns:1fr; }
  .cleaning-modern.page-home #home-services { padding:54px 0; }
  .clean-explorer__layout { grid-template-columns:1fr; }
  .clean-explorer__stage { min-height:360px; }
  .clean-explorer__panel { padding:24px; }
  .clean-explorer__status { left:20px; right:20px; font-size:.8125rem; }
  .clean-explorer__start { left:20px; }
  .clean-finder-banner { padding:36px 0; }
  .cleaning-modern .ots-showcase,.cleaning-modern .home-faq { padding:54px 0; }
  .cleaning-modern .section { padding-top:48px; padding-bottom:48px; }
  .cleaning-modern .hero-alt { padding:40px 0; }
  .clean-finder { padding:36px 0 44px; }
  .clean-finder__grid,.clean-finder__directory { grid-template-columns:1fr; }
  .clean-finder__questions,.clean-finder__result { padding:24px 20px; }
  .clean-finder__result { min-height:0; }
}
/* Make the next action visible without scrolling through duplicate introductions. */
body.cleaning-modern { padding:0; }
.clean-page-hero { background:#102f49; color:#fff; padding:48px 0; }
.clean-page-hero .clean-kicker { color:#b4e2ff; margin-bottom:18px; }
.clean-page-hero h1 { color:#fff; font-size:clamp(2.35rem,4vw,3.6rem); line-height:1.1; letter-spacing:-.04em; max-width:28ch; margin:0 0 20px; font-weight:650; }
.clean-page-hero__lead { max-width:65ch; color:#c8dbea; font-size:1.0625rem; line-height:1.75; margin:0; }
.clean-page-hero__actions { display:flex; gap:14px; flex-wrap:wrap; margin-top:26px; }
.clean-page-hero .btn-primary { color:#123c60; background:#d2e9ff; border-color:#d2e9ff; }
.clean-page-hero .btn-ghost { color:#fff; border-color:#8ba4b9; }
.clean-page-hero .btn-ghost:hover { background:#1d4361; }
.cleaning-modern.page-services .services-hub-proof-band { margin-top:0; padding-top:32px; }
.cleaning-modern.page-services .services-hub-proof-band__shell { box-shadow:none; border-radius:8px; }
.cleaning-modern.page-services .services-hub-compare .muted { color:#506776; }
.cleaning-modern.page-quote-request .quote-request-entry { padding-top:20px; }
.cleaning-modern.page-quote-request .quote-request-form-card__intro h2 { max-width:28ch; font-size:1.8rem; }
.cleaning-modern.page-quote-request .quote-request-entry__grid { grid-template-columns:minmax(0,1fr) 310px; }
.cleaning-modern.page-quote-request .quote-request-form-card { max-width:none; }
.cleaning-modern.page-quote-request .quote-request-sidebar { grid-template-columns:1fr; }
.cleaning-modern .ots-showcase-eyebrow { color:#16603a; }
.cleaning-modern .mock-avatar.a,.cleaning-modern .mock-avatar.c { color:#102f49; }
.cleaning-modern .mock-check { background:#167547; }
.cleaning-modern .mock-x { background:#bc2d36; }
.cleaning-modern .mock-btn.outline { color:#16603a; }
.cleaning-modern .mock-pill.yellow { color:#815005; }
@media (max-width:980px) { .cleaning-modern.page-quote-request .quote-request-entry__grid { grid-template-columns:1fr; } .cleaning-modern.page-quote-request .quote-request-sidebar { grid-template-columns:1fr 1fr; } }
@media (max-width:680px) { .clean-page-hero { padding:36px 0; } .clean-page-hero__actions { flex-direction:column; } .cleaning-modern.page-quote-request .quote-request-sidebar { grid-template-columns:1fr; } }
.cleaning-modern .section-header .muted { color:#506776; }
.cleaning-modern .hero-alt h1 { max-width:22ch; }
.cleaning-modern .hero-alt .lead { max-width:56ch; font-size:1.0625rem; line-height:1.75; }
.cleaning-modern .hero-alt :is(.janitorial-hero__grid,.medicaloffice-hero__grid,.floorcare-hero__grid) { gap:44px; }
.cleaning-modern :is(.janitorial-hero__eyebrow,.medicaloffice-hero__eyebrow,.floorcare-hero__eyebrow) { font-size:.875rem; line-height:1.6; }
.cleaning-modern :is(.janitorial-hero__panel,.medicaloffice-hero__panel,.floorcare-hero__panel,.services-hub-service-card,.services-hub-feature-card,.contact-form-card,.contact-sidebar-card,.quote-request-sidebar-card) { border-radius:8px; box-shadow:none; }
.cleaning-modern .ots-showcase .mock-score-ring-inner { color:#16603a; }
.cleaning-modern .ots-showcase .mock-check { background:#167547; }
.cleaning-modern .ots-showcase .mock-x { background:#bc2d36; }
.cleaning-modern .ots-showcase .mock-btn.outline { color:#16603a; }
.cleaning-modern .ots-showcase .mock-pill.yellow { color:#815005; }
.clean-explorer__status { width:fit-content; background:#102f49; padding:5px 9px; border-radius:3px; }
.clean-explorer__stage[data-ready] .clean-explorer__status { background:#e6eef0; }
.cleaning-modern .ots-showcase .mock-photo > span { background:#102f49; color:#fff; padding:2px 5px; border-radius:2px; }
.cleaning-modern .ots-showcase .mock-timeline-item[style*="opacity"] { opacity:1 !important; }
body.cleaning-modern { --hub-muted:#506776; --wf-muted:#506776; --fc-muted:#506776; }
.clean-service-hero { background:#102f49; color:#fff; padding:48px 0 56px; }
.clean-service-hero__grid { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:54px; }
.clean-service-hero .clean-kicker { color:#b4e2ff; }
.clean-service-hero h1 { color:#fff; font-size:clamp(2.4rem,4vw,3.6rem); line-height:1.12; letter-spacing:-.04em; font-weight:650; margin:0 0 22px; }
.clean-service-hero__lead { color:#c8dbea; font-size:1.0625rem; line-height:1.8; max-width:55ch; margin:0; }
.clean-service-hero__note { color:#c8dbea; font-size:.875rem; margin:22px 0 0; line-height:1.65; }
.clean-service-hero .btn-primary { background:#d2e9ff; border-color:#d2e9ff; color:#123c60; }
.clean-service-hero .btn-ghost { color:#fff; border-color:#8ba4b9; }
.clean-service-hero .btn-ghost:hover { background:#1d4361; }
.clean-service-hero__photo { margin:0; border-radius:8px; overflow:hidden; background:#fff; }
.clean-service-hero__photo img { display:block; width:100%; height:390px; object-fit:cover; }
.clean-service-hero__photo figcaption { background:#fff; color:#122e48; padding:16px 20px; font-size:.875rem; line-height:1.6; }
@media (max-width:980px) { .clean-service-hero__grid { gap:30px; } .clean-service-hero__photo img { height:350px; } }
@media (max-width:680px) { .clean-service-hero { padding:34px 0 42px; } .clean-service-hero__grid { grid-template-columns:1fr; } .clean-service-hero__photo img { height:260px; } }
.cleaning-modern.page-home .home-service-grid { display:grid; overflow:visible; scroll-snap-type:none; padding-bottom:0; }
.cleaning-modern.page-home .home-service-card { min-width:0; max-width:none; width:auto; }
.clean-finder__result [data-finder-title] { font-size:clamp(1.5rem,2.2vw,1.85rem); line-height:1.25; }
.clean-finder__result h3 { font-size:1.125rem; margin:24px 0 12px; }
.clean-explorer__rotate button { font-size:1.35rem; font-weight:600; }
/* Shared editorial layouts and the remaining public pages. */
.clean-editorial main { color:#122e48; }
.clean-industry-hero { padding:58px 0; background:#edf3f9; color:#122e48; }
.clean-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:56px; align-items:center; }
.clean-industry-hero h1 { color:#122e48; font-size:clamp(2.6rem,4.6vw,4.2rem); line-height:1.08; letter-spacing:-.045em; font-weight:650; margin:0 0 26px; }
.clean-industry-lead { font-size:1.125rem; color:#506776; line-height:1.8; max-width:52ch; }
.clean-small { font-size:.875rem; color:#506776; line-height:1.7; margin:24px 0 0; }
.clean-tint { background:#f2f6fa; }
.clean-story-photo { margin:0; overflow:hidden; border-radius:8px; background:#dce6ec; }
.clean-story-photo img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
.clean-industry-hero .clean-story-photo img { aspect-ratio:1.12; }
.clean-story-photo figcaption { background:#fff; color:#506776; padding:16px 20px; font-size:.875rem; line-height:1.65; }
.clean-detail-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px; }
.clean-detail { padding:26px 0 8px; border-top:1px solid #bacbd8; min-width:0; }
.clean-number { color:#1757b4; font-size:.875rem; }
.clean-detail h3,.clean-prose h3 { color:#122e48; font-size:1.5rem; line-height:1.3; letter-spacing:-.025em; margin:20px 0 14px; }
.clean-detail p,.clean-prose p,.clean-intro-text { color:#506776; font-size:1rem; line-height:1.8; }
.clean-link { color:#1757b4; font-size:1rem; line-height:1.65; font-weight:650; text-underline-offset:5px; display:inline-block; margin-top:12px; }
.clean-compare { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.clean-compare article { background:#fff; border:1px solid #c7d7e2; border-top:4px solid #1757b4; border-radius:6px; padding:32px; }
.clean-compare article > span { color:#1c694b; font-size:.875rem; font-weight:650; }
.clean-compare h3,.clean-brief h3 { color:#122e48; font-size:1.6rem; letter-spacing:-.025em; margin:18px 0; line-height:1.25; }
.clean-compare p,.clean-compare li,.clean-brief p,.clean-brief li { font-size:1rem; line-height:1.8; color:#506776; }
.clean-compare ul,.clean-brief ul { padding-left:22px; margin:20px 0 0; }
.clean-compare li,.clean-brief li { padding-left:4px; margin:8px 0; }
.clean-brief { background:#edf3f9; color:#122e48; padding:30px; border-radius:6px; border:1px solid #c7d7e2; }
.clean-brief h3 { margin-top:0; }
.clean-faq-list { max-width:960px; }
.clean-faq-list .faq-item { margin:0 0 12px; border:1px solid #c7d7e2; border-radius:6px; box-shadow:none; background:#fff; }
.clean-faq-list .faq-summary { color:#122e48; padding:22px 24px; font-size:1rem; font-weight:650; line-height:1.65; }
.clean-faq-list .faq-body { padding:0 24px 24px; color:#506776; font-size:1rem; line-height:1.8; }
.clean-work-nav { display:flex; flex-wrap:wrap; gap:28px; padding:22px 0; border-bottom:1px solid #d2dde6; }
.clean-work-nav a { color:#1757b4; font-size:1rem; padding:8px 0; text-underline-offset:5px; }
.clean-work-photos { display:grid; grid-template-columns:1fr 1.45fr; gap:26px; align-items:start; }
.clean-work-photos .clean-story-photo:first-child img { aspect-ratio:3/4; }
.clean-work-caption { display:grid; grid-template-columns:2fr 1fr; align-items:start; gap:48px; margin-top:24px; }
.clean-work-caption p { font-size:1rem; color:#506776; line-height:1.8; margin:0; }
.clean-team-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; }
.clean-team-person { border-top:1px solid #bacbd8; padding-top:28px; }
.clean-initials { width:66px; height:66px; display:grid; place-items:center; border-radius:50%; background:#d2e9ff; color:#123c60; font-size:1.4rem; font-weight:600; }
.clean-team-person h3 { color:#122e48; font-size:1.4rem; margin:24px 0 8px; }
.clean-team-person p { color:#506776; font-size:1rem; line-height:1.75; }
.clean-team-person .clean-role { color:#1c694b; font-weight:650; font-size:.875rem; margin:0 0 20px; }
.clean-feature-pair { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.clean-feature { display:block; color:#122e48; text-decoration:none; border:1px solid #c7d7e2; border-radius:8px; overflow:hidden; }
.clean-feature .clean-story-photo { border-radius:0; }
.clean-feature .clean-story-photo img { aspect-ratio:16/9; }
.clean-feature > div { padding:30px; }
.clean-feature h3 { font-size:1.8rem; color:#122e48; margin:0 0 16px; }
.clean-feature p { color:#506776; font-size:1rem; line-height:1.75; }
.clean-feature strong { color:#1757b4; font-size:1rem; text-decoration:underline; text-underline-offset:5px; }
.clean-feature:hover { border-color:#1757b4; }
.clean-city-directory { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0 30px; margin-top:32px; }
.clean-city-directory a { color:#1757b4; font-size:1rem; padding:18px 0; border-bottom:1px solid #c7d7e2; text-underline-offset:5px; }
.cleaning-complete main { --text-muted:#506776; --muted:#506776; color:#122e48; }
.cleaning-complete main .section { background:#fff; color:#122e48; }
.cleaning-complete main .section.strip { background:#f2f6fa; }
.cleaning-complete main .section :is(h2,h3,h4) { color:#122e48; }
.cleaning-complete main .section p,.cleaning-complete main .section li { font-size:1rem; line-height:1.8; }
.cleaning-complete main .section :is(p,li,.muted,.faq-body) { color:#506776; }
.cleaning-complete main .section :is(article,[class*="-card"],[class*="__panel"],[class*="-note"],[class$="__band"],[class$="-band"]) { background:#fff; color:#122e48; box-shadow:none; border-radius:8px; border-color:#c7d7e2; }
.cleaning-complete main .section :is(article,[class*="-card"],[class*="__panel"])::before { display:none; }
.cleaning-complete main .section :is(.kicker,[class*="__eyebrow"],[class*="__label"],[class*="__count"]) { background:none; color:#1c694b; font-size:.875rem; }
.cleaning-complete main .section a:not(.btn) { color:#1757b4; }
.cleaning-complete main .section .btn-primary { color:#fff; background:#1c694b; border-color:#1c694b; }
.cleaning-complete main .section .btn-ghost { color:#183d54; background:#fff; border-color:#9eafb9; }
.cleaning-complete main .section .faq-summary { color:#122e48; font-size:1rem; }
.cleaning-complete main .section :is([class*="-card"],[class*="__panel"]) :is(h2,h3,h4) { color:#122e48 !important; }
.cleaning-complete .hero-alt .card { background:#fff; color:#122e48; }
.cleaning-complete .hero-alt .card :is(h2,h3,.muted,p) { color:#506776; }
.cleaning-complete .hero-alt .breadcrumbs :is(a,span) { color:#c8dbea; }
.cleaning-modern .hero-alt a:not(.btn) { color:#b4e2ff; text-underline-offset:4px; }
.cleaning-complete .legal-hero { background:#102f49; }
.cleaning-complete .legal-hero__grid { align-items:start; gap:40px; }
.cleaning-complete .legal-hero__panel { background:#fff; color:#122e48; border:1px solid #c7d7e2; border-radius:8px; }
.cleaning-complete .legal-hero__panel :is(h2,h3,strong) { color:#122e48; }
.cleaning-complete .legal-hero__panel :is(span,p) { color:#506776; }
.cleaning-complete .legal-hero__panel-card { background:#f2f6fa; border-color:#d2dde6; }
.cleaning-complete .legal-hero__chips li { color:#d2e9ff; background:none; border-color:#6d869d; }
.cleaning-complete .legal-hero :is(.legal-hero__meta,.legal-hero__meta a,.legal-breadcrumbs,.legal-breadcrumbs a) { color:#c8dbea; }
.cleaning-complete .faq-chipbar .chip { background:#fff; border:1px solid #9eafb9; color:#183d54; min-height:44px; }
.cleaning-complete .faq-chipbar .chip.is-active { background:#1757b4; color:#fff; border-color:#1757b4; }
.cleaning-complete .faq-empty[hidden] { display:none !important; }
.cleaning-modern .site-footer a[href="/our-work/"] { display:block; }
.clean-portal-demo { background:#f2f6fa; border:1px solid #bacbd8; border-radius:10px; margin:0; min-width:0; overflow:hidden; box-shadow:0 12px 35px #122e4810; }
.clean-portal-demo > figcaption { background:#102f49; color:#fff; display:flex; flex-wrap:wrap; gap:8px 20px; justify-content:space-between; align-items:center; padding:18px 22px; font-size:.875rem; line-height:1.6; }
.clean-portal-demo > figcaption > span { color:#c8dbea; font-size:.75rem; }
.clean-portal-demo__body { padding:26px; }
.clean-demo-heading { display:flex; gap:18px; justify-content:space-between; align-items:start; margin-bottom:24px; }
.clean-demo-label { color:#506776; font-size:.75rem; text-transform:uppercase; letter-spacing:.06em; }
.clean-demo-heading h3 { color:#122e48; font-size:1.25rem; line-height:1.3; margin:10px 0 8px; }
.clean-demo-heading p { color:#506776; font-size:.875rem; line-height:1.6; margin:0; }
.clean-demo-badge { display:block; padding:6px 9px; background:#d2e9ff; color:#123c60; border-radius:4px; font-size:.75rem; white-space:nowrap; }
.clean-demo-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:20px; }
.clean-demo-stats > div { background:#fff; border:1px solid #d2dde6; padding:16px 12px; border-radius:6px; }
.clean-demo-stats strong { display:block; font-size:1.65rem; color:#122e48; line-height:1.2; }
.clean-demo-stats span { display:block; font-size:.75rem; color:#506776; margin-top:8px; line-height:1.6; }
.clean-demo-record { background:#fff; padding:17px 14px; display:flex; align-items:center; justify-content:space-between; gap:14px; border-bottom:1px solid #d2dde6; }
.clean-demo-record strong { display:block; font-size:.875rem; line-height:1.5; color:#122e48; }
.clean-demo-record div > span { display:block; color:#506776; font-size:.75rem; margin-top:6px; line-height:1.6; }
.clean-demo-status { display:block; background:#fff0d2; color:#795004; padding:5px 8px; border-radius:4px; font-size:.75rem; white-space:nowrap; }
.clean-demo-status--green { background:#dcefe5; color:#175538; }
.clean-demo-note { background:#e2ebf6; color:#34516b; padding:16px; font-size:.875rem; line-height:1.75; margin:18px 0 0; border-radius:5px; }
.clean-demo-timeline { list-style:none; margin:0; padding:0; }
.clean-demo-timeline li { border-left:2px solid #87a7c1; padding:0 0 24px 20px; }
.clean-demo-timeline li:last-child { padding-bottom:0; }
.clean-demo-timeline strong { color:#122e48; font-size:.875rem; }
.clean-demo-timeline p { color:#506776; font-size:.875rem; line-height:1.75; margin:8px 0 0; }
.clean-portal-examples { display:grid; gap:64px; }
@media (max-width:980px) {
 .clean-split { gap:30px; }
 .clean-detail-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
 .clean-city-directory { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .clean-work-caption { grid-template-columns:1fr; gap:10px; }
 .clean-team-grid { gap:24px; }
}
@media (max-width:680px) {
 .clean-industry-hero { padding:38px 0 42px; }
 .clean-split,.clean-compare,.clean-work-photos,.clean-feature-pair,.clean-team-grid,.clean-detail-grid { grid-template-columns:1fr; gap:28px; }
 .clean-industry-hero h1 { font-size:clamp(2.35rem,10vw,3.3rem); }
 .clean-industry-hero .clean-story-photo img { aspect-ratio:4/3; }
 .clean-industry-lead { font-size:1rem; }
 .clean-portal-demo__body { padding:18px; }
 .clean-demo-stats { gap:6px; }
 .clean-demo-stats > div { padding:14px 9px; }
 .clean-demo-heading { flex-wrap:wrap; }
 .clean-demo-record { gap:8px; padding:16px 10px; flex-wrap:wrap; }
 .cleaning-complete .legal-table-wrap table { width:100%; min-width:0; table-layout:fixed; }
 .cleaning-complete .legal-table-wrap :is(td,th) { padding:12px; overflow-wrap:anywhere; }
 .cleaning-complete table.clean-mobile-table { display:block; width:100%; min-width:0; }
 .cleaning-complete .clean-mobile-table thead { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
 .cleaning-complete .clean-mobile-table :is(tbody,tr,td) { display:block; width:100%; min-width:0; }
 .cleaning-complete .clean-mobile-table tr { border:1px solid #c7d7e2; margin-bottom:20px; background:#fff; border-radius:6px; }
 .cleaning-complete .clean-mobile-table td { padding:16px; border:none; overflow-wrap:anywhere; }
 .cleaning-complete .clean-mobile-table td::before { content:attr(data-label); display:block; font-size:.875rem; font-weight:700; color:#122e48; margin-bottom:6px; }
 .clean-city-directory { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 22px; }
 .clean-work-nav { gap:12px 24px; }
 .clean-compare article,.clean-brief,.clean-feature > div { padding:24px; }
 .cleaning-complete .legal-hero__grid { grid-template-columns:1fr; }
}
