/* Scoped to the cleaning landing page. */
body:not([data-hub]) .hero { min-height: 0 !important; padding: 72px 0 56px !important; }
body:not([data-hub]) .hero-content { max-width: 850px !important; }
body:not([data-hub]) .hero-title { font-size: clamp(2rem, 4.6vw, 3.75rem) !important; line-height: 1.12 !important; letter-spacing: -.035em !important; }
body:not([data-hub]) .hero-subtitle { max-width: 640px; margin: 0 auto 1.5rem !important; font-size: 1.125rem !important; }
.hero-eyebrow { color: white; font-size: .875rem; font-weight: 600; margin-bottom: 1rem; }
.hero-reassurance { color: white; margin-top: 1.25rem; font-size: .875rem; }
.hero .hero-buttons { flex-wrap: wrap; }
.services-section { padding: 48px 0; }
.services-section .section-header { margin-bottom: 24px; }
.svc-tabs { gap: .5rem; margin-bottom: 24px; }
.svc-tab { font-size: .875rem; }
.famille-header { margin: 28px 0 14px; }
.famille-tag, .famille-note { font-size: .875rem; }
.svc-grid { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 32px) / 3); grid-template-columns: none; gap: 16px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: 2px; padding: 4px 2px 16px; scrollbar-width: thin; scrollbar-color: #2563eb #e2e8f0; }
.svc-card { min-width: 0; scroll-snap-align: start; border: 1px solid #dbe3ef; border-radius: 16px; box-shadow: 0 3px 12px #1234670a; opacity: 1 !important; transform: none !important; filter: none !important; visibility: visible !important; }
.svc-card:hover { transform: none; }
.svc-card-img { height: 136px; }
.svc-card-head { padding: 16px; }
.svc-body { padding: 14px 16px; }
.svc-emo { display: none; }
.svc-desc { font-size: 1rem; line-height: 1.5; }
.svc-name { font-size: 1.125rem; }
.svc-famille-label, .svc-hint { font-size: .875rem; }
.svc-footer { padding: 12px 16px; flex-wrap: wrap; }
.svc-btn { font-size: .875rem; min-height: 44px; }
.rail-controls { display: flex; gap: 8px; margin-left: auto; }
.rail-controls button { width: 44px; height: 44px; border: 1px solid #cbd5e1; border-radius: 50%; background: white; color: #174ea6; font-size: 1.25rem; cursor: pointer; }
.rail-controls button:disabled { opacity: .35; cursor: default; }
.rail-controls button:hover:enabled { background: #eff6ff; }
.svc-grid:focus-visible, .svc-tab:focus-visible, .rail-controls button:focus-visible { outline: 3px solid #2563eb; outline-offset: 3px; }
.famille-group, .svc-card[id], .famille-header[id] { scroll-margin-top: 100px; }
@media (max-width: 950px) { .svc-grid { grid-auto-columns: calc((100% - 16px) / 2); } }
@media (max-width: 600px) {
  body:not([data-hub]) .hero { padding: 48px 0 36px !important; }
  body:not([data-hub]) .hero-subtitle { font-size: 1rem !important; }
  .hero .hero-buttons { display: flex; gap: 12px; }
  .hero .hero-buttons .btn { width: 100%; margin: 0; }
  .svc-grid { grid-auto-columns: 88%; }
  .svc-tabs { flex-wrap: nowrap; overflow-x: auto; padding: 4px 2px 12px; }
  .svc-tab { flex-shrink: 0; }
  .famille-header { gap: 8px; }
  .famille-line { display: none; }
  .famille-tag { white-space: normal; padding: 6px 10px; }
  .services-section { padding: 36px 0; }
}
@media (prefers-reduced-motion: reduce) { .svc-card, .svc-card img { transition: none !important; } }
