[hidden]{display:none!important}
body{min-height:100vh;display:flex;flex-direction:column;font-family:'DM Sans',Arial,sans-serif}
button{cursor:pointer;font-family:inherit}h1,h2,h3{font-family:'Plus Jakarta Sans',Arial,sans-serif}
.header-caption{color:#63809e;font-size:12px}.journey{width:min(1100px,calc(100% - 48px));margin:28px auto;flex:1}
.journey-banner{position:relative;min-height:175px;background:linear-gradient(110deg,#082e68,#075f87);color:white;border-radius:22px;overflow:hidden;display:flex;align-items:center}
.banner-copy{padding:28px 34px;position:relative;z-index:1;width:65%}.banner-copy .eyebrow{color:#b9f0e7;font-size:10px}.banner-copy h1{font-size:32px;letter-spacing:-1px;outline:none}.banner-copy p:last-child{color:#d5e6f8;line-height:1.5;font-size:14px;margin-bottom:0}
.journey-banner .hero-art{position:absolute;right:0;width:36%;height:175px;box-shadow:none;border-radius:0;background:transparent;pointer-events:none}.journey-banner .house{transform:scale(.65);transform-origin:bottom;bottom:20px}.journey-banner .tree{transform:scale(.55);bottom:6px}.journey-banner .sun{top:19px}.journey-banner .path{right:40%;bottom:-72px}
.progress{padding:0;list-style:none;margin:24px 0;gap:14px;justify-content:flex-start;flex-wrap:wrap}.progress li{display:flex;gap:7px;align-items:center;font-size:12px}.progress li:after{content:'›';margin-left:8px;color:#a2b6cc}.progress li:last-child:after{content:none}.progress .number{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#e4edf7}.progress [aria-current=step]{color:#075fd0}.progress [aria-current=step] .number{color:white;background:#075fd0}.progress .completed{color:#168c80}
.screen{animation:screen-in .25s ease-out}.service-grid,.boiler-grid{max-width:none}.service-card{min-height:225px;padding:30px}.service-card strong{font-size:21px}.service-icon{font-size:38px;margin-bottom:25px}.service-card small{font-size:13px;padding-right:12px;line-height:1.5}.circle-arrow{width:34px;height:34px}
.boiler-card{padding:22px}.boiler-art,.boiler-art.compact,.boiler-art.tall{height:155px}.boiler-card p{font-size:12px}.boiler-card h3{font-size:19px}.select-boiler{font-size:12px;padding:11px 15px}.narrow-screen{max-width:630px;margin:auto;background:white;padding:24px 30px;border-radius:18px;box-shadow:var(--shadow)}
.summary{margin:0 0 16px;font-size:13px}.calendar-head h2{font-size:20px}.calendar button{aspect-ratio:auto;min-height:37px;font-size:13px}.calendar-weekdays{font-size:11px}.slot-buttons{margin-top:10px}.slot-buttons button{font-size:12px}.slot-buttons button:disabled{opacity:.4;cursor:not-allowed}.button:disabled{background:#c2d2df;box-shadow:none;cursor:not-allowed}label{font-size:12px}.form-grid{gap:12px}#form-error{color:#a32b2b;font-size:13px}:focus-visible{outline:3px solid #1a91cf;outline-offset:4px}
@keyframes screen-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.journey{width:calc(100% - 28px);margin:16px auto}.header-caption{display:none}.banner-copy{padding:23px;width:80%}.banner-copy h1{font-size:26px}.journey-banner .hero-art{opacity:.45;width:48%}.service-grid,.boiler-grid{grid-template-columns:1fr}.service-card{min-height:136px;padding:22px}.service-icon{font-size:26px;margin-bottom:9px}.service-card strong{font-size:18px}.service-card small{font-size:12px}.boiler-card{min-height:205px}.boiler-art{float:right!important;margin:0 10px 15px 20px!important}.boiler-card>div:last-child{clear:both}.narrow-screen{padding:20px}.progress{gap:8px}.progress li{font-size:10px}.progress li:after{margin-left:0}.progress .number{width:21px;height:21px}.form-grid{grid-template-columns:1fr 1fr}footer{padding:17px 20px;gap:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.screen,.boiler-card,.boiler-art,.service-card{animation:none!important;transition:none!important}}
