@charset "UTF-8";
:root {
    --base: #f5f3fc;
    --paper: #ffffff;
    --ink: #465270;
    --muted: #62708a;
    --plum: #71538f;
    --plum-deep: #60417f;
    --lilac: #e9e1f7;
    --mint: #e3f4ed;
    --green: #267d6e;
    --coral: #c65a59;
    --outline: #d9d7e8;
    --soft: #f9f8fd;
}
* {box-sizing:border-box}
html {scroll-behavior:smooth}
body {margin:0;font:16px/1.66 system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--paper)}
a {color:var(--plum-deep);text-underline-offset:3px}
a:hover {color:var(--green)}
a:focus-visible,summary:focus-visible {outline:3px solid var(--coral);outline-offset:4px}
a:active {transform:translateY(1px)}
.wrap {width:min(1240px,calc(100% - 88px));margin-inline:auto}
.ribbon {background:var(--mint);border-bottom:1px solid #cce3da}
.ribbon .wrap {display:flex;justify-content:space-between;gap:16px;padding:7px 0;font-size:12px;font-weight:650;letter-spacing:.03em}
.header {background:var(--paper);border-bottom:1px solid var(--outline)}
.head-row {display:flex;align-items:center;gap:25px;min-height:84px}
.logo {display:inline-flex;align-items:center;gap:11px;flex:none;font-size:19px;color:var(--plum-deep);text-decoration:none;font-weight:800;letter-spacing:-.025em}
.logo-mark {width:40px;height:40px;border:3px solid var(--plum);border-radius:9px;display:grid;place-items:center;position:relative;background:var(--base)}
.logo-mark::before {content:"";position:absolute;top:5px;left:6px;width:19px;height:3px;background:var(--green);border-radius:3px}
.logo-mark::after {content:"";position:absolute;bottom:7px;left:10px;width:13px;height:13px;border:3px solid var(--plum);border-radius:50%}
.desktop-nav {display:flex;justify-content:flex-end;align-items:center;gap:18px;margin-left:auto}
.desktop-nav a {font-weight:650;font-size:14px;text-decoration:none;color:var(--ink);white-space:nowrap}
.desktop-nav a[aria-current="page"] {color:var(--plum-deep);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:8px}
.head-call {display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;font-size:13px;font-weight:750;text-decoration:none;color:var(--paper);background:var(--plum);padding:11px 14px;border-radius:5px}
.head-call:hover {color:var(--paper);background:var(--plum-deep)}
.mobile-nav {display:none;margin-left:auto;position:relative}
.mobile-nav summary {cursor:pointer;list-style:none;padding:10px 14px;border:1px solid var(--outline);border-radius:5px;font-weight:700}
.mobile-nav summary::-webkit-details-marker {display:none}
.mobile-links {position:absolute;right:0;top:calc(100% + 8px);min-width:210px;padding:12px;background:#fff;border:1px solid var(--outline);box-shadow:0 14px 30px #5b507826;z-index:5;display:grid;gap:2px}
.mobile-links a {text-decoration:none;padding:8px 10px;font-size:15px;font-weight:650}
.hero {position:relative;background:var(--base);border-bottom:1px solid var(--outline)}
.hero .wrap {padding-block:50px 43px}
.hero-grid {display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:36px;align-items:center}
.eyebrow {color:var(--green);font-size:12px;letter-spacing:.115em;text-transform:uppercase;font-weight:800;margin:0 0 11px}
h1 {font-size:40px;line-height:1.15;letter-spacing:-.025em;color:var(--plum-deep);margin:0 0 19px;font-weight:780;overflow-wrap:anywhere}
h2 {font-size:28px;line-height:1.23;letter-spacing:-.02em;color:var(--plum-deep);margin:0 0 17px;font-weight:750;overflow-wrap:anywhere}
h3 {font-size:19px;line-height:1.3;color:var(--plum-deep);margin:0 0 10px}
p {font-size:16px;line-height:1.7;margin:0 0 16px}
p:last-child {margin-bottom:0}
.hero-lead {font-size:17px;line-height:1.75;max-width:650px;margin-bottom:14px}
.hero-lead:last-of-type {margin-bottom:0}
.cta-pair {display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.cta {display:inline-flex;min-height:46px;align-items:center;justify-content:center;gap:7px;padding:10px 19px;border:2px solid var(--plum);border-radius:5px;font-size:15px;font-weight:750;text-decoration:none;line-height:1.3;text-align:center}
.cta.phone {background:var(--plum);color:#fff}
.cta.phone:hover {background:var(--plum-deep);border-color:var(--plum-deep);color:#fff}
.cta.form {background:transparent;color:var(--plum-deep)}
.cta.form:hover {background:var(--lilac)}
.visual {position:relative;min-height:286px;padding:16px 24px 21px;background:#ede8f7;border:1px solid #ded5ef;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:16px}
.visual::after {content:"";position:absolute;left:7%;right:7%;bottom:20px;border-bottom:3px solid #d7cbeb}
.appliance {position:relative;background:#fff;border:7px solid #846ba2;border-radius:12px;box-shadow:8px 9px 0 #ddd3ed;z-index:1;flex:none}
.appliance.washer {width:153px;height:202px}
.appliance.washer::before {content:"";position:absolute;left:0;right:0;top:34px;border-top:5px solid #d9d0e9}
.appliance .display {position:absolute;top:12px;left:14px;width:47px;height:14px;border-radius:3px;background:#e0f1e9;border:3px solid var(--green)}
.appliance .dial {position:absolute;top:11px;right:17px;width:19px;height:19px;border:4px solid var(--plum);border-radius:50%}
.appliance .drum {position:absolute;left:25px;top:57px;width:88px;height:88px;border-radius:50%;border:9px solid var(--plum);background:#e4eff0}
.appliance .drum::after {content:"";position:absolute;inset:11px;border-radius:50%;border:5px solid #aad7c8;border-top-color:var(--plum);transform:rotate(-24deg)}
.appliance.fridge {width:113px;height:219px;border-radius:10px}
.appliance.fridge::before {content:"";position:absolute;left:0;right:0;top:91px;border-top:6px solid var(--plum)}
.appliance.fridge::after {content:"";position:absolute;right:13px;top:30px;width:5px;height:34px;border-radius:4px;background:var(--green);box-shadow:0 104px 0 var(--green)}
.appliance.dishwasher {width:165px;height:200px}
.appliance.dishwasher::before {content:"";position:absolute;left:0;right:0;top:32px;border-top:6px solid #d9d0e9}
.appliance.dishwasher .tray {position:absolute;left:20px;right:20px;top:63px;height:77px;border:5px solid #9ccab9;border-radius:5px}
.appliance.dishwasher .tray::before {content:"";position:absolute;top:15px;left:8px;right:8px;border-top:4px dashed var(--plum)}
.appliance.dishwasher .tray::after {content:"";position:absolute;bottom:12px;left:8px;right:8px;border-top:4px dashed var(--plum)}
.appliance.oven {width:179px;height:194px;border-radius:9px}
.appliance.oven .window {position:absolute;left:19px;right:19px;top:51px;height:101px;border:8px solid var(--plum);border-radius:5px;background:#f4dace}
.appliance.oven .window::before {content:"";position:absolute;left:12px;right:12px;top:30px;height:6px;background:#c65a59;box-shadow:0 18px 0 #c65a59}
.appliance.oven .controls {position:absolute;top:13px;left:21px;width:16px;height:16px;border-radius:50%;border:4px solid var(--plum);box-shadow:31px 0 0 -1px #e2d8ef,31px 0 0 3px var(--plum),81px 0 0 -1px #e2d8ef,81px 0 0 3px var(--plum)}
.visual-label {position:absolute;left:18px;top:16px;color:var(--green);font-size:11px;font-weight:750;letter-spacing:.09em;text-transform:uppercase}
.visual-note {position:absolute;right:14px;bottom:26px;background:#fff;color:var(--plum-deep);font-size:12px;font-weight:750;border:1px solid var(--outline);padding:5px 9px;border-radius:4px;z-index:2}
.visual--solo .appliance {transform:scale(1.18)}
.visual--solo {min-height:290px}
.visual--oven {background:#f2e7ed}
.visual--fridge {background:#e9f5f1}
.visual--wash {background:#ebe7f5}
.visual--dish {background:#f0e9f6}
.section {padding-block:49px;border-bottom:1px solid var(--outline)}
.section.tint {background:var(--soft)}
.section.mint {background:#f0f9f5}
.section-title {max-width:920px;margin-bottom:24px}
.section-title p {color:var(--muted)}
.section-title h2 {margin-bottom:10px}
.section-title p:last-child {margin-bottom:0}
.location-bar {padding-block:30px;border-bottom:1px solid var(--outline);background:var(--paper)}
.location-bar h2 {margin-bottom:10px}
.location-chips {display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 15px}
.location-chip {display:inline-flex;align-items:center;min-height:36px;padding:7px 12px;background:var(--lilac);border-left:3px solid var(--plum);border-radius:3px;font-size:13px;line-height:1.3;color:var(--plum-deep)}
.location-bar p {max-width:970px}
.service-lines {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;row-gap:0}
.service-line {border-top:1px solid var(--outline);padding:22px 0 22px}
.service-line h3 {margin-bottom:9px}
.service-line p {margin-bottom:0}
.service-line:last-child:nth-child(odd) {grid-column:1/-1}
.text-columns {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:38px;align-items:start}
.text-columns > * {min-width:0}
.text-panel {border-left:4px solid var(--green);padding:3px 0 3px 20px}
.text-panel h3 {font-size:20px}
.steps {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.step {border-top:4px solid var(--plum);padding:14px 4px 0 0}
.step b {display:block;color:var(--green);font-size:12px;letter-spacing:.12em;margin:0 0 8px}
.step h3 {font-size:18px}
.step p {margin-bottom:0}
.diagnostic-grid {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:32px}
.diagnostic-line {display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:15px;padding:17px 0;border-top:1px solid var(--outline)}
.diagnostic-line h3 {font-size:17px;margin:0}
.diagnostic-line p {margin:0}
.diagnostic-line:last-child:nth-child(odd) {grid-column:1/-1}
.inline-info {display:flex;align-items:flex-start;gap:26px;flex-wrap:wrap;padding:20px 24px;background:var(--lilac);border-left:5px solid var(--plum);margin-top:24px}
.inline-info p {margin:0;flex:1 1 380px}
.inline-info strong {color:var(--plum-deep)}
.note-grid {display:grid;grid-template-columns:1fr 1fr;gap:26px}
.note-grid > div {padding-top:15px;border-top:2px solid var(--green)}
.service-strip {padding-block:30px;background:var(--plum);color:#fff}
.service-strip .wrap {display:flex;gap:22px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.service-strip p {margin:0;max-width:740px;color:#fff}
.service-strip .cta.phone {background:#fff;color:var(--plum-deep);border-color:#fff}
.service-strip .cta.form {border-color:#fff;color:#fff}
.service-strip .cta.form:hover {color:var(--plum-deep);background:#fff}
.service-strip .cta-pair {margin:0}
.hours {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.hours > div {padding:14px 16px;background:var(--base);border-top:3px solid var(--green)}
.hours b {display:block;color:var(--plum-deep)}
.hours span {font-size:14px}
.footer {background:#eeeaf6;border-top:1px solid var(--outline);padding:29px 0}
.footer .wrap {display:flex;gap:18px;flex-wrap:wrap;align-items:start;justify-content:space-between}
.footer strong {color:var(--plum-deep);font-size:18px}
.footer small {display:block;color:var(--muted);margin-top:3px}
.footer-links {display:flex;align-items:center;gap:13px;flex-wrap:wrap}
.footer-links a {text-decoration:none;font-size:14px;font-weight:650}
.footer-links a:last-child {font-size:12px;color:var(--muted)}
@media(max-width:1100px) {
    .wrap {width:min(100% - 56px,1240px)}
    .head-row {gap:16px}
    .desktop-nav {gap:11px}
    .desktop-nav a {font-size:13px}
    .head-call {font-size:12px;padding-inline:10px}
    .hero-grid {gap:25px;grid-template-columns:minmax(0,1fr) minmax(0,.82fr)}
    .visual {padding-inline:15px}
}
@media(max-width:850px) {
    .desktop-nav,.head-call {display:none}
    .mobile-nav {display:block}
    .hero-grid {grid-template-columns:1fr;gap:24px}
    .hero .wrap {padding-block:37px}
    .hero-lead {max-width:100%}
    .visual {min-height:252px;max-width:650px;width:100%;margin-inline:auto}
    .visual--solo {min-height:260px}
    .service-lines {column-gap:22px}
    .text-columns {gap:26px}
    .diagnostic-grid {grid-template-columns:1fr}
    .steps {grid-template-columns:1fr 1fr}
    .steps .step:last-child:nth-child(odd) {grid-column:1/-1}
}
@media(max-width:610px) {
    .wrap {width:calc(100% - 36px)}
    .ribbon .wrap {font-size:11px;flex-wrap:wrap;gap:2px 12px}
    .head-row {min-height:70px}
    .logo {font-size:18px}
    h1 {font-size:40px}
    h2 {font-size:28px}
    p {font-size:16px}
    .hero-lead {font-size:16px}
    .section {padding-block:37px}
    .location-bar {padding-block:30px}
    .service-lines,.text-columns,.note-grid {grid-template-columns:1fr;gap:0}
    .service-line:last-child:nth-child(odd) {grid-column:auto}
    .text-columns {gap:19px}
    .steps {grid-template-columns:1fr;gap:19px}
    .steps .step:last-child:nth-child(odd) {grid-column:auto}
    .diagnostic-line {grid-template-columns:1fr;gap:4px}
    .cta-pair {display:grid;grid-template-columns:1fr}
    .cta {width:100%}
    .visual {min-height:260px;gap:10px}
    .visual--solo {min-height:260px}
    .visual--solo .appliance {transform:scale(1)}
    .appliance.washer {width:133px;height:184px}
    .appliance.washer .drum {left:19px;top:52px}
    .appliance.fridge {width:95px;height:204px}
    .appliance.oven {width:150px;height:181px}
    .appliance.dishwasher {width:145px;height:190px}
    .service-strip .cta-pair {width:100%;margin:0}
    .footer .wrap {display:block}
    .footer-links {margin-top:15px}
    .hours {grid-template-columns:1fr}
}
@media(max-width:345px) {
    .visual {padding-inline:8px;gap:9px}
    .appliance.washer {width:118px;height:175px}
    .appliance.washer .drum {left:13px;top:48px}
    .appliance.fridge {width:85px;height:195px}
    .cta {padding-inline:8px}
}
@media(max-width:610px) {
    .visual--dual .appliance.dishwasher {width:117px;height:182px}
    .visual--dual .appliance.oven {width:119px;height:175px}
    .visual--dual .appliance.oven .window {left:11px;right:11px;top:48px;height:89px}
    .visual--dual .appliance.dishwasher .tray {left:11px;right:11px;top:61px}
}

.appliance.dryer {width:163px;height:209px;background:#fff;border:7px solid #846ba2;border-radius:11px;box-shadow:8px 9px 0 #ddd3ed}
.appliance.dryer::before {content:"";position:absolute;left:0;right:0;top:36px;border-top:5px solid #d9d0e9}
.dryer-panel {position:absolute;top:12px;left:13px;width:63px;height:14px;background:#e0f1e9;border:2px solid var(--green);border-radius:3px}
.dryer-panel::after {content:"";position:absolute;left:94px;top:-1px;width:17px;height:17px;border:4px solid var(--plum);border-radius:50%;background:#fff}
.dryer-door {position:absolute;top:61px;left:28px;width:94px;height:94px;border:8px solid var(--plum);border-radius:50%;background:#e6f0f0}
.dryer-drum {position:absolute;top:87px;left:52px;width:46px;height:46px;border:6px solid #a4d1bf;border-top-color:var(--plum);border-radius:50%;transform:rotate(-34deg)}
.appliance.induction {width:200px;height:148px;background:#f4f1fa;border:8px solid #846ba2;border-radius:9px;box-shadow:8px 9px 0 #ddd3ed}
.appliance.induction .coil {position:absolute;width:49px;height:49px;border-radius:50%;border:5px solid #b6a5d2;background:transparent}
.appliance.induction .coil::before {content:"";position:absolute;inset:8px;border:3px solid #93cbb6;border-radius:50%}
.appliance.induction .coil-a {left:24px;top:16px}
.appliance.induction .coil-b {right:24px;top:16px}
.appliance.induction .coil-c {left:24px;bottom:13px}
.appliance.induction .coil-d {right:24px;bottom:13px}
.appliance.induction .touch {position:absolute;width:44px;height:6px;left:calc(50% - 22px);bottom:8px;border-radius:5px;background:var(--green)}
@media (max-width:390px) {
 .visual--solo .appliance.induction {transform:scale(.94)}
 .visual--solo .appliance.dryer {transform:scale(.95)}
}
