:root {
    --bg: #f7f7fd;
    --white: #ffffff;
    --fog: #eef0fa;
    --ink: #465670;
    --heading: #564878;
    --accent: #6f56ac;
    --accent-hover: #58428e;
    --accent-light: #eee9f9;
    --red: #c75263;
    --red-hover: #a93e55;
    --edge: #dcd9ed;
    --fresh: #d7efeb;
    --max: 1220px;
}
* {box-sizing: border-box;}
html {scroll-behavior: smooth;}
body {margin: 0; background: var(--bg); color: var(--ink); font-family: system-ui, -apple-system, "Segoe UI", Arial, sans-serif; line-height: 1.65;}
a {color: var(--accent); text-underline-offset: 3px;}
a:hover {color: var(--red-hover);}
a:focus-visible {outline: 3px solid var(--red); outline-offset: 4px;}
a:active {opacity: .86;}
.wrap {width: min(calc(100% - 56px), var(--max)); margin: 0 auto;}
h1, h2, h3, p {margin-top: 0;}
h1 {font-size: 40px; font-weight: 790; line-height: 1.16; letter-spacing: -1.25px; color: var(--heading); margin-bottom: 19px; overflow-wrap: anywhere;}
h2 {font-size: 28px; font-weight: 760; line-height: 1.26; letter-spacing: -.65px; color: var(--heading); margin-bottom: 17px; overflow-wrap: anywhere;}
h3 {font-size: 19px; font-weight: 760; line-height: 1.34; color: var(--heading); margin-bottom: 12px;}
p {font-size: 16px; line-height: 1.72; margin-bottom: 16px;}
strong {font-weight: 750;}
.site-header {background: var(--white); border-bottom: 3px solid var(--accent-light);}
.header-inner {min-height: 91px; display: flex; align-items: center; gap: 23px;}
.brand {display: inline-flex; align-items: center; gap: 12px; text-decoration: none; color: var(--heading); font-size: 20px; font-weight: 800; line-height: 1.15; letter-spacing: -.4px; flex: 0 0 auto;}
.brand:hover {color: var(--accent);}
.brand-seal {width: 43px; height: 43px; border: 3px solid var(--accent); border-radius: 9px 9px 17px 9px; position: relative; display: inline-block; background: var(--accent-light);}
.brand-seal:before {content: ""; width: 18px; height: 18px; border: 3px solid var(--red); border-radius: 50%; position: absolute; left: 8px; top: 8px;}
.brand-seal:after {content: ""; position: absolute; width: 6px; height: 6px; border-radius: 50%; background: var(--accent); top: 5px; right: 5px;}
.nav-links {display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; column-gap: 22px; row-gap: 5px; margin-left: auto;}
.nav-links a {font-size: 15px; font-weight: 690; color: var(--ink); text-decoration: none; white-space: nowrap;}
.nav-links a:hover, .nav-links a[aria-current="page"] {color: var(--accent);}
.header-actions {display: flex; align-items: center; gap: 8px; flex-wrap: wrap;}
.btn {display: inline-flex; justify-content: center; align-items: center; min-height: 49px; padding: 10px 20px; border: 2px solid transparent; border-radius: 7px 7px 18px 7px; background: var(--accent); color: var(--white); font-size: 16px; font-weight: 760; text-decoration: none; text-align: center; line-height: 1.35; white-space: nowrap; transition: background-color .15s, color .15s, border-color .15s;}
.btn:hover {background: var(--accent-hover); color: var(--white);}
.btn--outline {background: var(--white); color: var(--accent); border-color: var(--accent);}
.btn--outline:hover {background: var(--accent-light); color: var(--accent-hover);}
.btn--red {background: var(--red);}
.btn--red:hover {background: var(--red-hover);}
.btn--small {font-size: 14px; min-height: 39px; padding: 7px 13px; border-radius: 6px 6px 13px 6px;}
.action-pair {display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px;}
.eyebrow {display: block; color: var(--accent); font-weight: 800; font-size: 13px; letter-spacing: 1.25px; text-transform: uppercase; margin-bottom: 13px;}
.hero {position: relative; overflow: hidden; background: linear-gradient(118deg,#f8f7ff 0%,#eef1fd 100%); border-bottom: 1px solid var(--edge); padding: 55px 0 45px;}
.hero-inner {display: grid; grid-template-columns: minmax(0,1.17fr) minmax(315px,.83fr); align-items: center; gap: clamp(24px,3vw,55px);}
.hero-copy {min-width: 0;}
.hero-copy p {max-width: 720px;}
.hero-copy p:last-of-type {margin-bottom: 0;}
.art-board {position: relative; width: 100%; padding: 26px 18px 18px; border: 2px solid var(--edge); background: var(--white); border-radius: 8px 8px 32px 8px; box-shadow: 10px 10px 0 var(--accent-light);}
.art-board:before {content: ""; position: absolute; left: 17px; top: 13px; width: 35px; height: 3px; background: var(--red); box-shadow: 47px 0 0 var(--accent), 94px 0 0 var(--red);}
.device-workbench {height: 272px; display: grid; place-items: center; position: relative; background: repeating-linear-gradient(90deg,#f8f8fd 0,#f8f8fd 22px,#f1f0fa 23px,#f1f0fa 24px); border-radius: 6px 6px 18px 6px; overflow: hidden;}
.device-workbench:after {content: ""; position: absolute; bottom: 23px; width: 71%; height: 2px; background: #b7accf;}
.appliance {position: relative; width: 181px; height: 215px; background: #fff; border: 6px solid var(--accent); border-radius: 11px; z-index: 1; box-shadow: 12px 10px 0 #d5cbea;}
.appliance:before {content: ""; position: absolute; left: 0; right: 0; top: 41px; height: 5px; background: var(--accent);}
.appliance-control {position: absolute; left: 14px; top: 12px; width: 39px; height: 12px; border-radius: 3px; background: #c8c0e0;}
.appliance-control:after {content: ""; width: 16px; height: 16px; position: absolute; top: -2px; left: 115px; border: 3px solid var(--red); border-radius: 50%;}
.appliance-door {position: absolute; left: 25px; top: 66px; width: 120px; height: 120px; border-radius: 50%; border: 9px solid var(--red); background: #e5ecfa; box-shadow: inset 0 0 0 9px #c4d5e8;}
.appliance-door:after {content: ""; position: absolute; width: 50px; height: 50px; border: 14px solid #9db9d9; border-top-color: transparent; border-radius: 50%; top: 21px; left: 21px; transform: rotate(-32deg);}
.art--dishwasher .appliance-door {left: 10px; top: 60px; width: 146px; height: 126px; border-radius: 3px; border: 6px solid var(--red); background: repeating-linear-gradient(90deg,#e2e6f5 0,#e2e6f5 14px,#c4cfeb 15px,#c4cfeb 19px); box-shadow: inset 0 -18px 0 #d3c8e8;}
.art--dishwasher .appliance-door:after {left: 26px; top: 23px; width: 76px; height: 29px; transform: none; border: 5px solid var(--accent); border-radius: 4px 4px 22px 22px; background: transparent;}
.art--fridge .appliance {width: 160px; height: 228px;}
.art--fridge .appliance:before {top: 143px;}
.art--fridge .appliance-control {display: none;}
.art--fridge .appliance-door {left: 0; top: 0; width: 100%; height: 138px; border: 0; border-radius: 0; background: #e6edf8; box-shadow: none;}
.art--fridge .appliance-door:after {left: 12px; top: 52px; width: 9px; height: 49px; background: var(--red); border: none; transform: none; border-radius: 9px; box-shadow: 0 116px 0 var(--red);}
.art--oven .appliance-door {left: 12px; top: 59px; width: 140px; height: 123px; border-radius: 4px; border: 9px solid var(--red); background: #c7d7ef; box-shadow: inset 0 -15px 0 #a7b9d8;}
.art--oven .appliance-door:after {left: 18px; top: 21px; width: 86px; height: 5px; border: none; background: var(--accent); border-radius: 5px; transform: none;}
.art--service .appliance {transform: rotate(-3deg);}
.art--service .device-workbench {background: repeating-linear-gradient(90deg,#f9f7ff 0,#f9f7ff 22px,#eeebf9 23px,#eeebf9 24px);}
.service-tool {position: absolute; left: calc(50% + 75px); top: 144px; width: 17px; height: 86px; background: var(--red); border-radius: 10px; transform: rotate(35deg); z-index: 2; border: 3px solid #fff;}
.service-tool:after {content: ""; width: 28px; height: 25px; position: absolute; border: 8px solid var(--accent); border-bottom-color: transparent; border-radius: 8px; top: -22px; left: -13px;}
.art-caption {display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 14px; font-size: 13px; font-weight: 750; color: var(--accent); letter-spacing: .45px;}
.art-caption span:last-child {color: var(--red);}
.section {padding: 51px 0 55px; border-bottom: 1px solid var(--edge); background: var(--white);}
.section--soft {background: var(--bg);}
.section--tint {background: var(--fog);}
.section-head {max-width: 910px; margin-bottom: 23px;}
.section-head p:last-child {margin-bottom: 0;}
.route-strip {padding: 27px 0 28px; border-bottom: 1px solid var(--edge); background: var(--white);}
.route-strip--late {background: var(--bg); padding-top: 38px; padding-bottom: 37px;}
.route-strip h2 {margin-bottom: 16px;}
.location-chips {display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 16px;}
.location-chip {display: inline-flex; padding: 6px 13px; background: #f0edfa; color: var(--heading); border: 1px solid #d5c9ec; border-radius: 5px 5px 13px 5px; font-size: 15px; line-height: 1.55;}
.route-strip p {margin: 0;}
.text-grid {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 34px;}
.text-grid article {border-left: 4px solid var(--accent-light); padding-left: 18px; min-width: 0;}
.text-grid article:nth-child(even) {border-left-color: #f0ccd1;}
.text-grid h3 {margin-bottom: 10px;}
.text-grid p:last-child {margin-bottom: 0;}
.topic-sequence {display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 17px;}
.topic-sequence article {background: var(--white); border-top: 4px solid var(--accent); padding: 19px 21px 16px; box-shadow: 0 1px 0 var(--edge); min-width: 0;}
.topic-sequence article:nth-child(2) {border-top-color: var(--red);}
.topic-sequence article:nth-child(3) {border-top-color: #7ba6ac;}
.topic-sequence p:last-child {margin-bottom: 0;}
.service-rows {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 32px;}
.service-row {display: flex; align-items: baseline; gap: 14px; padding: 18px 0; border-bottom: 1px solid var(--edge);}
.service-row strong {flex: 0 0 155px; font-size: 16px; color: var(--heading);}
.service-row p {margin: 0;}
.note-band {padding: 35px 0; background: var(--accent-light); border-top: 1px solid var(--edge); border-bottom: 1px solid var(--edge);}
.note-band-inner {display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 24px; align-items: center;}
.note-band h2 {margin-bottom: 8px;}
.note-band p {margin-bottom: 0;}
.note-band .action-pair {margin-top: 0;}
.checklist {padding: 0; margin: 0; list-style: none;}
.checklist li {display: flex; align-items: baseline; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--edge); font-size: 16px;}
.checklist li:before {content: ""; display: block; flex: 0 0 9px; height: 9px; border: 2px solid var(--red); border-radius: 50%;}
.solo {max-width: 985px;}
.solo p:last-child {margin-bottom: 0;}
.hours-table {display: grid; grid-template-columns: 1fr auto; max-width: 680px; gap: 0 16px; background: #f8f7fe; border-top: 3px solid var(--accent); padding: 0 19px;}
.hours-table span, .hours-table strong {padding: 12px 0; border-bottom: 1px solid var(--edge); font-size: 16px;}
.hours-table strong {font-variant-numeric: tabular-nums; color: var(--heading);}
.site-footer {background: #eae7f4; padding: 30px 0 25px; border-top: 3px solid var(--accent);}
.footer-inner {display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 19px 35px;}
.footer-title {color: var(--heading); font-size: 19px; font-weight: 780;}
.footer-inner p {margin: 7px 0 0; font-size: 14px;}
.footer-links {display: flex; flex-wrap: wrap; gap: 10px 24px; align-items: center;}
.footer-links a {color: var(--heading); font-weight: 680; font-size: 15px; text-decoration: none;}
.footer-links a:hover {text-decoration: underline; color: var(--accent);}
.footer-privacy {font-size: 13px !important; color: #6f7189 !important;}
@media (max-width: 1210px) {
    .header-inner {gap: 15px;}
    .nav-links {column-gap: 13px;}
    .header-actions .btn {font-size: 13px; padding-inline: 10px;}
    .brand {font-size: 18px;}
}
@media (max-width: 1030px) {
    .header-inner {flex-wrap: wrap; padding: 15px 0; gap: 13px 19px;}
    .nav-links {order: 3; width: 100%; justify-content: flex-start; margin-left: 0; border-top: 1px solid var(--edge); padding-top: 10px; gap: 12px 25px;}
    .header-actions {margin-left: auto;}
    .hero-inner {grid-template-columns: minmax(0,1fr) minmax(260px,.75fr); gap: 27px;}
    .device-workbench {height: 254px;}
    .art-board {padding: 22px 12px 15px;}
    .note-band-inner {grid-template-columns: 1fr;}
}
@media (max-width: 770px) {
    .wrap {width: min(calc(100% - 34px),var(--max));}
    .hero {padding: 36px 0;}
    .hero-inner {grid-template-columns: 1fr; gap: 24px;}
    .art-board {max-width: 520px; margin: 0 auto;}
    .device-workbench {height: 235px;}
    .section {padding: 39px 0;}
    .topic-sequence {grid-template-columns: 1fr;}
    .topic-sequence article {padding: 19px;}
    .text-grid {grid-template-columns: 1fr; gap: 24px;}
    .service-rows {grid-template-columns: 1fr;}
    .route-strip {padding: 25px 0;}
}
@media (max-width: 520px) {
    .wrap {width: calc(100% - 30px);}
    .header-inner {justify-content: space-between;}
    .brand {font-size: 17px;}
    .header-actions {width: 100%; justify-content: stretch; margin-left: 0;}
    .header-actions .btn {flex: 1 1 120px;}
    .nav-links {justify-content: space-between; gap: 10px 15px;}
    .nav-links a {font-size: 14px;}
    .hero {padding: 30px 0;}
    .action-pair {gap: 9px;}
    .action-pair .btn {flex: 1 1 180px; white-space: normal;}
    .device-workbench {height: 228px;}
    .note-band .action-pair .btn {flex: 1 1 100%;}
    .service-row {display: block;}
    .service-row strong {display: block; margin-bottom: 5px;}
    .footer-inner {display: block;}
    .footer-links {margin-top: 18px;}
}


.art--ceramic .device-workbench, .art--induction .device-workbench {background: repeating-linear-gradient(0deg,#f7f7fe 0,#f7f7fe 22px,#ececf9 23px,#ececf9 24px);}
.cooktop {position: relative; width: 214px; height: 224px; background: #d5d2e7; border: 9px solid var(--accent); border-radius: 12px 12px 17px 17px; transform: perspective(560px) rotateX(13deg); box-shadow: 10px 10px 0 #e5dff4; z-index: 1; display:grid; grid-template-columns: repeat(2,1fr); grid-template-rows: repeat(2,1fr); place-items:center; padding:13px; gap:14px;}
.cooktop span {position: relative; display:block; width: 77px; height: 77px; border: 6px solid var(--red); border-radius:50%; background: #eee9f7; box-shadow:inset 0 0 0 5px #eee9f7,inset 0 0 0 9px #df9aa3;}
.cooktop span:after {content:""; position:absolute; width:6px; height:6px; border-radius:50%; background:var(--accent); bottom:-13px; left:33px;}
.art--induction .cooktop {background: #837da4; border-color:#564878;}
.art--induction .cooktop span {border: 3px solid #e5d9f4; background:transparent;box-shadow:inset 0 0 0 5px #837da4,inset 0 0 0 8px #d9c7e7,inset 0 0 0 13px #837da4,inset 0 0 0 16px #d9c7e7;}
.art--induction .cooktop span:after {background:#f2d5db;}
.induction-pot {position:absolute; width:78px; height:55px; background:#f9f9fe; border:8px solid var(--accent); border-radius:8px 8px 20px 20px; top:42px; left:calc(50% - 75px); transform: rotate(-10deg); z-index:3; box-shadow:0 4px 0 #cbc0e5;}
.induction-pot:before {content:""; position:absolute; top:-16px; width:58px; left:2px; height:9px; border:5px solid var(--red); border-radius:50%; background:#e7e3f3;}
.induction-pot:after {content:""; position:absolute; top:12px; width:22px; left:56px; height:8px; border-radius:8px; background:var(--red);}
.art--dryer .appliance-door {border:9px solid var(--accent); box-shadow: inset 0 0 0 9px #c8c3df; background: #e4ebf7;}
.art--dryer .appliance-door:after {border:12px solid #a4bed4; border-bottom-color:transparent; transform:rotate(20deg);}
.dryer-vent {position:absolute; z-index:3; left: calc(50% + 62px); bottom:47px; width:37px; height:28px; border:3px solid var(--red); border-radius:4px; background: repeating-linear-gradient(0deg,#efe9f8 0,#efe9f8 5px,#bbacd6 6px,#bbacd6 8px);}
.diagnostic-mark {position:absolute; right:24px; top:22px; width:21px; height:21px; border-radius:50%; border:4px solid var(--red); background:var(--white); box-shadow:0 0 0 5px #f2e6f3;}
.art--issue .diagnostic-mark:after {content:""; display:block; position:absolute; left:6px; top:16px; width:4px; height:34px; background:var(--red); border-radius:3px;transform:rotate(-33deg); transform-origin:top;}
.art--ceramic .diagnostic-mark, .art--induction .diagnostic-mark {right:14px;top:12px;}
@media(max-width:420px) {.cooktop {width:190px;height:202px; gap:8px;padding:10px;} .cooktop span {width:67px;height:67px;} .induction-pot {left:calc(50% - 65px);top:38px;} }
