/* ============================================================
   Maple Standard Cleaning — app styles
   Scoped under .usc-page to avoid clashing with WP defaults.
   ============================================================ */

body.usc-page { line-height: 1.6; }
.usc-page h1, .usc-page h2, .usc-page h3 { line-height: 1.15; }

.usc-container { max-width: 1160px; margin: 0 auto; padding: 0 24px; }

/* ---- Site chrome ---- */
.usc-site-header {
	background: rgba(255,255,255,.9); backdrop-filter: saturate(140%) blur(8px);
	border-bottom: 1px solid var(--usc-line);
	position: sticky; top: 0; z-index: 40;
}
.usc-header-inner { display: flex; align-items: center; justify-content: space-between; height: 72px; }
.usc-brand {
	font-family: var(--usc-display);
	font-weight: 700; font-size: 22px; color: var(--usc-deep);
	text-decoration: none; letter-spacing: -.01em;
}
.usc-brand-mark { color: var(--usc-sun); }
.usc-logo-link { display: inline-flex; align-items: center; }
.usc-logo-img { height: 52px; width: auto; display: block; }
.custom-logo { height: 52px; width: auto; }
.usc-menu { list-style: none; display: flex; gap: 22px; margin: 0; padding: 0; }
.usc-menu a { color: var(--usc-ink); text-decoration: none; font-weight: 500; }
.usc-menu a:hover { color: var(--usc-brand); }

/* Hamburger — hidden on desktop, shown under 720px. */
.usc-nav-toggle {
	display: none; width: 44px; height: 44px; border: 0; background: transparent;
	cursor: pointer; padding: 10px; margin: -10px -8px -10px 0;
}
.usc-nav-toggle span {
	display: block; height: 2px; background: var(--usc-deep); border-radius: 2px;
	transition: transform .2s, opacity .2s;
}
.usc-nav-toggle span + span { margin-top: 5px; }

.usc-main { min-height: 60vh; padding: 40px 0 64px; }
.usc-content { padding-top: 8px; }
.usc-page-title { font-family: var(--usc-display); color: var(--usc-deep); font-size: 34px; }
/* Home hero sits flush under the header. */
.home .usc-main, body.page-template-front-page .usc-main, body.usc-commercial-page .usc-main { padding: 0; }

/* ---- Booking layout ---- */
.usc-booking-wrap { display: block; }
.usc-booking-intro { margin-bottom: 26px; }
.usc-booking-intro h1 { font-family: var(--usc-display); color: var(--usc-deep); }

.usc-app { position: relative; }
.usc-app-loading { display: flex; align-items: center; gap: 10px; color: var(--usc-muted); padding: 40px 0; }
.usc-spinner {
	width: 18px; height: 18px; border-radius: 50%;
	border: 2px solid var(--usc-mint-line); border-top-color: var(--usc-brand);
	animation: usc-spin .8s linear infinite; display: inline-block;
}
@keyframes usc-spin { to { transform: rotate(360deg); } }
.usc-noscript { background: #fff4d6; border: 1px solid var(--usc-sun); padding: 14px 16px; border-radius: var(--usc-radius-sm); }

/* Two-column: steps + sticky summary */
.usc-grid { display: grid; grid-template-columns: 1fr 340px; gap: 28px; align-items: start; }

/* ---- Stepper ---- */
.usc-steps { display: flex; gap: 8px; margin-bottom: 24px; flex-wrap: wrap; }
.usc-step-pill {
	display: flex; align-items: center; gap: 8px;
	font-size: 13px; font-weight: 600; color: var(--usc-muted);
	background: var(--usc-paper); border: 1px solid var(--usc-line);
	padding: 8px 12px; border-radius: 999px;
}
.usc-step-pill .n {
	width: 20px; height: 20px; border-radius: 50%;
	background: var(--usc-mint); color: var(--usc-deep);
	display: grid; place-items: center; font-size: 12px;
}
.usc-step-pill.is-active { color: var(--usc-deep); border-color: var(--usc-mint-line); background: var(--usc-mint); }
.usc-step-pill.is-active .n { background: var(--usc-brand); color: #fff; }
.usc-step-pill.is-done .n { background: var(--usc-ok); color: #fff; }

/* ---- Panels ---- */
.usc-panel {
	background: var(--usc-paper); border: 1px solid var(--usc-line);
	border-radius: var(--usc-radius); box-shadow: var(--usc-shadow-sm);
	padding: 24px;
}
.usc-panel h2 { font-family: var(--usc-display); color: var(--usc-deep); margin: 0 0 4px; font-size: 24px; }
.usc-panel .sub { color: var(--usc-muted); margin: 0 0 20px; }

/* ---- Tier toggle ---- */
.usc-tier { display: inline-flex; background: var(--usc-mist); border: 1px solid var(--usc-line); border-radius: 999px; padding: 4px; margin-bottom: 20px; }
.usc-tier button {
	border: 0; background: transparent; padding: 8px 20px; border-radius: 999px;
	font-weight: 600; color: var(--usc-muted); cursor: pointer;
}
.usc-tier button.is-on { background: var(--usc-paper); color: var(--usc-deep); box-shadow: var(--usc-shadow-sm); }

/* ---- Service cards ---- */
.usc-svc-group { margin-bottom: 22px; }
.usc-svc-group h3 { font-size: 14px; text-transform: uppercase; letter-spacing: .04em; color: var(--usc-muted); margin: 0 0 10px; }
.usc-svc-list { display: grid; gap: 10px; }
.usc-svc {
	display: grid; grid-template-columns: 1fr auto; gap: 8px 16px; align-items: start;
	border: 1px solid var(--usc-line); border-radius: var(--usc-radius-sm);
	padding: 14px 16px; cursor: pointer; transition: border-color .15s, background .15s;
}
.usc-svc:hover { border-color: var(--usc-mint-line); }
.usc-svc.is-selected { border-color: var(--usc-brand); background: var(--usc-mint); }
.usc-svc-name { font-weight: 600; color: var(--usc-ink); }
.usc-svc-unit { color: var(--usc-muted); font-size: 13px; }
.usc-svc-right { display: flex; align-items: center; gap: 12px; }
.usc-svc-price { font-weight: 700; color: var(--usc-deep); white-space: nowrap; }
.usc-qty { display: flex; align-items: center; gap: 6px; }
.usc-qty button { width: 28px; height: 28px; border-radius: 6px; border: 1px solid var(--usc-line); background: var(--usc-paper); cursor: pointer; font-size: 16px; line-height: 1; }
.usc-qty input { width: 42px; text-align: center; border: 1px solid var(--usc-line); border-radius: 6px; height: 28px; }
.usc-check { width: 22px; height: 22px; border-radius: 6px; border: 2px solid var(--usc-mint-line); display: grid; place-items: center; color: #fff; }
.usc-svc.is-selected .usc-check { background: var(--usc-brand); border-color: var(--usc-brand); }

/* ---- Form fields ---- */
.usc-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.usc-field { display: flex; flex-direction: column; gap: 6px; }
.usc-field.full { grid-column: 1 / -1; }
.usc-field label { font-size: 13px; font-weight: 600; color: var(--usc-ink); }
.usc-field .req { color: var(--usc-err); }
.usc-field input, .usc-field textarea, .usc-field select {
	border: 1px solid var(--usc-line); border-radius: var(--usc-radius-sm);
	padding: 11px 12px; font: inherit; background: var(--usc-paper); width: 100%;
}
.usc-field input:focus, .usc-field textarea:focus { outline: 2px solid var(--usc-brand); outline-offset: 1px; border-color: var(--usc-brand); }
.usc-field.has-error input { border-color: var(--usc-err); }
.usc-field input[readonly] { background: #f3f5f7; color: var(--usc-ink); cursor: default; }
.usc-field .usc-field-hint { font-size: 12px; font-weight: 400; color: var(--usc-muted, #667085); margin: 0; }
.usc-addr-wrap { position: relative; z-index: 5; }
.usc-addr-suggest {
	position: absolute; left: 0; right: 0; top: 100%;
	z-index: 80; max-height: 260px; overflow: auto;
	margin-top: 4px;
	background: #fff; border: 1px solid var(--usc-line);
	border-radius: var(--usc-radius-sm); box-shadow: var(--usc-shadow);
}
.usc-addr-suggest__item {
	display: block; width: 100%; text-align: left;
	padding: 10px 12px; border: 0; background: transparent;
	font: inherit; font-size: 14px; color: var(--usc-ink); cursor: pointer;
	border-bottom: 1px solid var(--usc-line);
}
.usc-addr-suggest__item:last-child { border-bottom: 0; }
.usc-addr-suggest__item:hover,
.usc-addr-suggest__item.is-active { background: var(--usc-mint); }
/* Google Places dropdown above booking panels / modals */
.pac-container { z-index: 100000 !important; }
.usc-hp { position: absolute; left: -9999px; }

/* ---- Photo upload ---- */
.usc-photos { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 10px; }
.usc-svc-photos {
	grid-column: 1 / -1;
	width: 100%;
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px dashed var(--usc-line);
}
.usc-svc-photos-label { font-size: 12px; font-weight: 600; color: var(--usc-muted); margin-bottom: 6px; }
.usc-photo { width: 84px; height: 84px; border-radius: var(--usc-radius-sm); object-fit: cover; border: 1px solid var(--usc-line); }
.usc-add-photo {
	width: 84px; height: 84px; border: 2px dashed var(--usc-mint-line); border-radius: var(--usc-radius-sm);
	display: grid; place-items: center; color: var(--usc-brand); cursor: pointer; background: var(--usc-mist);
}

/* ---- Calendar ---- */
.usc-cal { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; margin-bottom: 16px; }
.usc-cal-head { display: flex; gap: 6px; margin-bottom: 6px; }
.usc-cal-head .dow { flex: 1 1 0; text-align: center; font-size: 12px; color: var(--usc-muted); font-weight: 600; padding: 4px 0; }
.usc-cal .dow { text-align: center; font-size: 12px; color: var(--usc-muted); font-weight: 600; padding: 4px 0; }
.usc-day {
	aspect-ratio: 1; min-height: 44px; border: 1px solid var(--usc-line); border-radius: 8px; background: var(--usc-paper);
	cursor: pointer; font-weight: 600; color: var(--usc-ink);
}
.usc-day:disabled { color: #c3cfcf; background: var(--usc-mist); cursor: not-allowed; border-color: transparent; }
.usc-day.is-open:hover { border-color: var(--usc-brand); }
.usc-day.is-selected { background: var(--usc-brand); color: #fff; border-color: var(--usc-brand); }
.usc-day.is-empty { border: 0; background: transparent; cursor: default; }
.usc-times { display: flex; flex-wrap: wrap; gap: 8px; }
.usc-time {
	border: 1px solid var(--usc-line); background: var(--usc-paper); border-radius: 999px;
	padding: 8px 14px; cursor: pointer; font-weight: 600; color: var(--usc-ink);
	display: inline-flex; align-items: center; gap: 8px;
}
.usc-time.is-selected { background: var(--usc-brand); color: #fff; border-color: var(--usc-brand); }
.usc-time-rate { font-style: normal; font-size: 11px; font-weight: 800; color: var(--usc-sun); }
.usc-time.is-selected .usc-time-rate { color: #ffe08a; }
.usc-time-explain { margin: 12px 0 0; font-size: 13px; font-weight: 600; color: var(--usc-deep); }
.usc-sched-chosen {
	display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px;
	margin: 0 0 16px; padding: 12px 14px;
	background: var(--usc-mist); border: 1px solid var(--usc-line);
	border-radius: var(--usc-radius-sm);
}
.usc-sched-chosen-label { color: var(--usc-muted); font-size: 13px; font-weight: 600; }
.usc-sched-chosen strong { color: var(--usc-deep); font-size: 15px; }
.usc-sched-change {
	margin-left: auto; border: 0; background: transparent; cursor: pointer;
	color: var(--usc-brand); font-weight: 700; font-size: 13px; text-decoration: underline;
}

/* ---- Summary sidebar ---- */
.usc-summary { position: sticky; top: 88px; }
.usc-summary .card { background: var(--usc-paper); border: 1px solid var(--usc-line); border-radius: var(--usc-radius); box-shadow: var(--usc-shadow); overflow: hidden; }
.usc-summary .head { background: var(--usc-deep); color: #fff; padding: 16px 20px; }
.usc-summary .head h3 { margin: 0; font-family: var(--usc-display); font-size: 18px; }
.usc-summary .body { padding: 16px 20px; }
.usc-line-item { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; font-size: 14px; border-bottom: 1px dashed var(--usc-line); }
.usc-line-item .nm { color: var(--usc-ink); }
.usc-line-item .amt { font-weight: 600; color: var(--usc-deep); white-space: nowrap; }
.usc-line-item.addon .nm { color: var(--usc-muted); }
.usc-empty { color: var(--usc-muted); font-size: 14px; padding: 10px 0; }
.usc-totals { margin-top: 12px; }
.usc-totals .row { display: flex; justify-content: space-between; padding: 4px 0; font-size: 14px; color: var(--usc-muted); }
.usc-totals .row.discount .v { color: var(--usc-ok); }
.usc-totals .row.grand { font-size: 20px; color: var(--usc-deep); font-weight: 700; padding-top: 12px; margin-top: 6px; border-top: 2px solid var(--usc-mint-line); }
.usc-min-warn { background: #fff4d6; border: 1px solid var(--usc-sun); color: #7a5200; font-size: 13px; padding: 10px 12px; border-radius: var(--usc-radius-sm); margin-top: 12px; }

.usc-promo { display: flex; gap: 8px; margin-top: 14px; }
.usc-promo input { flex: 1; border: 1px solid var(--usc-line); border-radius: var(--usc-radius-sm); padding: 9px 11px; font: inherit; }
.usc-promo button { border: 1px solid var(--usc-brand); background: var(--usc-paper); color: var(--usc-brand); border-radius: var(--usc-radius-sm); padding: 0 16px; font-weight: 600; cursor: pointer; }
.usc-promo-msg { font-size: 13px; margin-top: 6px; }
.usc-promo-msg.ok { color: var(--usc-ok); }
.usc-promo-msg.bad { color: var(--usc-err); }

/* ---- Nav buttons ---- */
.usc-actions { display: flex; justify-content: space-between; gap: 12px; margin-top: 24px; }
.usc-btn { border: 0; border-radius: var(--usc-radius-sm); padding: 13px 24px; font-weight: 700; cursor: pointer; font-size: 15px; }
.usc-btn-primary { background: var(--usc-sun); color: #fff; }
.usc-btn-primary:hover { background: var(--usc-sun-600); }
.usc-btn-primary:disabled { background: var(--usc-mint-line); cursor: not-allowed; }
.usc-btn-ghost { background: transparent; color: var(--usc-muted); border: 1px solid var(--usc-line); }
.usc-btn-ghost:hover { color: var(--usc-deep); border-color: var(--usc-mint-line); }

/* More-services confirm modal */
body.usc-modal-open { overflow: hidden; }
.usc-modal-overlay {
	position: fixed; inset: 0; z-index: 100000;
	background: rgba(12, 28, 28, .55);
	display: flex; align-items: center; justify-content: center;
	padding: 20px;
}
.usc-modal {
	width: 100%; max-width: 420px;
	background: var(--usc-paper); border-radius: var(--usc-radius);
	box-shadow: var(--usc-shadow-lg, 0 18px 50px rgba(0,0,0,.25));
	padding: 24px 22px 20px;
}
.usc-modal h3 {
	margin: 0 0 8px; font-family: var(--usc-display);
	font-size: 22px; color: var(--usc-deep);
}
.usc-modal p { margin: 0 0 20px; color: var(--usc-muted); font-size: 14px; line-height: 1.45; }
.usc-modal-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.usc-modal-actions .usc-btn { flex: 1 1 140px; }

.usc-save-hint { font-size: 12px; color: var(--usc-muted); text-align: right; margin-top: 8px; min-height: 16px; }

/* ---- Success ---- */
.usc-success { text-align: center; padding: 40px 20px; }
.usc-success .tick { width: 64px; height: 64px; border-radius: 50%; background: var(--usc-ok); color: #fff; display: grid; place-items: center; margin: 0 auto 18px; font-size: 32px; }
.usc-success h2 { font-family: var(--usc-display); color: var(--usc-deep); }
.usc-success .ref { display: inline-block; background: var(--usc-mint); color: var(--usc-deep); font-weight: 700; letter-spacing: .05em; padding: 8px 18px; border-radius: 999px; margin-top: 8px; }

.usc-error-banner { background: #fdecea; border: 1px solid var(--usc-err); color: #8a2c22; padding: 12px 14px; border-radius: var(--usc-radius-sm); margin-bottom: 16px; }

/* ---- Package cards (Standard Clean / Deep Clean / Intensive Treatment) ---- */
.usc-packages { display: flex; gap: 12px; margin: 4px 0 16px; }
.usc-packages-block { margin-bottom: 20px; }
.usc-pkg {
	flex: 1 1 0; min-width: 0;
	position: relative; border: 2px solid var(--usc-line); border-top: 5px solid var(--pkg, var(--usc-brand));
	border-radius: var(--usc-radius); padding: 16px 16px 14px; background: var(--usc-paper);
}
.usc-pkg.is-popular { border-color: var(--pkg); box-shadow: var(--usc-shadow-sm); }
.usc-pkg-badge {
	position: absolute; top: -11px; left: 50%; transform: translateX(-50%);
	background: var(--pkg); color: #fff; font-size: 10px; font-weight: 800; letter-spacing: .05em;
	padding: 3px 10px; border-radius: 999px; white-space: nowrap;
}
.usc-pkg-name { font-family: var(--usc-display); font-weight: 700; color: var(--pkg); font-size: 19px; margin-bottom: 6px; line-height: 1.2; }
.usc-pkg-hint { margin: 0 0 8px; font-size: 12px; font-weight: 600; color: var(--usc-ink); line-height: 1.35; }
.usc-pkg-blurb { margin: 0 0 10px; font-size: 12.5px; color: var(--usc-muted); line-height: 1.4; }
.usc-pkg-features { list-style: none; margin: 0; padding: 0; }
.usc-pkg-features li { font-size: 12.5px; color: var(--usc-muted); padding: 3px 0 3px 18px; position: relative; }
.usc-pkg-features li::before { content: '✓'; position: absolute; left: 0; color: var(--pkg); font-weight: 700; }
.usc-pkg-notices {
	display: grid; gap: 8px;
	margin: 0 0 8px; padding: 12px 14px;
	background: var(--usc-mist); border-radius: var(--usc-radius-sm);
	border-left: 3px solid var(--usc-mint-line);
}
.usc-pkg-notices--home { margin-top: 18px; }
.usc-pkg-notice { margin: 0; font-size: 12.5px; color: var(--usc-muted); line-height: 1.45; }

/* ---- Service row: name/meta + package pills + counter ---- */
.usc-svc { align-items: flex-start; }
.usc-svc-main { flex: 1; min-width: 0; }
.usc-pkg-pills { display: flex; gap: 6px; margin-top: 10px; flex-wrap: wrap; }
.usc-pkg-pill {
	border: 1px solid var(--usc-line); background: var(--usc-paper); border-radius: 999px;
	padding: 5px 12px; cursor: pointer; display: flex; flex-direction: column; align-items: center; line-height: 1.2;
}
.usc-pkg-pill span { font-size: 12px; font-weight: 700; color: var(--usc-muted); }
.usc-pkg-pill em { font-style: normal; font-size: 11px; color: var(--usc-muted); }
.usc-pkg-pill.is-on { border-color: var(--pkg); background: var(--usc-mint); background: color-mix(in srgb, var(--pkg) 10%, #fff); }
.usc-pkg-pill.is-on span, .usc-pkg-pill.is-on em { color: var(--pkg); }

/* Counter with value between buttons (starts at 0). */
.usc-qty-val { min-width: 28px; text-align: center; font-weight: 700; color: var(--usc-ink); font-size: 16px; }
.usc-qty-btn {
	width: 36px; height: 36px; border-radius: 8px; border: 1px solid var(--usc-mint-line);
	background: var(--usc-mint); color: var(--usc-deep); cursor: pointer; font-size: 20px; line-height: 1;
	display: grid; place-items: center;
}
.usc-qty-btn:hover { border-color: var(--usc-brand); }

.usc-totals .row.time .v { color: var(--usc-deep); font-weight: 700; }

/* ---- Cushions + after-hours ---- */
.usc-note { font-size: 13px; color: var(--usc-muted); background: var(--usc-mist); border-left: 3px solid var(--usc-mint-line); padding: 8px 12px; border-radius: 6px; margin: 0 0 12px; }
.usc-yn { display: flex; gap: 8px; margin-bottom: 12px; flex-wrap: wrap; }
.usc-yn-btn { flex: 1 1 140px; border: 1px solid var(--usc-line); background: var(--usc-paper); border-radius: var(--usc-radius-sm); padding: 11px 12px; font-weight: 600; color: var(--usc-muted); cursor: pointer; }
.usc-yn-btn.is-on { border-color: var(--usc-brand); background: var(--usc-mint); color: var(--usc-deep); }

.usc-slot-list { display: flex; gap: 8px; flex-wrap: wrap; }
.usc-slot { flex: 1; min-width: 150px; border: 1px solid var(--usc-line); background: var(--usc-paper); border-radius: var(--usc-radius-sm); padding: 12px; cursor: pointer; display: flex; flex-direction: column; gap: 3px; align-items: flex-start; }
.usc-slot.is-on { border-color: var(--usc-brand); background: var(--usc-mint); }
.usc-slot-label { font-weight: 600; color: var(--usc-ink); font-size: 14px; }
.usc-slot-rate { font-style: normal; font-size: 12px; font-weight: 700; color: var(--usc-sun); }

/* ---- After Hours marketing section (shortcode) ---- */
.usc-afterhours-section { background: var(--usc-deep); background: linear-gradient(135deg, var(--usc-deep), var(--usc-brand)); color: #fff; padding: 48px 0; margin: 32px 0; border-radius: var(--usc-radius); }
.usc-ah-badge { display: inline-block; background: var(--usc-sun); color: #3a2a00; font-size: 12px; font-weight: 800; letter-spacing: .05em; padding: 4px 12px; border-radius: 999px; text-transform: uppercase; }
.usc-afterhours-section h2 { font-family: var(--usc-display); font-size: 30px; margin: 12px 0 8px; color: #fff; }
.usc-ah-lead { color: #d7eeee; max-width: 640px; margin: 0 0 20px; }
.usc-ah-benefits { list-style: none; margin: 0 0 24px; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; max-width: 720px; }
.usc-ah-benefits li { padding-left: 26px; position: relative; color: #eafafa; }
.usc-ah-benefits li::before { content: '✓'; position: absolute; left: 0; color: var(--usc-sun); font-weight: 700; }
.usc-ah-tiers { display: flex; gap: 12px; flex-wrap: wrap; }
.usc-ah-tier { background: rgba(255,255,255,.12); border-radius: var(--usc-radius-sm); padding: 14px 18px; display: flex; flex-direction: column; gap: 2px; min-width: 150px; }
.usc-ah-tier--single { min-width: 220px; max-width: 320px; }
.usc-ah-tier strong { font-size: 15px; }
.usc-ah-tier span { font-size: 13px; color: #cfe6e6; }
.usc-ah-tier em { font-style: normal; font-weight: 800; color: var(--usc-sun); margin-top: 4px; }
.usc-cushion-note { font-size: 13px; color: var(--usc-muted); font-style: italic; }

/* ---- Home page ---- */
.usc-btn-lg { padding: 15px 30px; font-size: 16px; display: inline-block; text-decoration: none; border-radius: 999px; }
.usc-btn-gold { background: var(--usc-sun); color: #fff; border: 0; font-weight: 700; }
.usc-btn-gold:hover { background: var(--usc-sun-600); }
.usc-btn-line { background: transparent; color: #fff; border: 1.5px solid rgba(255,255,255,.5); font-weight: 600; }
.usc-btn-line:hover { border-color: #fff; background: rgba(255,255,255,.08); }

.usc-eyebrow { display: inline-block; text-transform: uppercase; letter-spacing: .16em; font-size: 12px; font-weight: 700; color: var(--usc-sun); margin-bottom: 16px; }
.usc-eyebrow--dark { color: var(--usc-brand); }

/* Hero */
.usc-hero2 { position: relative; background: radial-gradient(120% 130% at 15% 10%, var(--usc-deep) 0%, var(--usc-deep-2) 70%); color: #fff; padding: 76px 0 96px; overflow: hidden; }
.usc-hero2-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 56px; align-items: center; position: relative; z-index: 2; }
.usc-hero2-title { font-family: var(--usc-display); font-weight: 600; font-size: 60px; line-height: 1.02; letter-spacing: -.02em; margin: 0 0 20px; color: #fff; }
.usc-hero2-title em { font-style: italic; color: var(--usc-sun); }
.usc-hero2-lead { color: #cfe4e2; font-size: 18px; line-height: 1.6; max-width: 520px; margin: 0 0 30px; }
.usc-hero2-actions { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 40px; }
.usc-trust { list-style: none; display: flex; gap: 32px; margin: 0; padding: 24px 0 0; border-top: 1px solid rgba(255,255,255,.14); }
.usc-trust li { display: flex; flex-direction: column; }
.usc-trust strong { font-family: var(--usc-display); font-size: 20px; color: #fff; }
.usc-trust span { font-size: 13px; color: #a9cbc8; }

/* Before/after signature */
.usc-ba { position: relative; width: 100%; aspect-ratio: 4/3; min-height: 300px; border-radius: var(--usc-radius); overflow: hidden; box-shadow: var(--usc-shadow-lg); user-select: none; }
.usc-ba-after, .usc-ba-before { position: absolute; inset: 0; }
.usc-ba-after {
	background:
		radial-gradient(60% 45% at 70% 30%, rgba(255,255,255,.35), transparent 60%),
		repeating-linear-gradient(135deg, #b7998a 0 14px, #ad8e7f 14px 28px);
}
.usc-ba-before {
	width: 50%; overflow: hidden; border-right: 3px solid #fff;
	background:
		radial-gradient(80% 60% at 30% 80%, rgba(60,40,30,.55), transparent 60%),
		repeating-linear-gradient(135deg, #6f5a4d 0 14px, #5f4c40 14px 28px);
}
.usc-ba-before::after {
	content: ''; position: absolute; inset: 0;
	background: radial-gradient(35% 30% at 60% 55%, rgba(30,18,12,.6), transparent 70%),
	            radial-gradient(20% 18% at 25% 35%, rgba(20,12,8,.5), transparent 70%);
}
.usc-ba-tag { position: absolute; top: 14px; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 5px 11px; border-radius: 999px; z-index: 3; }
.usc-ba-tag--before { left: 14px; background: rgba(20,12,8,.7); color: #fff; }
.usc-ba-tag--after { right: 14px; background: rgba(255,255,255,.85); color: var(--usc-deep); }
.usc-ba-range { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; z-index: 5; }
.usc-ba-handle { position: absolute; top: 0; bottom: 0; left: 50%; width: 3px; background: #fff; transform: translateX(-50%); z-index: 4; pointer-events: none; }
.usc-ba-handle span { position: absolute; top: 50%; left: 50%; width: 44px; height: 44px; transform: translate(-50%,-50%); background: #fff; border-radius: 50%; box-shadow: var(--usc-shadow); }
.usc-ba-handle span::before, .usc-ba-handle span::after { content: ''; position: absolute; top: 50%; width: 0; height: 0; border: 6px solid transparent; }
.usc-ba-handle span::before { left: 9px; transform: translateY(-50%); border-right-color: var(--usc-deep); }
.usc-ba-handle span::after { right: 9px; transform: translateY(-50%); border-left-color: var(--usc-deep); }
.usc-ba-cap { text-align: center; color: #a9cbc8; font-size: 13px; margin: 14px 0 0; }
.usc-hero2-wave { position: absolute; left: 0; right: 0; bottom: -1px; height: 60px; background: var(--usc-mist); clip-path: ellipse(75% 100% at 50% 100%); z-index: 1; }

/* Sections */
.usc-home-section { padding: 76px 0; }
.usc-home-section.usc-alt { background: var(--usc-sand); }
.usc-sec-head { text-align: center; max-width: 640px; margin: 0 auto 44px; }
.usc-section-title { font-family: var(--usc-display); font-weight: 600; color: var(--usc-deep); font-size: 38px; letter-spacing: -.02em; margin: 0 0 14px; }
.usc-section-sub { color: var(--usc-muted); font-size: 16px; line-height: 1.6; margin: 0; }
.usc-packages--home { align-items: stretch; }
.usc-packages--home .usc-pkg { display: flex; flex-direction: column; padding: 26px 22px 22px; }
.usc-packages--home .usc-pkg-features { flex: 1; margin-bottom: 18px; }
.usc-packages--home .usc-pkg.is-popular { transform: translateY(-10px); box-shadow: var(--usc-shadow); }
.usc-pkg-book { display: block; text-align: center; text-decoration: none; }

.usc-steps-grid { display: flex; gap: 20px; }
.usc-step-card { flex: 1; background: var(--usc-paper); border: 1px solid var(--usc-line); border-radius: var(--usc-radius); padding: 30px 26px; }
.usc-step-num { display: inline-grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; background: var(--usc-deep); color: #fff; font-family: var(--usc-display); font-weight: 700; font-size: 20px; margin-bottom: 16px; }
.usc-step-card h3 { font-family: var(--usc-display); font-weight: 600; color: var(--usc-deep); margin: 0 0 8px; font-size: 20px; }
.usc-step-card p { color: var(--usc-muted); margin: 0; font-size: 15px; line-height: 1.55; }

/* Testimonials */
.usc-quotes { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.usc-quote { margin: 0; background: var(--usc-paper); border: 1px solid var(--usc-line); border-radius: var(--usc-radius); padding: 26px; box-shadow: var(--usc-shadow-sm); }
.usc-stars { color: var(--usc-sun); letter-spacing: 2px; margin-bottom: 12px; }
.usc-quote blockquote { margin: 0 0 16px; font-size: 16px; line-height: 1.6; color: var(--usc-ink); }
.usc-quote figcaption { font-size: 13px; color: var(--usc-muted); font-weight: 600; }

/* Closing CTA */
.usc-cta2 { background: linear-gradient(120deg, var(--usc-deep), var(--usc-brand)); color: #fff; }
.usc-cta2-inner { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 52px 0; flex-wrap: wrap; }
.usc-cta2 h2 { font-family: var(--usc-display); font-weight: 600; font-size: 30px; margin: 0 0 6px; color: #fff; }
.usc-cta2 p { margin: 0; color: #cfe4e2; }

.usc-site-footer { background: var(--usc-ink); color: #cfe0e0; padding: 0; }
.usc-footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 40px; padding: 52px 24px 40px; }
.usc-footer-brand .usc-brand { color: #fff; font-size: 20px; }
.usc-footer-brand p { color: #9fb6b6; font-size: 14px; line-height: 1.6; margin: 12px 0 0; max-width: 380px; }
.usc-footer-col h4 { color: #fff; font-size: 14px; letter-spacing: .04em; text-transform: uppercase; margin: 0 0 14px; }
.usc-footer-col ul { list-style: none; margin: 0; padding: 0; }
.usc-footer-col li { font-size: 14px; color: #9fb6b6; padding: 5px 0; }
.usc-footer-bar { border-top: 1px solid rgba(255,255,255,.1); }
.usc-footer-bar .usc-container { padding-top: 18px; padding-bottom: 18px; font-size: 13px; color: #8aa3a3; }

/* ---- Category chooser (step 1) ---- */
.usc-cat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin: 4px 0 18px; }
.usc-cat-card { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; text-align: left; background: var(--usc-paper); border: 1.5px solid var(--usc-line); border-radius: var(--usc-radius); padding: 22px 20px; cursor: pointer; transition: border-color .15s, box-shadow .15s, transform .1s; }
.usc-cat-card:hover { border-color: var(--usc-brand); box-shadow: var(--usc-shadow-sm); transform: translateY(-2px); }
.usc-cat-card.has-items { border-color: var(--usc-sun); background: #fbf4ea; }
.usc-cat-ico { width: 42px; height: 42px; border-radius: 12px; background: var(--usc-mint); display: block; margin-bottom: 6px; position: relative; }
.usc-cat-ico::before { content: ''; position: absolute; inset: 9px; background: var(--usc-deep); -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-size: contain; mask-size: contain; -webkit-mask-position: center; mask-position: center; }
.usc-cat-sofa::before   { -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='black' viewBox='0 0 24 24'><rect x='3' y='10' width='18' height='6' rx='2'/><rect x='5' y='6' width='14' height='6' rx='2'/><path d='M5 16v2M19 16v2'/></svg>"); mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='black' viewBox='0 0 24 24'><rect x='3' y='10' width='18' height='6' rx='2'/><rect x='5' y='6' width='14' height='6' rx='2'/><path d='M5 16v2M19 16v2'/></svg>"); }
.usc-cat-mattress::before { -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='black' viewBox='0 0 24 24'><rect x='3' y='8' width='18' height='9' rx='2'/></svg>"); mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='black' viewBox='0 0 24 24'><rect x='3' y='8' width='18' height='9' rx='2'/></svg>"); }
.usc-cat-carpet::before { -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='black' viewBox='0 0 24 24'><rect x='4' y='4' width='16' height='16' rx='1'/></svg>"); mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='black' viewBox='0 0 24 24'><rect x='4' y='4' width='16' height='16' rx='1'/></svg>"); }
.usc-cat-commercial::before { -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='black' viewBox='0 0 24 24'><path d='M4 21V8l8-4 8 4v13H4zm7 0h2v-5h-2v5zM7 11h2v2H7v-2zm4 0h2v2h-2v-2zm4 0h2v2h-2v-2zM7 15h2v2H7v-2zm8 0h2v2h-2v-2z'/></svg>"); mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='black' viewBox='0 0 24 24'><path d='M4 21V8l8-4 8 4v13H4zm7 0h2v-5h-2v5zM7 11h2v2H7v-2zm4 0h2v2h-2v-2zm4 0h2v2h-2v-2zM7 15h2v2H7v-2zm8 0h2v2h-2v-2z'/></svg>"); }
.usc-cat-name { font-family: var(--usc-display); font-weight: 600; font-size: 20px; color: var(--usc-deep); }
.usc-cat-desc { font-size: 13px; color: var(--usc-muted); }
.usc-cat-badge { margin-top: 8px; font-size: 12px; font-weight: 700; color: #fff; background: var(--usc-sun); padding: 3px 10px; border-radius: 999px; }
.usc-cat-back { background: none; border: 0; color: var(--usc-brand); font-weight: 600; cursor: pointer; padding: 0 0 12px; font-size: 14px; }
.usc-cat-back:hover { color: var(--usc-deep); }

.usc-avail { display: flex; align-items: center; gap: 10px; margin-top: 18px; padding: 12px 16px; background: var(--usc-mint); border-radius: var(--usc-radius-sm); color: var(--usc-deep); font-weight: 600; font-size: 14px; }
.usc-avail-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--usc-ok); box-shadow: 0 0 0 4px rgba(31,157,87,.18); flex: 0 0 auto; }

/* ---- Bottom promo bar ---- */
.usc-promobar { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 60; display: flex; align-items: center; gap: 16px; justify-content: center; background: var(--usc-ink); color: #fff; padding: 14px 52px 14px 22px; border-radius: 999px; box-shadow: var(--usc-shadow-lg); max-width: 620px; margin: 0 auto; }
.usc-promobar-text { font-size: 15px; }
.usc-promobar-text strong { color: var(--usc-sun); }
.usc-promobar .usc-btn { padding: 10px 20px; white-space: nowrap; }
.usc-promobar-x { position: absolute; right: 16px; top: 50%; transform: translateY(-50%); background: none; border: 0; color: #9fb6b6; font-size: 22px; line-height: 1; cursor: pointer; }
.usc-promobar-x:hover { color: #fff; }

/* ---- Lead form (standalone) ---- */
.usc-leadform { background: var(--usc-paper); border: 1px solid var(--usc-line); border-radius: var(--usc-radius); padding: 26px; max-width: 460px; box-shadow: var(--usc-shadow-sm); }
.usc-leadform-title { font-family: var(--usc-display); font-weight: 600; color: var(--usc-deep); font-size: 22px; margin: 0 0 6px; }
.usc-leadform-note { color: var(--usc-muted); font-size: 14px; margin: 0 0 16px; }
.usc-leadform-fields { display: flex; flex-direction: column; gap: 10px; }
.usc-leadform-fields input, .usc-leadform-fields textarea { width: 100%; box-sizing: border-box; border: 1px solid var(--usc-line); border-radius: var(--usc-radius-sm); padding: 12px 14px; font: inherit; font-size: 16px; }
.usc-leadform-fields input:focus, .usc-leadform-fields textarea:focus { outline: none; border-color: var(--usc-brand); box-shadow: 0 0 0 3px rgba(18,135,143,.12); }
.usc-lead-hp { position: absolute; left: -9999px; width: 1px; height: 1px; }
.usc-lead-submit { margin-top: 4px; }
.usc-lead-msg-result { font-size: 13px; margin: 4px 0 0; min-height: 16px; color: var(--usc-muted); }
.usc-lead-msg-result.is-err { color: var(--usc-err); }
.usc-lead-thanks { text-align: center; padding: 22px; color: var(--usc-deep); font-weight: 600; }

/* ---- Responsive ---- */

/* Tablet / small laptop: collapse the two-column booking layout. */
@media (max-width: 900px) {
	.usc-grid { grid-template-columns: 1fr; }
	.usc-summary { position: static; }
	.usc-fields { grid-template-columns: 1fr; }
	/* On mobile the summary is most useful at the bottom, after the steps. */
	.usc-summary { order: 2; margin-top: 20px; }
	.usc-cat-grid { grid-template-columns: repeat(2, 1fr); }
}

/* Phone: hamburger nav, bigger touch targets, no iOS zoom. */
@media (max-width: 720px) {
	.usc-container { padding: 0 16px; }
	.usc-main { padding: 24px 0 48px; }

	/* Nav → slide-down panel. */
	.usc-nav-toggle { display: block; }
	.usc-nav {
		position: absolute; left: 0; right: 0; top: 68px;
		background: var(--usc-paper); border-bottom: 1px solid var(--usc-line);
		box-shadow: var(--usc-shadow);
		max-height: 0; overflow: hidden; transition: max-height .25s ease;
	}
	body.usc-nav-open .usc-nav { max-height: 70vh; }
	.usc-menu { flex-direction: column; gap: 0; padding: 8px 16px; }
	.usc-menu li { border-bottom: 1px solid var(--usc-line); }
	.usc-menu li:last-child { border-bottom: 0; }
	.usc-menu a { display: block; padding: 14px 0; }
	body.usc-nav-open .usc-nav-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
	body.usc-nav-open .usc-nav-toggle span:nth-child(2) { opacity: 0; }
	body.usc-nav-open .usc-nav-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

	/* Panels get a touch more breathing room but less padding. */
	.usc-panel { padding: 18px 16px; }
	.usc-panel h2 { font-size: 21px; }
	.usc-page-title { font-size: 27px; }

	/* Stepper scrolls horizontally instead of wrapping into a tall stack. */
	.usc-steps { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 4px; margin: 0 -16px 20px; padding-left: 16px; padding-right: 16px; }
	.usc-step-pill { flex: 0 0 auto; }

	/* Tier toggle spans full width so both options are easy to tap. */
	.usc-tier { display: flex; width: 100%; }
	.usc-tier button { flex: 1; padding: 12px 8px; }

	/* Service cards: on narrow phones the right-side controls used to squeeze
	   the label column down to almost zero, leaving only the checkbox/counter
	   visible. Stack content and controls so service names always remain readable. */
	.usc-svc { padding: 14px; row-gap: 12px; grid-template-columns: minmax(0, 1fr); }
	.usc-svc-main { min-width: 0; width: 100%; display: block; }
	.usc-svc-name { line-height: 1.3; color: var(--usc-ink) !important; white-space: normal; overflow-wrap: anywhere; }
	.usc-svc-unit { display: block; color: var(--usc-muted) !important; white-space: normal; }
	.usc-svc-right { width: 100%; justify-content: space-between; flex-wrap: wrap; }
	.usc-pkg-pills { width: 100%; overflow: visible; }

	/* Bigger qty controls for fingers (min 40px). */
	.usc-qty button { width: 40px; height: 40px; font-size: 20px; }
	.usc-qty input { width: 52px; height: 40px; font-size: 16px; }
	.usc-qty-btn { width: 44px; height: 44px; font-size: 22px; }

	/* Package cards stack vertically (brief requirement). */
	.usc-packages { flex-direction: column; }
	.usc-pkg-pills { width: 100%; }
	.usc-pkg-pill { flex: 1; }
	.usc-slot { min-width: 0; flex: 1 1 100%; }
	.usc-ah-benefits { grid-template-columns: 1fr; }
	.usc-afterhours-section { padding: 32px 0; }
	.usc-afterhours-section h2 { font-size: 24px; }
	.usc-hero2 { padding: 52px 0 70px; }
	.usc-hero2-grid { grid-template-columns: 1fr; gap: 36px; }
	.usc-hero2-title { font-size: 40px; }
	.usc-hero2-lead { font-size: 16px; }
	.usc-trust { gap: 20px; flex-wrap: wrap; }
	.usc-steps-grid { flex-direction: column; }
	.usc-quotes { grid-template-columns: 1fr; }
	.usc-packages--home .usc-pkg.is-popular { transform: none; }
	.usc-section-title { font-size: 30px; }
	.usc-home-section { padding: 52px 0; }
	.usc-cta2-inner { flex-direction: column; text-align: center; align-items: stretch; }
	.usc-footer-grid { grid-template-columns: 1fr; gap: 28px; padding: 36px 24px 28px; }
	.usc-cat-grid { grid-template-columns: 1fr; }
	.usc-promobar { flex-direction: column; gap: 10px; padding: 16px 44px 16px 20px; text-align: center; left: 10px; right: 10px; }
	.usc-home-section { padding: 40px 0; }

	/* iOS zooms any input under 16px on focus — force 16px on all inputs. */
	.usc-field input, .usc-field textarea, .usc-field select,
	.usc-promo input { font-size: 16px; }

	/* Calendar: keep 7 columns but make cells taller and text legible. */
	.usc-cal { gap: 4px; }
	.usc-day { font-size: 15px; border-radius: 6px; }
	.usc-cal .dow { font-size: 11px; }

	/* Time pills: full-tap, wrap two-up. */
	.usc-time { padding: 12px 16px; font-size: 15px; }

	/* Photo thumbnails a bit smaller so more fit per row. */
	.usc-photo, .usc-add-photo { width: 72px; height: 72px; }

	/* Action buttons stack and go full width for confident tapping. */
	.usc-actions { flex-direction: column-reverse; gap: 10px; }
	.usc-btn { width: 100%; padding: 15px 24px; }
	.usc-actions .usc-btn-ghost { visibility: visible !important; }
	.usc-save-hint { text-align: center; }

	/* Summary line items breathe. */
	.usc-summary .head, .usc-summary .body { padding: 14px 16px; }
}

/* Very small phones. */
@media (max-width: 380px) {
	.usc-brand { font-size: 19px; }
	.usc-day { font-size: 13px; }
	.usc-step-pill { font-size: 12px; padding: 7px 10px; }
}

@media (prefers-reduced-motion: reduce) {
	.usc-spinner { animation: none; }
	.usc-nav { transition: none; }
	* { transition: none !important; }
}

/* ---- Commercial assessment page ---- */
.usc-comm-hero {
	background: linear-gradient(135deg, var(--usc-deep) 0%, #0a3d40 100%);
	color: #fff;
	padding: 56px 0 64px;
}
.usc-comm-hero h1 {
	font-family: var(--usc-display);
	font-size: clamp(28px, 4vw, 42px);
	margin: 0 0 14px;
	line-height: 1.15;
}
.usc-comm-lead { font-size: 17px; opacity: .92; max-width: 640px; margin: 0 0 20px; line-height: 1.5; }
.usc-comm-benefits { margin: 0 0 24px; padding: 0; list-style: none; }
.usc-comm-benefits li { padding: 4px 0 4px 22px; position: relative; font-size: 15px; }
.usc-comm-benefits li::before { content: '✓'; position: absolute; left: 0; color: var(--usc-gold, #c9a227); font-weight: 700; }
.usc-comm-cta-note { font-size: 13px; opacity: .85; max-width: 520px; margin: 12px 0 0; }
.usc-comm-serve { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.usc-comm-tag {
	background: var(--usc-paper); border: 1px solid var(--usc-line); border-radius: 999px;
	padding: 8px 16px; font-size: 14px; font-weight: 600; color: var(--usc-ink);
}
.usc-comm-clean-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 14px; }
.usc-comm-clean-card {
	border: 1px solid var(--usc-line); border-radius: var(--usc-radius-sm); padding: 18px 12px;
	text-align: center; background: var(--usc-paper); font-weight: 600; font-size: 14px;
}
.usc-comm-clean-ico { display: block; font-size: 28px; margin-bottom: 8px; }
.usc-comm-afterhours { margin: 0; }
.usc-comm-steps .usc-step-card { min-height: 0; }
.usc-comm-form-notice { color: var(--usc-deep); }
.usc-comm-form { max-width: 720px; margin: 0 auto; }
.usc-comm-form-sub { font-size: 16px; margin: 24px 0 10px; color: var(--usc-deep); }
.usc-comm-checks { display: flex; flex-wrap: wrap; gap: 10px 18px; }
.usc-comm-check { display: flex; align-items: center; gap: 6px; font-size: 14px; cursor: pointer; }
.usc-comm-consent { display: block; font-size: 13px; margin: 16px 0; line-height: 1.5; }
.usc-comm-consent a { color: var(--usc-brand); }
.usc-comm-submit { width: 100%; margin-top: 8px; min-height: 48px; }
.usc-comm-thanks { text-align: center; padding: 32px 20px; background: var(--usc-mint); border-radius: var(--usc-radius); }
.usc-comm-thanks h3 { color: var(--usc-deep); font-family: var(--usc-display); margin: 0 0 12px; }
.usc-comm-trust { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; }
.usc-comm-trust-item { background: var(--usc-paper); border: 1px solid var(--usc-line); border-radius: var(--usc-radius-sm); padding: 18px; }
.usc-comm-trust-item strong { display: block; margin-bottom: 6px; color: var(--usc-deep); }
.usc-comm-trust-item p { margin: 0; font-size: 14px; color: var(--usc-muted); line-height: 1.45; }
.usc-comm-faq details { border-bottom: 1px solid var(--usc-line); padding: 12px 0; }
.usc-comm-faq summary { cursor: pointer; font-weight: 600; color: var(--usc-ink); }
.usc-comm-faq p { margin: 8px 0 0; font-size: 14px; color: var(--usc-muted); line-height: 1.45; }
.usc-comm-sticky {
	position: fixed; bottom: 16px; left: 50%; transform: translateX(-50%) translateY(120%);
	z-index: 900; background: var(--usc-gold, #b96a1e); color: #fff; font-weight: 700;
	padding: 14px 28px; border-radius: 999px; text-decoration: none; box-shadow: var(--usc-shadow);
	opacity: 0; pointer-events: none; transition: transform .25s, opacity .25s;
	min-height: 48px; display: flex; align-items: center;
}
.usc-comm-sticky.is-visible { transform: translateX(-50%) translateY(0); opacity: 1; pointer-events: auto; }
body.usc-commercial-page .usc-promobar { display: none !important; }
@media (max-width: 640px) {
	.usc-comm-hero { padding: 40px 0 48px; }
	.usc-comm-checks { flex-direction: column; gap: 8px; }
	/* Explicit mobile checkbox styling prevents inherited theme colors from
	   making the "What needs cleaning?" labels disappear on white panels. */
	.usc-comm-check {
		display: flex; align-items: center; gap: 10px; width: 100%;
		padding: 12px 14px; border: 1px solid var(--usc-line);
		border-radius: var(--usc-radius-sm); background: var(--usc-paper);
		color: var(--usc-ink) !important; font-size: 15px; line-height: 1.35;
	}
	.usc-comm-check input[type="checkbox"] {
		appearance: auto; -webkit-appearance: checkbox;
		width: 20px; height: 20px; flex: 0 0 20px; margin: 0;
		accent-color: var(--usc-brand);
	}
	.usc-comm-sticky { bottom: 12px; left: 12px; right: 12px; transform: translateY(120%); width: auto; justify-content: center; }
	.usc-comm-sticky.is-visible { transform: translateY(0); }
}

/* 1.0.2 address autocomplete: native fallback dropdown */
.usc-addr-wrap { position: relative !important; overflow: visible !important; }
.usc-addr-suggest { z-index: 100001 !important; }
.usc-addr-suggest[hidden] { display: none !important; }
@media (max-width: 767px) {
  .usc-addr-suggest {
    max-height: 42vh;
    border-radius: 12px;
    box-shadow: 0 16px 34px rgba(15, 23, 42, .18);
  }
  .usc-addr-suggest__item {
    min-height: 48px;
    padding: 12px 14px;
    line-height: 1.35;
    white-space: normal;
  }
}


/* ==========================================================
   USC 1.0.3 — mobile booking + calendar hardening
   ========================================================== */
.usc-day {
	-webkit-tap-highlight-color: transparent;
	touch-action: manipulation;
	user-select: none;
	-webkit-user-select: none;
}
.usc-day:focus { outline: none; }
.usc-day:focus-visible {
	outline: 2px solid var(--usc-brand);
	outline-offset: 2px;
}
.usc-day.is-selected,
.usc-day.is-selected:focus,
.usc-day.is-selected:focus-visible {
	background: var(--usc-brand) !important;
	color: #fff !important;
	border-color: var(--usc-brand) !important;
	outline: none !important;
	box-shadow: none !important;
}

/* Phone-first pass across the public site and booking flow. */
@media (max-width: 720px) {
	html, body { width: 100%; max-width: 100%; overflow-x: hidden; }
	img, svg, video, iframe { max-width: 100%; height: auto; }

	.usc-container {
		width: 100%;
		max-width: none;
		padding-left: 14px;
		padding-right: 14px;
	}
	.usc-main { padding-top: 18px; padding-bottom: 36px; }

	/* Header */
	.usc-header .usc-container {
		min-height: 72px;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	.usc-brand img,
	.usc-logo img {
		max-height: 58px;
		width: auto;
		object-fit: contain;
	}
	.usc-nav-toggle {
		width: 48px;
		height: 48px;
		padding: 10px;
		flex: 0 0 48px;
	}

	/* Booking shell */
	#usc-booking-app { width: 100%; max-width: 100%; }
	.usc-grid { display: block; width: 100%; }
	.usc-panel {
		width: 100%;
		max-width: 100%;
		padding: 16px 12px;
		border-radius: 14px;
		overflow: visible;
	}
	.usc-panel h2 { font-size: 22px; line-height: 1.15; }
	.usc-panel .sub { font-size: 14px; line-height: 1.45; margin-bottom: 16px; }

	/* Step pills: compact horizontal scroller */
	.usc-steps {
		gap: 8px;
		margin-left: -14px;
		margin-right: -14px;
		padding-left: 14px;
		padding-right: 14px;
		scrollbar-width: none;
	}
	.usc-steps::-webkit-scrollbar { display: none; }
	.usc-step-pill { min-height: 38px; display: inline-flex; align-items: center; }

	/* Fields */
	.usc-fields,
	.usc-field-grid,
	.usc-details-grid { grid-template-columns: minmax(0,1fr) !important; }
	.usc-field,
	.usc-field input,
	.usc-field select,
	.usc-field textarea {
		min-width: 0;
		max-width: 100%;
		width: 100%;
	}
	.usc-field input,
	.usc-field select {
		min-height: 48px;
	}
	.usc-field textarea { min-height: 110px; }

	/* Services — labels always visible, controls below */
	.usc-svc {
		display: grid !important;
		grid-template-columns: minmax(0,1fr) !important;
		align-items: start !important;
		gap: 12px !important;
	}
	.usc-svc-main,
	.usc-svc-copy,
	.usc-svc-right {
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
	}
	.usc-svc-name {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		height: auto !important;
		max-height: none !important;
		font-size: 16px !important;
		line-height: 1.35 !important;
		white-space: normal !important;
		overflow: visible !important;
		text-overflow: clip !important;
	}
	.usc-svc-unit {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		margin-top: 4px;
	}
	.usc-svc-right { justify-content: flex-start !important; }

	/* Schedule/calendar */
	.usc-panel-schedule { padding-left: 10px; padding-right: 10px; }
	.usc-panel-schedule > div { max-width: 100%; }
	.usc-panel-schedule h3 {
		font-size: 21px !important;
		margin: 22px 4px 10px !important;
	}
	.usc-panel-schedule h3:first-child { margin-top: 6px !important; }

	.usc-cal-head {
		display: grid !important;
		grid-template-columns: repeat(7, minmax(0,1fr));
		gap: 3px;
		margin: 0 0 5px;
	}
	.usc-cal-head .dow {
		min-width: 0;
		padding: 4px 0;
		font-size: 11px;
		text-align: center;
	}
	.usc-cal {
		display: grid !important;
		grid-template-columns: repeat(7, minmax(0,1fr)) !important;
		gap: 3px !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-bottom: 18px !important;
	}
	.usc-day {
		aspect-ratio: auto !important;
		width: 100% !important;
		min-width: 0 !important;
		height: 48px !important;
		min-height: 48px !important;
		padding: 0 !important;
		margin: 0 !important;
		border-radius: 8px !important;
		font-size: 16px !important;
		line-height: 48px !important;
		text-align: center;
		position: relative;
		z-index: 1;
	}
	.usc-day.is-empty {
		height: 48px !important;
		min-height: 48px !important;
		pointer-events: none;
	}
	.usc-day:disabled {
		opacity: .38;
		background: transparent !important;
		border-color: transparent !important;
	}
	.usc-day.is-open {
		opacity: 1;
		background: #fff;
		border-color: var(--usc-line);
	}
	.usc-day.is-selected {
		z-index: 2;
		transform: none !important;
	}
	.usc-actions {
		position: relative;
		z-index: 3;
		margin-top: 14px;
	}
	.usc-btn {
		min-height: 50px;
		font-size: 15px;
		border-radius: 10px;
	}
	.usc-times {
		display: grid;
		grid-template-columns: repeat(2,minmax(0,1fr));
		gap: 8px;
	}
	.usc-time {
		width: 100%;
		min-height: 48px;
		justify-content: center;
		text-align: center;
	}

	/* Summary shouldn't compete with interactive form on phone */
	.usc-summary {
		position: static !important;
		width: 100%;
		margin-top: 18px;
	}
	.usc-summary .card { border-radius: 14px; }

	/* Home/public components */
	.usc-hero2 { padding: 36px 0 54px; }
	.usc-hero2-title { font-size: clamp(34px, 10vw, 46px); line-height: 1.02; }
	.usc-home-section { padding: 38px 0; }
	.usc-section-title { font-size: 28px; line-height: 1.1; }
	.usc-trust,
	.usc-comm-serve { justify-content: flex-start; }
	.usc-cat-grid,
	.usc-quotes,
	.usc-comm-clean-grid {
		grid-template-columns: minmax(0,1fr) !important;
	}
	.usc-comm-clean-card {
		text-align: left;
		display: flex;
		align-items: center;
		gap: 12px;
		padding: 14px;
	}
	.usc-comm-clean-ico { margin: 0; flex: 0 0 auto; }

	/* Fixed promo bar must not cover booking controls. */
	.usc-promobar {
		left: 8px;
		right: 8px;
		bottom: max(8px, env(safe-area-inset-bottom));
		max-width: calc(100% - 16px);
		border-radius: 16px;
		padding: 12px 42px 12px 14px;
		font-size: 13px;
	}
	body:has(#usc-booking-app) .usc-promobar { display: none !important; }

	/* iPhone safe area */
	.usc-footer { padding-bottom: max(22px, env(safe-area-inset-bottom)); }
}

@media (max-width: 380px) {
	.usc-container { padding-left: 10px; padding-right: 10px; }
	.usc-panel { padding-left: 8px; padding-right: 8px; }
	.usc-cal { gap: 2px !important; }
	.usc-cal-head { gap: 2px; }
	.usc-day {
		height: 44px !important;
		min-height: 44px !important;
		line-height: 44px !important;
		font-size: 15px !important;
	}
	.usc-day.is-empty { height: 44px !important; min-height: 44px !important; }
}

/* USC 1.0.4 — commercial calendar exact-button selection */
.usc-comm-cal-wrap .usc-day {
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
}
.usc-comm-cal-wrap .usc-day:focus {
    outline: none;
}
.usc-comm-cal-wrap .usc-day:focus-visible {
    outline: 2px solid rgba(33, 120, 128, .45);
    outline-offset: 2px;
}
.usc-comm-cal-wrap .usc-day.is-selected,
.usc-comm-cal-wrap .usc-day.is-selected:focus,
.usc-comm-cal-wrap .usc-day.is-selected:focus-visible {
    background: var(--usc-brand) !important;
    color: #fff !important;
    border-color: var(--usc-brand) !important;
    outline: none !important;
}

/* USC 1.0.5 — all calendars audited */
.usc-cal .usc-day {
    cursor: pointer;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}
.usc-cal .usc-day:disabled { cursor: default; }
.usc-cal .usc-day.is-open:not(.is-selected):focus {
    background: #fff;
    color: var(--usc-deep);
}
.usc-cal .usc-day.is-selected,
.usc-cal .usc-day.is-selected:hover,
.usc-cal .usc-day.is-selected:focus,
.usc-cal .usc-day.is-selected:focus-visible {
    background: var(--usc-brand) !important;
    color: #fff !important;
    border-color: var(--usc-brand) !important;
    outline: none !important;
}

/* USC 1.0.6 — sofa Before/After hero visual */
.usc-ba-static { aspect-ratio:auto !important; min-height:0 !important; background:transparent !important; overflow:hidden; margin:0; }
.usc-ba-static img { display:block; width:100%; height:auto; object-fit:contain; border-radius:inherit; }
@media (max-width:720px){
  .usc-ba-static{width:100%;border-radius:14px;}
  .usc-ba-static img{width:100%;height:auto;}
  .usc-ba-cap{margin-top:10px;font-size:12px;line-height:1.4;}
}


/* ==========================================================
   USC 1.0.7 — mobile layout / overflow correction
   Root issue: several elements used width:100% + horizontal padding
   without border-box, making them wider than the phone viewport.
   ========================================================== */

/* Keep all theme UI inside the viewport. */
.usc-page *,
.usc-commercial *,
.usc-site-header *,
.usc-footer * {
	box-sizing: border-box;
}

.usc-container {
	box-sizing: border-box;
	width: 100%;
}

.usc-btn,
.usc-field input,
.usc-field select,
.usc-field textarea,
.usc-comm-form,
.usc-comm-check,
.usc-panel {
	box-sizing: border-box;
	max-width: 100%;
}

@media (max-width: 720px) {
	html,
	body,
	.usc-page,
	.usc-main,
	.usc-commercial {
		width: 100%;
		max-width: 100%;
		overflow-x: clip;
	}

	/* The earlier mobile override used width:100% plus 28px padding.
	   With content-box sizing that made the page wider than the viewport. */
	.usc-container {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: auto !important;
		margin-right: auto !important;
		padding-left: 16px !important;
		padding-right: 16px !important;
		box-sizing: border-box !important;
	}

	/* Correct header selector: actual markup uses .usc-site-header / .usc-header-inner. */
	.usc-site-header {
		width: 100%;
		max-width: 100%;
		overflow: visible;
	}
	.usc-header-inner {
		width: 100%;
		height: 70px;
		min-height: 70px;
		padding-top: 0;
		padding-bottom: 0;
	}
	.usc-brand {
		display: flex;
		align-items: center;
		min-width: 0;
		max-width: calc(100% - 64px);
	}
	.usc-brand img {
		display: block;
		width: auto !important;
		height: auto !important;
		max-width: 96px !important;
		max-height: 58px !important;
		object-fit: contain;
	}
	.usc-nav-toggle {
		display: block;
		flex: 0 0 48px;
		width: 48px !important;
		height: 48px !important;
		margin-left: auto;
	}
	.usc-nav {
		top: 70px;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}
	.usc-menu,
	.usc-menu li,
	.usc-menu a {
		max-width: 100%;
		box-sizing: border-box;
	}

	/* Commercial hero — no clipped bullets / CTA. */
	.usc-comm-hero {
		padding: 32px 0 40px !important;
		overflow: hidden;
	}
	.usc-comm-hero-grid,
	.usc-comm-hero-copy {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}
	.usc-comm-hero .usc-eyebrow {
		margin-bottom: 12px;
		font-size: 11px;
		line-height: 1.35;
		letter-spacing: .14em;
		white-space: normal;
	}
	.usc-comm-hero h1 {
		font-size: clamp(34px, 10.5vw, 46px) !important;
		line-height: 1.03 !important;
		letter-spacing: -.02em;
		overflow-wrap: normal;
		word-break: normal;
	}
	.usc-comm-lead {
		width: 100%;
		max-width: 100%;
		font-size: 17px;
		line-height: 1.52;
	}
	.usc-comm-benefits {
		width: 100%;
		max-width: 100%;
	}
	.usc-comm-benefits li {
		width: 100%;
		max-width: 100%;
		padding: 6px 0 6px 26px;
		font-size: 15px;
		line-height: 1.48;
		overflow-wrap: break-word;
	}
	.usc-comm-hero .usc-btn,
	.usc-comm-hero .usc-btn-lg {
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 100% !important;
		max-width: 100% !important;
		min-height: 54px;
		padding: 14px 16px !important;
		border-radius: 14px !important;
		text-align: center;
		white-space: normal !important;
		line-height: 1.3;
		box-sizing: border-box !important;
	}
	.usc-comm-cta-note {
		width: 100%;
		max-width: 100%;
		font-size: 14px;
		line-height: 1.5;
	}

	/* Commercial form — compact, predictable native controls. */
	.usc-comm-form {
		width: 100%;
		max-width: 100%;
		margin: 0;
	}
	.usc-comm-form .usc-fields {
		width: 100%;
		max-width: 100%;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 14px;
	}
	.usc-comm-form .usc-field {
		width: 100%;
		min-width: 0;
		max-width: 100%;
	}
	.usc-comm-form .usc-field label {
		font-size: 15px;
		line-height: 1.3;
		margin-bottom: 2px;
	}
	.usc-comm-form .usc-field input:not([type="checkbox"]):not([type="file"]),
	.usc-comm-form .usc-field select {
		display: block;
		width: 100% !important;
		max-width: 100% !important;
		height: 52px !important;
		min-height: 52px !important;
		max-height: 52px !important;
		padding: 0 14px !important;
		font-size: 16px !important;
		line-height: normal !important;
		border-radius: 12px;
		box-sizing: border-box !important;
		-webkit-appearance: none;
	}
	.usc-comm-form .usc-field select {
		padding-right: 42px !important;
	}
	.usc-comm-form .usc-field textarea {
		display: block;
		width: 100% !important;
		max-width: 100% !important;
		min-height: 104px !important;
		height: auto !important;
		padding: 12px 14px !important;
		font-size: 16px !important;
		line-height: 1.45 !important;
		box-sizing: border-box !important;
		resize: vertical;
	}

	/* Checkboxes: less oversized, but still easy to tap. */
	.usc-comm-checks {
		width: 100%;
		max-width: 100%;
		gap: 10px !important;
	}
	.usc-comm-check {
		width: 100% !important;
		max-width: 100% !important;
		min-height: 58px;
		padding: 12px 14px !important;
		gap: 12px !important;
		border-radius: 12px;
		font-size: 16px !important;
		line-height: 1.25 !important;
		box-sizing: border-box !important;
	}
	.usc-comm-check input[type="checkbox"] {
		width: 26px !important;
		height: 26px !important;
		flex: 0 0 26px !important;
		margin: 0 !important;
	}

	/* Section spacing so commercial page does not feel desktop-sized on phone. */
	.usc-home-section {
		padding: 34px 0 !important;
	}
	.usc-section-title {
		font-size: 28px !important;
		line-height: 1.08 !important;
	}
	.usc-section-sub {
		font-size: 15px;
		line-height: 1.5;
	}

	/* Calendar must stay inside form width. */
	.usc-comm-cal-wrap,
	.usc-comm-cal-wrap > div,
	.usc-cal {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
	}
	.usc-comm-month {
		font-size: 22px;
		line-height: 1.2;
		margin: 20px 0 10px;
	}
	.usc-cal {
		grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
		gap: 4px !important;
	}
	.usc-day {
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		height: 46px !important;
		min-height: 46px !important;
		line-height: 46px !important;
		padding: 0 !important;
		box-sizing: border-box !important;
	}
	.usc-day.is-empty {
		height: 46px !important;
		min-height: 46px !important;
	}

	/* Full-width buttons cannot overflow because padding is included in width. */
	.usc-btn {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box !important;
		white-space: normal;
	}

	/* Sticky assessment button sits above iPhone browser chrome and does not span outside viewport. */
	.usc-comm-sticky {
		left: 12px !important;
		right: 12px !important;
		bottom: max(12px, env(safe-area-inset-bottom)) !important;
		width: auto !important;
		max-width: calc(100% - 24px) !important;
		padding: 13px 18px;
		text-align: center;
		box-sizing: border-box !important;
	}

	/* Avoid horizontal scrolling caused by long strings/URLs. */
	.usc-commercial p,
	.usc-commercial li,
	.usc-commercial h1,
	.usc-commercial h2,
	.usc-commercial h3,
	.usc-commercial label,
	.usc-commercial a {
		max-width: 100%;
		overflow-wrap: break-word;
	}
}

@media (max-width: 390px) {
	.usc-container {
		padding-left: 12px !important;
		padding-right: 12px !important;
	}
	.usc-comm-hero h1 {
		font-size: 34px !important;
	}
	.usc-comm-lead {
		font-size: 16px;
	}
	.usc-cal {
		gap: 3px !important;
	}
	.usc-day,
	.usc-day.is-empty {
		height: 42px !important;
		min-height: 42px !important;
		line-height: 42px !important;
		font-size: 14px !important;
	}
}


/* Jobber privacy-first embedded request form */
.usc-jobber-card {
  width: min(100%, 900px);
  margin: 24px auto 56px;
  padding: 24px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 18px;
  box-shadow: 0 14px 40px rgba(0,0,0,.08);
  overflow: hidden;
}
.usc-jobber-card iframe { width: 100% !important; max-width: 100% !important; border: 0 !important; }
@media (max-width: 640px) {
  .usc-booking-wrap { padding-left: 12px; padding-right: 12px; }
  .usc-jobber-card { margin: 12px auto 36px; padding: 10px; border-radius: 14px; }
}


/* Jobber Client Hub */
.usc-nav { display:flex; align-items:center; gap:18px; }
.usc-client-login { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:9px 16px; border:1px solid var(--usc-brand); border-radius:999px; color:var(--usc-brand); font-weight:700; text-decoration:none; white-space:nowrap; transition:background .2s ease,color .2s ease; }
.usc-client-login:hover { background:var(--usc-brand); color:#fff; }
@media (max-width: 900px) {
  .usc-nav { display:block; }
  .usc-client-login { display:flex; margin:8px 16px 16px; width:calc(100% - 32px); min-height:48px; }
}
\n/* Primary services dropdown */
.usc-nav{display:flex;align-items:center;gap:20px}.usc-main-menu{align-items:center}.usc-has-submenu{position:relative}.usc-services-toggle{appearance:none;border:0;background:transparent;color:var(--usc-ink);font:inherit;font-weight:500;padding:10px 0;cursor:pointer}.usc-services-toggle:hover{color:var(--usc-brand)}.usc-services-toggle span{display:inline-block;margin-left:4px;transition:transform .2s}.usc-submenu{position:absolute;top:100%;left:-18px;min-width:260px;margin:0;padding:10px;background:#fff;border:1px solid var(--usc-line);border-radius:12px;box-shadow:0 16px 40px rgba(15,45,40,.14);list-style:none;opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s;z-index:80}.usc-submenu li{margin:0}.usc-submenu a{display:block;padding:10px 12px;border-radius:8px;white-space:nowrap}.usc-submenu a:hover{background:var(--usc-paper)}.usc-has-submenu:hover .usc-submenu,.usc-has-submenu:focus-within .usc-submenu,.usc-has-submenu.usc-submenu-open .usc-submenu{opacity:1;visibility:visible;transform:none}.usc-has-submenu.usc-submenu-open .usc-services-toggle span{transform:rotate(180deg)}
@media(max-width:720px){.usc-nav{display:block;overflow-y:auto}.usc-main-menu{align-items:stretch}.usc-services-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;padding:14px 0}.usc-submenu{position:static;min-width:0;padding:0 0 8px 14px;border:0;border-radius:0;box-shadow:none;opacity:1;visibility:visible;transform:none;display:none;background:transparent}.usc-has-submenu.usc-submenu-open .usc-submenu{display:block}.usc-submenu li{border-bottom:0!important}.usc-submenu a{padding:10px 0;font-size:15px}.usc-client-login{display:block;margin:8px 16px 16px;text-align:center}.usc-has-submenu:hover .usc-submenu:not(:focus-within){}}\n
/* Full SEO service landing pages */
.usc-service-landing{background:#fff}.usc-service-hero{padding:64px 0;background:linear-gradient(135deg,#f4f8f5,#fff)}.usc-service-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.9fr);gap:48px;align-items:center}.usc-service-copy h1{font-size:clamp(40px,5vw,66px);line-height:1.02;margin:10px 0 20px;color:var(--usc-brand)}.usc-service-lead{font-size:20px;line-height:1.65;max-width:720px;color:#334b46}.usc-service-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:28px}.usc-service-textlink{font-weight:700;color:var(--usc-brand);text-decoration:none}.usc-service-figure{margin:0;border-radius:24px;overflow:hidden;box-shadow:0 24px 60px rgba(15,55,45,.15);background:#eef4ef}.usc-service-figure img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}.usc-service-narrow{max-width:900px}.usc-service-narrow>h2{font-size:clamp(30px,4vw,46px);line-height:1.12;color:var(--usc-brand);margin:8px 0 20px}.usc-service-narrow>p{font-size:18px;line-height:1.75;color:#3b4b48}.usc-service-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.usc-service-card{background:#fff;border:1px solid var(--usc-line);border-radius:18px;padding:24px;box-shadow:0 10px 28px rgba(15,55,45,.06)}.usc-service-check{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#e9f3eb;color:var(--usc-brand);font-weight:800}.usc-service-card h3{margin:16px 0 8px;color:var(--usc-brand);font-size:20px}.usc-service-card p{margin:0;line-height:1.6;color:#52625e}.usc-service-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.usc-service-steps>div{padding-top:18px;border-top:2px solid #d8e4dc}.usc-service-steps b{color:#c98218;font-size:14px;letter-spacing:.12em}.usc-service-steps h3{color:var(--usc-brand);margin:10px 0 8px}.usc-service-steps p{color:#52625e;line-height:1.6}.usc-service-benefit{padding:56px 0;background:#123b31;color:#fff}.usc-service-benefit-grid{display:flex;align-items:center;justify-content:space-between;gap:36px}.usc-service-benefit h2{font-size:clamp(30px,4vw,46px);margin:8px 0 12px;color:#fff}.usc-service-benefit p{max-width:800px;font-size:18px;line-height:1.7;color:#dbe9e4}.usc-service-benefit .usc-eyebrow{color:#e6ad45}.usc-related-services{display:flex;gap:12px;flex-wrap:wrap}.usc-related-services a{padding:12px 16px;border:1px solid #cbdad2;border-radius:999px;text-decoration:none;color:var(--usc-brand);font-weight:700;background:#fff}.usc-related-services a:hover{border-color:var(--usc-brand)}
@media(max-width:900px){.usc-service-hero{padding:40px 0}.usc-service-hero-grid{grid-template-columns:1fr;gap:28px}.usc-service-figure{order:-1}.usc-service-cards,.usc-service-steps{grid-template-columns:repeat(2,1fr)}.usc-service-benefit-grid{display:block}.usc-service-benefit .usc-btn{margin-top:18px}}
@media(max-width:600px){.usc-service-copy h1{font-size:38px}.usc-service-lead{font-size:17px}.usc-service-cards,.usc-service-steps{grid-template-columns:1fr}.usc-service-card{padding:20px}.usc-service-figure{border-radius:16px}.usc-service-figure img{aspect-ratio:4/3}.usc-service-actions{align-items:flex-start;flex-direction:column;gap:14px}}
.usc-comm-hero{position:relative;overflow:hidden}.usc-comm-hero:after{content:"";position:absolute;right:0;top:0;bottom:0;width:46%;background:url('../blog/commercial-carpet-cleaning.png') center/cover no-repeat;opacity:.96}.usc-comm-hero-grid{position:relative;z-index:2}.usc-comm-hero-copy{max-width:54%}@media(max-width:900px){.usc-comm-hero:after{position:relative;display:block;width:100%;height:280px;background-position:center}.usc-comm-hero-copy{max-width:none}}
