/* Clean Work brand palette shared by the website, quote and workspace. */
:root{--cw-navy:#23364b;--cw-blue:#315b9c;--cw-hover:#264a82;--cw-ink:#23364b;--cw-muted:#5c6672;--cw-border:#dce4eb;--cw-paper:#ffffff;--cw-background:#f1f5f7;--cw-tint:#e9f0f8;--cw-selected:#dce7f5}
body.cw-site,body.cw-quote{--navy:var(--cw-navy);--blue:var(--cw-blue);--ink:var(--cw-ink);--muted:var(--cw-muted);--line:var(--cw-border);--pale:var(--cw-background);--sky:var(--cw-tint);--soft:var(--cw-tint);--ok:var(--cw-blue);color:var(--cw-ink)}
body.cw-site .hero,body.cw-site .section.soft,body.cw-quote{background:var(--cw-background)}
body.cw-site .hero h1,body.cw-site .section h2,body.cw-site .service-card h3,body.cw-site .why-list h3,body.cw-site .step h3{color:var(--cw-navy)}
body.cw-site .hero h1 em,body.cw-site .overline,body.cw-site .service-card a{color:var(--cw-blue)}
body.cw-site .button:not(.secondary),body.cw-quote .primary,body.cw-quote .stepper button,body.cw-quote .bar{background:var(--cw-blue);color:white}
body.cw-site .button:not(.secondary):hover,body.cw-quote .primary:hover{background:var(--cw-hover)}
body.cw-site .button.secondary{background:var(--cw-paper);color:var(--cw-blue);border-color:var(--cw-border)}
body.cw-site .icon,body.cw-site .why-icon,body.cw-site .step b,body.cw-site .eyebrow{background:var(--cw-tint);color:var(--cw-blue);border-color:var(--cw-border)}
body.cw-site .service-card,body.cw-site .review-card,body.cw-site .step,body.cw-site .quote-embed,body.cw-site .work-grid figure{background:var(--cw-paper);border-color:var(--cw-border)}
body.cw-site .contact-band,body.cw-site .footer,body.cw-site .filter-button.active{background:var(--cw-navy);color:white}
body.cw-site .filter-button.active{border-color:var(--cw-navy)}
body.cw-site .contact-band p,body.cw-site .footer p,body.cw-site .footer-bottom{color:#ceddeb}
body.cw-site .footer a:hover{color:#92c7ff}
body.cw-quote .wrap{background:var(--cw-paper);border-color:var(--cw-border)}
body.cw-quote h1,body.cw-quote .live-price{color:var(--cw-navy)}
body.cw-quote .choice,body.cw-quote .property-option,body.cw-quote .extra,body.cw-quote input,body.cw-quote select,body.cw-quote textarea{border-color:var(--cw-border);color:var(--cw-ink)}
body.cw-quote .choice.selected,body.cw-quote .property-option.selected,body.cw-quote .extra:has(input:checked){background:var(--cw-tint);border-color:var(--cw-blue);color:var(--cw-navy)}
body.cw-quote .summary,body.cw-quote .supply-panel{background:var(--cw-tint);border-color:var(--cw-border)}
body.cw-quote .pill{background:var(--cw-selected);color:var(--cw-hover)}
body.cw-quote .secondary,body.cw-quote .notice{background:var(--cw-background);color:var(--cw-muted)}
html.embedded body.cw-quote .live-quote{background:var(--cw-navy)}
html.embedded body.cw-quote .live-price,html.embedded body.cw-quote .live-kicker{color:white}
html.embedded body.cw-quote .live-note{color:#ceddeb}
body:has(.team){background:var(--cw-background)}
body .team{--navy:var(--cw-navy);--blue:var(--cw-blue);--line:var(--cw-border);color:var(--cw-ink)}
body .team .team-sidebar{background:var(--cw-navy)}
body .team .team-sidebar button.active{background:#1b496f!important;color:white}
body .team .team-sidebar .mobile-menu-toggle{background:#1b496f!important}
body .team .primary{background:var(--cw-blue);border-color:var(--cw-blue);color:white}
body .team .primary:hover{background:var(--cw-hover);border-color:var(--cw-hover)}
body .team .panel,body .team .job,body .team .status-card{background:var(--cw-paper);border-color:var(--cw-border)}
body .team .job[aria-pressed=true],body .team .status-card[aria-pressed=true]{background:var(--cw-tint);border-color:var(--cw-blue)}
body .team h1,body .team h2,body .team h3{color:var(--cw-navy)}
body .team header p,body .team .panel>p,body .team .job p,body .team label{color:var(--cw-muted)}
body .team input,body .team select,body .team textarea{border-color:var(--cw-border);color:var(--cw-ink)}
body .team .booking,body .team .profit-results,body .team .travel-controls,body .team .rota-day{background:var(--cw-tint);border-color:var(--cw-border)}
body .team .invoice-filters button[aria-pressed=true],body .team .travel-days button[aria-pressed=true]{background:var(--cw-navy);border-color:var(--cw-navy);color:white}
body.cw-site .trust-badge{position:absolute;top:22px;right:18px;display:flex;align-items:center;gap:14px;padding:18px 22px;background:white;border:1px solid #e0e7ee;border-radius:18px;box-shadow:0 12px 32px #102e4724;color:var(--cw-navy);z-index:2;transition:transform .2s}body.cw-site .trust-badge:hover{transform:translateY(-2px)}.trust-star{width:54px;height:54px;display:grid;place-items:center;border-radius:14px;background:var(--cw-blue);color:white;font-size:33px;line-height:1;flex:none}.trust-badge strong{display:block;font-size:20px;font-weight:800;line-height:1.3;letter-spacing:-.02em}.trust-badge small{display:block;font-size:15px;color:var(--cw-muted);margin-top:4px}@media(max-width:560px){body.cw-site .trust-badge{top:14px;right:14px;padding:13px 16px;gap:11px;border-radius:15px}.trust-star{width:43px;height:43px;border-radius:11px;font-size:28px}.trust-badge strong{font-size:18px}.trust-badge small{font-size:14px}}@media(prefers-reduced-motion:reduce){body.cw-site .trust-badge{transition:none}}

body.cw-site .hero{background:linear-gradient(115deg,#eef3f5,#f7f9fa)}body.cw-site .button{border-radius:999px}body.cw-site .hero .eyebrow{border-radius:999px;background:#fff;color:var(--cw-blue)}body.cw-site .hero-facts span:before{background:var(--cw-tint);color:var(--cw-blue)}body.cw-site .hero-trust{display:flex;gap:38px;flex-wrap:wrap;margin-top:27px}body.cw-site .hero-trust a{display:flex;flex-direction:column;gap:4px}body.cw-site .hero-trust strong{font-size:clamp(32px,4vw,46px);line-height:1.2;color:var(--cw-blue);font-weight:800}body.cw-site .hero-trust span{font-size:14px;color:var(--cw-muted);max-width:165px;line-height:1.4}@media(max-width:420px){body.cw-site .hero-trust{gap:24px}body.cw-site .hero-trust span{max-width:140px}}

body.cw-site .service-card .carpet-minimum{display:inline-block;margin:0 0 14px;padding:8px 12px;border-radius:10px;background:var(--cw-tint);color:var(--cw-blue);font-size:15px;line-height:1.5}
/* Modern quote builder, shared by embedded and full-page views. */
body.cw-quote{background:#eef2f7;font-size:16px;line-height:1.6;font-variant-numeric:tabular-nums}
body.cw-quote .wrap{max-width:820px;margin:32px auto 0;min-height:calc(100vh - 32px);padding:32px 38px 145px;border:1px solid #e1e7ef;border-radius:26px 26px 0 0;box-shadow:0 12px 50px #23364b08}
body.cw-quote .brand{gap:18px;padding-bottom:22px;margin-bottom:24px;justify-content:flex-start;border-color:#e8edf3}
body.cw-quote .logo-frame{width:66px;height:66px;background:white;border:1px solid #e2e8f0;border-radius:18px;flex:none}
body.cw-quote .logo-frame img{width:66px;height:66px;object-fit:cover}
.quote-brand-copy strong{display:block;font-size:20px;letter-spacing:-.035em;color:var(--cw-navy)}.quote-brand-copy span{display:block;font-size:14px;color:var(--cw-muted);margin-top:3px}
.quote-stage{display:flex;justify-content:space-between;gap:14px;font-size:14px;color:var(--cw-muted);margin-bottom:10px}.quote-stage>span:first-child{font-weight:650;color:var(--cw-blue)}
body.cw-quote .progress{height:7px;background:#e9eef5;margin-bottom:30px}.cw-quote .bar{border-radius:9px}
body.cw-quote h1{font-size:clamp(28px,4vw,38px);line-height:1.18;letter-spacing:-.045em;font-weight:750;margin-bottom:12px}
body.cw-quote h2{font-size:20px;letter-spacing:-.025em;font-weight:700}
body.cw-quote .step>p{margin-top:0;font-size:16px;line-height:1.65;max-width:640px}
body.cw-quote .pill{border-radius:999px;background:#edf2fa;color:#526b90;font-size:13px;padding:5px 11px;margin-bottom:14px}
body.cw-quote #serviceChoices{gap:14px;margin:26px 0}
body.cw-quote #serviceChoices .choice{position:relative;min-height:172px;padding:22px;border:1px solid #e0e7f0;border-radius:19px;gap:6px;box-shadow:0 4px 14px #23364b03;font-size:17px;font-weight:700;justify-content:flex-start}
body.cw-quote #serviceChoices .service-picture{display:grid;place-items:center;background:#f1f5fb;width:48px;height:48px;border:1px solid #e6edf6;border-radius:14px;font-size:27px;margin-bottom:7px}
body.cw-quote .choice small{font-size:14px;line-height:1.55;font-weight:400;margin-top:2px}
body.cw-quote .choice:hover,body.cw-quote .property-option:hover,body.cw-quote .extra:hover{background:#f8faff;border-color:#a8bbd6;box-shadow:0 6px 20px #23364b06}
body.cw-quote .choice.selected,body.cw-quote .property-option.selected{background:#eef3fc;border-color:var(--cw-blue);box-shadow:0 0 0 1px var(--cw-blue)}
body.cw-quote .choice.selected:after{position:absolute;top:17px;right:17px;display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:var(--cw-blue);color:white;font-size:14px}
body.cw-quote .choice{position:relative;padding:20px 48px 20px 21px}
body.cw-quote .property-option{border-radius:17px;min-height:130px;padding:20px 12px;gap:13px;font-size:15px}
body.cw-quote label{font-size:14px;font-weight:650;color:#4a5e78;margin:20px 0 9px}
body.cw-quote input,body.cw-quote select,body.cw-quote textarea{background:#f8fafc;border:1px solid #dce4ef;border-radius:13px;min-height:50px;padding:13px 15px;font-size:16px;color:var(--cw-ink)}
body.cw-quote input:focus,body.cw-quote select:focus,body.cw-quote textarea:focus{background:white;border-color:var(--cw-blue);box-shadow:0 0 0 3px #315b9c12}
body.cw-quote textarea{min-height:125px;resize:vertical}.cw-quote input[type=checkbox]{min-height:0;accent-color:var(--cw-blue)}
body.cw-quote .stepper{background:#f7f9fc;padding:11px;border-color:#e0e7f0;border-radius:15px}.cw-quote .stepper input{background:transparent;border:0;min-height:42px;box-shadow:none;font-size:22px}
body.cw-quote .stepper button{border-radius:11px;background:var(--cw-blue);font-size:23px}
body.cw-quote .extra{margin:0;border-radius:17px;background:white;border-color:#e0e7f0;padding:20px;min-height:100px;box-shadow:0 4px 14px #23364b03}.cw-quote .extra-copy{font-size:15px;line-height:1.5}
body.cw-quote .extra input[type=number]{width:72px!important;background:#f2f5fa;border-radius:11px}.cw-quote .extra:has(input:checked){background:#eef3fc;border-color:var(--cw-blue)}
body.cw-quote .buttons{padding-top:22px;border-top:1px solid #e8edf4;margin-top:28px;gap:12px}.cw-quote .btn{border-radius:13px;min-height:50px;font-weight:650;font-size:16px}
body.cw-quote .primary{box-shadow:0 5px 14px #315b9c20}.cw-quote .secondary{border:1px solid #e0e7f0;background:#f7f9fc;color:#52647b}
body.cw-quote .summary{border-radius:20px;padding:25px;background:#f6f9fd;border-color:#dfe7f2}.cw-quote .price{font-size:clamp(34px,6vw,46px);line-height:1.3;letter-spacing:-.06em;color:var(--cw-blue)}
body.cw-quote .row{font-size:15px;padding:14px 0;border-color:#e2e9f2}.cw-quote .row strong{text-align:right}.cw-quote .notice{border-radius:15px;padding:18px;font-size:14px;line-height:1.7;background:#f5f7fb;color:#5a6d84}
body.cw-quote .schedule-card{border:1px solid #e0e7f0;border-radius:20px;padding:22px;box-shadow:0 4px 14px #23364b03}.cw-quote .calendar-day{background:#f3f6fa;border-radius:12px;min-height:44px;font-size:16px}.cw-quote .calendar-nav{background:#f0f4fa;border-color:#dfe7f0}.cw-quote .calendar-day.selected,.cw-quote .time-choice.selected{background:var(--cw-blue);border-color:var(--cw-blue);color:white}.cw-quote .time-choice{border-width:1px;font-size:15px;font-weight:600}
body.cw-quote .supply-panel{background:#f3f7fd;border-color:#dce7f6;border-radius:18px;padding:22px}.cw-quote .supply-panel input{min-height:0;padding:0}.cw-quote .supply-panel label{margin-bottom:0}
body.cw-quote input[type=file]{padding:24px;border:1px dashed #a8bbd6;background:#f5f8fd}.cw-quote input::file-selector-button{background:#e5edf9;color:#315b9c;border:0;border-radius:9px;padding:10px 13px;margin-right:12px;font-weight:650}
body.cw-quote .photo-preview{gap:12px}.cw-quote .photo-preview img{border-radius:14px}.cw-quote .review-line{font-size:15px;padding:16px 0}.cw-quote .review-picture{background:#eaf0fa;border-radius:10px;width:32px;height:32px;display:grid;place-items:center;font-size:19px}
body.cw-quote .live-quote{width:min(820px,100%);padding:18px 38px calc(18px + env(safe-area-inset-bottom));background:#ffffffed;border-color:#dfe6ef;box-shadow:0 -8px 30px #23364b0a}.cw-quote .live-price{font-size:30px;color:var(--cw-blue);letter-spacing:-.04em}.cw-quote .live-kicker{font-size:12px;letter-spacing:.12em}.cw-quote .live-note{font-size:13px;line-height:1.45;max-width:430px}.cw-quote .live-inner>div:last-child{min-width:0}
html.embedded body.cw-quote .wrap{margin:0;max-width:820px;min-height:0;border:0;box-shadow:none;border-radius:0;padding:30px 34px 24px}
html.embedded body.cw-quote .live-quote{background:linear-gradient(130deg,#315b9c,#264a82);border-radius:18px;padding:22px;margin-top:28px;box-shadow:0 8px 22px #315b9c18}
html.embedded body.cw-quote .live-price,html.embedded body.cw-quote .live-kicker{color:white}html.embedded body.cw-quote .live-note{color:#dce7f8}
@media(max-width:560px){body.cw-quote .wrap,html.embedded body.cw-quote .wrap{margin:0;border:0;border-radius:0;padding:22px 18px 155px;box-shadow:none}html.embedded body.cw-quote .wrap{padding-bottom:22px}.quote-brand-copy strong{font-size:18px}.quote-brand-copy span{font-size:13px}body.cw-quote .brand{gap:13px}body.cw-quote .logo-frame{width:55px;height:55px;border-radius:15px}.cw-quote .logo-frame img{width:55px;height:55px}.quote-stage{font-size:13px}body.cw-quote #serviceChoices{grid-template-columns:1fr;gap:11px}body.cw-quote #serviceChoices .choice{min-height:0;padding:20px 45px 20px 20px}body.cw-quote #serviceChoices .service-picture{width:43px;height:43px;font-size:25px}body.cw-quote .summary{padding:20px}.cw-quote .schedule-card{padding:16px}.cw-quote .time-choices{grid-template-columns:repeat(3,minmax(0,1fr))}body.cw-quote .extra{min-height:85px;padding:18px}body.cw-quote .live-quote{padding:16px 18px calc(16px + env(safe-area-inset-bottom))}.cw-quote .live-price{font-size:25px}.cw-quote .live-inner{align-items:flex-start;gap:12px}.cw-quote .live-note{font-size:12px}.cw-quote .review-line{grid-template-columns:32px 75px minmax(0,1fr);gap:7px;font-size:14px}.cw-quote .row{gap:14px}.cw-quote .buttons .secondary{padding:14px 17px}}
@media(prefers-reduced-motion:reduce){body.cw-quote *{transition:none!important}}
/* Phone quote fields avoid focus zoom and keep long estimates readable. */
@media(max-width:560px){
 body.cw-quote input,body.cw-quote select,body.cw-quote textarea{font-size:16px;min-width:0}
 .cw-quote .quote-stage{gap:12px}.cw-quote .quote-stage>span:first-child{min-width:0}.cw-quote .quote-stage>span:last-child{flex-shrink:0}
 .cw-quote .row{flex-wrap:wrap;overflow-wrap:anywhere}.cw-quote .row>*{min-width:0;max-width:100%}
 .cw-quote .live-inner{flex-wrap:wrap}.cw-quote .live-inner>div:last-child{flex:1 1 190px}.cw-quote .live-price{overflow-wrap:anywhere;line-height:1.3}
 body.cw-quote .wrap{padding-bottom:calc(190px + env(safe-area-inset-bottom))}html.embedded body.cw-quote .wrap{padding-bottom:22px}
 .cw-quote .buttons{flex-wrap:wrap}.cw-quote .buttons .primary{min-width:130px}.cw-quote .extra-copy{min-width:0;overflow-wrap:anywhere}
}
/* Website-matched quote surfaces, without changing service calculations. */
html body.cw-quote{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
html body.cw-quote button,html body.cw-quote input,html body.cw-quote select,html body.cw-quote textarea{font-family:inherit}
html body.cw-quote h2,html body.cw-quote .quote-brand-copy strong{letter-spacing:-.04em;font-weight:750}
html body.cw-quote{background:linear-gradient(115deg,#eef3f5,#f7f9fa)}
html body.cw-quote .wrap{border-color:var(--cw-border);border-radius:22px 22px 0 0;box-shadow:0 12px 32px #23364b0a}
html body.cw-quote .brand{border-bottom:1px solid var(--cw-border);padding-bottom:24px}
html body.cw-quote .logo-frame{border:0;background:transparent}
html body.cw-quote .logo-frame img{object-fit:contain}
html body.cw-quote h1{letter-spacing:-.055em;font-weight:750;line-height:1.16;color:var(--cw-navy)}
html body.cw-quote .pill{background:var(--cw-tint);color:var(--cw-blue)}
html body.cw-quote #serviceChoices .choice,html body.cw-quote .property-option,html body.cw-quote .extra{border-color:var(--cw-border);border-radius:18px;box-shadow:0 4px 16px #23364b05}
html body.cw-quote #serviceChoices .service-picture,html body.cw-quote .review-picture{background:var(--cw-tint);border-color:var(--cw-border);color:var(--cw-blue)}
html body.cw-quote .choice.selected,html body.cw-quote #serviceChoices .choice.selected,html body.cw-quote .property-option.selected,html body.cw-quote .extra.selected{background:var(--cw-tint);border-color:var(--cw-blue);color:var(--cw-navy);box-shadow:0 0 0 1px var(--cw-blue)}
html body.cw-quote #serviceChoices .choice.selected:after,html body.cw-quote .extra-qty button{background:var(--cw-blue);color:white}
html body.cw-quote .btn{border-radius:999px;padding:14px 24px;font-weight:700}
html body.cw-quote .secondary{background:white;color:var(--cw-blue);border-color:var(--cw-border)}
html body.cw-quote .summary,html body.cw-quote .supply-panel,html body.cw-quote .notice{background:var(--cw-background);border-color:var(--cw-border);color:var(--cw-muted)}
html body.cw-quote .live-quote,html.embedded body.cw-quote .live-quote{background:var(--cw-navy);border-color:var(--cw-navy)}
html body.cw-quote .live-price,html body.cw-quote .live-kicker{color:white}
html body.cw-quote .live-note{color:#ceddeb}
html body.cw-quote :is(.choice,.property-option,.extra-qty button,.btn):focus-visible{outline:3px solid var(--cw-blue);outline-offset:3px}
@media(max-width:560px){html body.cw-quote .wrap{border-radius:0}html body.cw-quote .buttons .btn{flex:1 1 130px}html body.cw-quote .live-price{font-size:25px}}
