:root {
    color-scheme: light;
    --blue: #042f60;
    --blue-dark: #021d3d;
    --green: #6fbd2c;
    --yellow: #ffd429;
    --cyan: #10aeca;
    --light: #f2f5f7;
    --ink: #12304a;
}
body { color: var(--ink); background: #fff; }
a { color: var(--blue); font-weight: bold; }
.navbar-inner { background: var(--blue); border-bottom: 8px solid var(--green); box-shadow: 0 2px 12px rgba(0,0,0,.25); }
.header { position: relative; min-height: 184px; color: #fff; }
.logo { position: absolute; left: 0; top: 18px; color: #fff; text-decoration: none; display: flex; align-items: center; gap: 12px; }
.logo-mark { width: 78px; height: 78px; border-radius: 18px; background: var(--yellow); color: var(--blue); display: grid; place-items: center; font-size: 28px; font-weight: 900; }
.logo-text { font-size: 21px; line-height: 22px; font-weight: 900; text-transform: uppercase; }
.topnav { position: absolute; right: 0; top: 20px; color: #b8d8f3; }
.topnav a { color: #fff; text-decoration: none; font-size: 13px; }
.numbers { position: absolute; right: 0; top: 56px; display: flex; gap: 14px; text-align: right; }
.number { background: rgba(255,255,255,.1); padding: 10px 14px; border-radius: 12px; }
.number .city { color: var(--green); font-size: 12px; text-transform: uppercase; font-weight: 900; }
.number a { color: #fff; font-size: 22px; text-decoration: none; }
.nav-collapse { position: absolute; left: 0; right: 0; bottom: 0; background: var(--blue-dark); clear: both; }
.nav > li > a { color: #fff; text-decoration: none; font-weight: 900; }
.nav > li.active > a, .nav > li > a:hover { background: var(--green); color: #fff; }
h1, h2, h3 { color: var(--blue); line-height: 1.15; }
h1 { font-size: 30px; margin-top: 0; }
h2 { font-size: 23px; }
h3 { font-size: 18px; }
.hero-box { background: linear-gradient(135deg, var(--blue) 0%, #074375 100%); color: #fff; border-radius: 0 0 18px 18px; padding: 28px; margin-bottom: 22px; }
.hero-box h1, .hero-box h2, .hero-box p { color: #fff; }
.hero-box .button { background: var(--yellow); color: var(--blue); }
.button { display: inline-block; border-radius: 4px; padding: 11px 16px; text-decoration: none; font-weight: 900; background: var(--green); color: #fff; border: 0; cursor: pointer; }
.button.blue { background: var(--blue); color: #fff; }
.side-card, .content-card, .placeholder, .form-panel { background: var(--light); border: 1px solid #dce5eb; border-radius: 12px; padding: 18px; margin-bottom: 20px; }
.side-card h3 { margin-top: 0; }
.placeholder { min-height: 190px; display: grid; place-items: center; text-align: center; color: var(--blue); font-weight: 900; border-style: dashed; }
.service-list { margin: 0; padding: 0; list-style: none; }
.service-list li { border-bottom: 1px solid #dce5eb; }
.service-list a { display: block; padding: 9px 0; text-decoration: none; }
.feature-list { padding-left: 20px; }
.feature-list li { margin-bottom: 8px; }
.feature-list li::marker { color: var(--green); }
.yellow-strip { background: var(--yellow); color: var(--blue); padding: 18px; border-radius: 12px; margin-bottom: 20px; font-weight: 900; }
.cyan-strip { background: var(--cyan); color: #fff; padding: 20px; border-radius: 12px; margin-bottom: 20px; }
.cyan-strip h2, .cyan-strip p { color: #fff; }
.service-photo-wrap { overflow: hidden; border-radius: 12px; margin-bottom: 20px; background: linear-gradient(135deg, var(--blue), var(--cyan)); }
.service-photo { display: block; width: 100%; height: auto; max-height: 260px; object-fit: cover; }
.service-frequency { margin-top: 18px; padding-top: 16px; border-top: 1px solid #dce5eb; }
.home-rotator { position: relative; min-height: 290px; overflow: hidden; border-radius: 12px; margin-bottom: 20px; background: var(--blue); }
.rotator-track { min-height: 290px; }
.rotator-slide { position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: flex; align-items: flex-end; padding: 24px 56px; box-sizing: border-box; background-position: center; background-size: cover; color: #fff; text-decoration: none; opacity: 0; visibility: hidden; transition: opacity .55s ease; }
.rotator-slide::before { content: ""; position: absolute; top: 0; right: 0; bottom: 0; left: 0; background: linear-gradient(0deg, rgba(2,29,61,.92), rgba(2,29,61,.08) 75%); }
.rotator-slide span { position: relative; font-size: 25px; line-height: 1.15; font-weight: 900; text-shadow: 0 2px 5px rgba(0,0,0,.35); }
.rotator-slide.is-active { opacity: 1; visibility: visible; }
.rotator-dryer { background-image: url('/img/istockphoto-1249291015-1024x1024.jpg'), linear-gradient(135deg, #074375, #10aeca); }
.rotator-pricing { background-image: url('/img/istockphoto-1443477013-1024x1024.jpg'), linear-gradient(135deg, #074375, #6fbd2c); }
.rotator-ac { background-image: url('/img/istockphoto-2222043536-1024x1024.jpg'), linear-gradient(135deg, #042f60, #10aeca); }
.rotator-care { background-image: url('/img/istockphoto-171591165-1024x1024.jpg'), linear-gradient(135deg, #074375, #6fbd2c); }
.rotator-control { position: absolute; z-index: 2; top: 50%; width: 38px; height: 48px; transform: translateY(-50%); border: 0; border-radius: 4px; background: rgba(2,29,61,.78); color: #fff; font-size: 31px; cursor: pointer; }
.rotator-control:hover, .rotator-control:focus { background: var(--green); }
.rotator-previous { left: 10px; }
.rotator-next { right: 10px; }
.rotator-dots { position: absolute; z-index: 2; right: 16px; bottom: 14px; display: flex; gap: 7px; }
.rotator-dot { width: 11px; height: 11px; padding: 0; border: 2px solid #fff; border-radius: 50%; background: transparent; cursor: pointer; }
.rotator-dot.is-active { background: var(--yellow); }
.pricing-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 20px; }
.service-options { display: grid; grid-template-columns: minmax(105px, .7fr) minmax(0, 1.3fr); margin: 0; }
.service-options dt, .service-options dd { margin: 0; padding: 11px 8px; border-bottom: 1px solid #dce5eb; }
.service-options dt { color: var(--blue); font-weight: 900; }
.special-label { display: inline-block; margin: 0 0 8px; padding: 5px 9px; border-radius: 4px; background: var(--yellow); color: var(--blue); font-weight: 900; text-transform: uppercase; }
.pricing-special h2 { margin-top: 4px; }
.table-scroll { overflow-x: auto; }
.pricing-table { width: 100%; border-collapse: collapse; }
.pricing-table th, .pricing-table td { padding: 12px 8px; border-bottom: 1px solid #cbd8e1; text-align: right; white-space: nowrap; }
.pricing-table th:first-child { text-align: left; }
.pricing-table thead th { background: var(--blue); color: #fff; font-size: 12px; text-transform: uppercase; }
.pricing-table tbody strong { color: var(--green); font-size: 17px; }
.additional-service { padding: 14px; background: #fff; border-left: 5px solid var(--green); }
.care-plan-callout { text-align: center; font-size: 19px; }
label { display: block; font-weight: 900; color: var(--blue); margin-bottom: 5px; }
input, textarea, select { width: 100%; box-sizing: border-box; border: 1px solid #b9c8d4; border-radius: 5px; padding: 9px; font: inherit; margin-bottom: 12px; background: #fff; color: var(--ink); }
textarea { min-height: 110px; }
.checks label { font-weight: normal; color: var(--ink); }
.checks input { width: auto; margin-right: 7px; }
footer { margin-top: 35px; padding: 22px 0; border-top: 6px solid var(--green); text-align: center; color: #5d6b78; }
.bottomnav { margin-bottom: 10px; }
@media (max-width: 980px) {
    .header { min-height: 0; padding: 16px 0; }
    .logo, .topnav, .numbers, .nav-collapse { position: static; }
    .topnav, .numbers { margin-top: 14px; text-align: left; }
    .numbers { display: block; }
    .number { margin-bottom: 8px; }
    .nav-collapse { margin-top: 14px; }
    .pricing-grid { grid-template-columns: 1fr; }
    .rotator-slide { padding-inline: 54px; }
}
@media (prefers-reduced-motion: reduce) {
    .rotator-slide { transition: none; }
}
