.csb,.csb *{box-sizing:border-box}.csb{--ink:#06111e;--panel:#0b1b2b;--line:#29445d;--blue:#2859d8;--bright:#4d88ff;--text:#f4f7fc;--muted:#b7c4d5;min-height:100vh;background:radial-gradient(circle at 50% 8%,rgba(37,91,192,.18),transparent 33%),#06111e;color:var(--text);font-family:Outfit,Arial,sans-serif;line-height:1.5}.csb-shell{width:min(1160px,calc(100% - 40px));margin-inline:auto}.csb-header{border-bottom:1px solid rgba(143,185,234,.16);background:rgba(4,12,22,.88)}.csb-header-inner{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:20px}.csb-logo{display:block;width:230px;max-width:100%;height:auto}.csb-header-phone{color:#fff;text-decoration:none;font-weight:700;font-size:14px;border:1px solid var(--line);border-radius:100px;padding:12px 18px;white-space:nowrap}.csb-header-phone:hover{border-color:var(--bright)}.csb-intro{text-align:center;padding:74px 0 42px;max-width:830px;margin:auto}.csb-eyebrow{color:#73a7ff!important;text-transform:uppercase;letter-spacing:.18em;font-size:12px!important;font-weight:800!important;margin:0 0 12px!important}.csb h1,.csb h2{font-family:Manrope,Outfit,Arial,sans-serif!important;font-weight:800!important;letter-spacing:-.045em!important;line-height:1.05!important;color:#fff!important;text-transform:uppercase}.csb h1{font-size:clamp(44px,6.2vw,78px)!important;margin:0 0 20px!important}.csb-intro>p:last-child{font-size:clamp(17px,1.8vw,21px);color:var(--muted);line-height:1.5;margin:0}.csb-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;list-style:none!important;margin:0 0 42px!important;padding:0!important}.csb-progress li{display:flex;align-items:center;gap:11px;color:#8496ad;font-weight:700;font-size:15px;padding:14px 8px;border-bottom:2px solid #21354b}.csb-progress li span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#172b42;color:#9caec4;font-size:12px;font-weight:800}.csb-progress li.is-current,.csb-progress li.is-done{color:#fff;border-color:var(--bright)}.csb-progress li.is-current span,.csb-progress li.is-done span{color:#fff;background:var(--blue)}.csb-step{min-height:360px}.csb-step[hidden]{display:none!important}.csb-step-heading{text-align:center;margin-bottom:32px}.csb-step-heading h2{font-size:clamp(32px,4.2vw,52px)!important;margin:0 0 12px!important}.csb-step-heading>p:last-child{color:var(--muted);font-size:18px;margin:0}.csb-packages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.csb-package{position:relative;display:flex;flex-direction:column;gap:14px;padding:25px 23px;background:linear-gradient(150deg,#10253b,#071523 72%);border:1px solid #2b4965;border-radius:18px;min-height:440px;cursor:pointer;transition:border-color .2s,transform .2s,box-shadow .2s}.csb-package:hover{transform:translateY(-3px);border-color:#5c98fd}.csb-package:has(input:checked){border-color:#66a5ff;box-shadow:0 0 0 2px rgba(55,116,240,.25),0 18px 46px rgba(0,0,0,.26)}.csb-package input{position:absolute;opacity:0;width:1px;height:1px}.csb-package:has(input:focus-visible){outline:3px solid #a7caff;outline-offset:3px}.csb-package-top{display:flex;justify-content:space-between;gap:5px;align-items:flex-start}.csb-package-type{color:#76aaff;text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:.13em}.csb-badge{font-size:9px;letter-spacing:.08em;background:#2a64e6;padding:5px 7px;border-radius:99px;color:#fff;font-weight:800;white-space:nowrap}.csb-package strong{font-family:Manrope,Outfit,sans-serif;font-size:23px;line-height:1.12;min-height:52px;color:#fff}.csb-package-summary{font-size:14px;color:#bac8d8;min-height:43px}.csb-price{font-size:11px;letter-spacing:.1em;font-weight:800;color:#85a9d9}.csb-price b{font-family:Manrope,sans-serif;letter-spacing:-.04em;font-size:35px;line-height:1;color:#fff;display:block;margin-top:4px}.csb-features{display:grid;gap:9px;color:#d5e0ed;font-size:13px;line-height:1.35}.csb-features span{padding-left:20px;position:relative}.csb-features span:before{content:'✓';position:absolute;left:0;color:#65bbff;font-weight:900}.csb-select{margin-top:auto;padding-top:16px;border-top:1px solid #29435d;color:#83b4ff;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;display:flex;justify-content:space-between}.csb-addons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.csb-addon{position:relative;display:flex;align-items:center;gap:14px;padding:19px 20px;background:linear-gradient(125deg,#10263c,#0a1a2a);border:1px solid #2b4864;border-radius:12px;cursor:pointer;color:#fff;font-weight:650}.csb-addon:hover,.csb-addon:has(input:checked){border-color:#6198fb;background:#102a50}.csb-addon input{position:absolute;opacity:0;width:1px;height:1px}.csb-addon:has(input:focus-visible){outline:3px solid #a7caff;outline-offset:2px}.csb-check{display:grid;place-items:center;flex:0 0 27px;width:27px;height:27px;border-radius:7px;border:1px solid #64809f;color:transparent}.csb-addon:has(input:checked) .csb-check{background:var(--blue);border-color:var(--blue);color:#fff}.csb-addon strong{margin-left:auto;font-size:13px;color:#7cb4ff;white-space:nowrap}.csb-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:900px;margin:0 auto}.csb-field{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:700;color:#dce7f5}.csb-field span{color:#83b6ff}.csb-field small{font-weight:400;color:#97a9bf}.csb-field input,.csb-field select,.csb-field textarea{width:100%;min-height:50px;border:1px solid #36546f;border-radius:9px;background:#0e2337;color:#fff;font:500 16px Outfit,Arial,sans-serif;padding:12px 14px;outline:0}.csb-field input:focus,.csb-field select:focus,.csb-field textarea:focus{border-color:#7aafff;box-shadow:0 0 0 3px rgba(58,119,234,.25)}.csb-field textarea{resize:vertical}.csb-wide{grid-column:1/-1}.csb-hint{text-align:center;color:#9db0c6;font-size:14px;margin:24px auto}.csb-confirm{max-width:900px;margin:30px auto 0;border:1px solid #39618a;border-radius:14px;background:linear-gradient(120deg,#102a48,#0a1b2e);padding:24px}.csb-confirm p:last-child{color:#afc0d3;font-size:13px;margin:12px 0 0}.csb-confirm #csb-summary{font-weight:700;color:#fff;line-height:1.7}.csb-actions{display:flex;justify-content:flex-end;gap:12px;padding:30px 0 80px}.csb-actions button{border:1px solid #3f6bc4;border-radius:10px;padding:14px 27px;font:800 14px Outfit,Arial,sans-serif;text-transform:uppercase;letter-spacing:.04em;cursor:pointer}.csb-next,.csb-submit{background:linear-gradient(120deg,#234bd0,#3179f0);color:#fff;box-shadow:0 10px 24px rgba(22,68,185,.22)}.csb-back{background:#10243a;color:#dce8f8;margin-right:auto}.csb-actions button:hover{filter:brightness(1.13)}.csb-validation,.csb-error{max-width:900px;margin:18px auto 0!important;color:#ffd3d3!important;background:#632832;border:1px solid #bc5969;padding:12px 16px;border-radius:8px}.csb-success{max-width:700px;margin:20px auto 90px;padding:50px;text-align:center;background:#0c2540;border:1px solid #578ae4;border-radius:18px}.csb-success h2{font-size:38px!important}.csb-success p{color:#ced9e7}.csb-success a{color:#8cbaff}.csb-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.csb-footer{border-top:1px solid #243c53;background:#040c16}.csb-footer .csb-shell{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:18px;color:#aab9cb;font-size:14px}.csb-footer a{color:#fff;text-decoration:none;font-weight:700}
@media(max-width:980px){.csb-packages{grid-template-columns:repeat(2,minmax(0,1fr))}.csb-package{min-height:390px}.csb-progress li{font-size:13px}}
@media(max-width:620px){.csb-shell{width:min(100% - 30px,480px)}.csb-header-inner{min-height:78px}.csb-logo{width:170px}.csb-header-phone{font-size:11px;padding:9px 11px}.csb-intro{padding:50px 0 31px}.csb h1{font-size:43px!important}.csb-intro>p:last-child{font-size:16px}.csb-progress{gap:4px;margin-bottom:35px!important}.csb-progress li{flex-direction:column;align-items:center;text-align:center;gap:7px;font-size:10px;padding:7px 2px}.csb-progress li span{width:31px;height:31px}.csb-step-heading h2{font-size:31px!important}.csb-step-heading>p:last-child{font-size:16px}.csb-packages,.csb-addons,.csb-field-grid{grid-template-columns:1fr}.csb-package{min-height:0}.csb-package strong,.csb-package-summary{min-height:0}.csb-field{grid-column:1}.csb-addon{padding:15px 13px;font-size:13px;gap:10px}.csb-addon strong{font-size:12px}.csb-actions{padding-bottom:55px}.csb-actions button{padding:13px 18px;font-size:12px}.csb-footer .csb-shell{flex-direction:column;align-items:flex-start;justify-content:center;padding:20px 0;gap:4px}.csb-footer p{margin:0}}
body.csb-page{margin:0!important;background:#06111e!important}body.csb-page .wp-site-blocks>header,body.csb-page .wp-site-blocks>footer,body.csb-page .wp-block-post-title{display:none!important}body.csb-page .wp-site-blocks,body.csb-page .wp-site-blocks>main,body.csb-page .wp-block-post-content{margin:0!important;padding:0!important;max-width:none!important}body.csb-page .wp-block-post-content>.csb{margin:0!important}
body.csb-page .wp-site-blocks>main>.wp-block-group{margin:0!important;padding:0!important;max-width:none!important}body.csb-page .wp-block-post-content>.csb{width:100%!important;max-width:none!important}
.csb-calendar{max-width:620px;margin:26px auto 0;padding:20px;border:1px solid #365574;border-radius:14px;background:#0b2136}.csb-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.csb-month-label{font:800 19px Manrope,Outfit,sans-serif;color:#fff}.csb-calendar-head button{height:36px;width:36px;border-radius:8px;border:1px solid #41638a;background:#14304d;color:#fff;font-size:25px;line-height:1;cursor:pointer}.csb-calendar-head button:disabled{opacity:.35;cursor:default}.csb-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;text-align:center}.csb-weekday{color:#95acc7;font-size:11px;font-weight:800;padding:6px 0;text-transform:uppercase}.csb-calendar-grid button{aspect-ratio:1;border:0;border-radius:8px;background:transparent;color:#e5eff9;font:700 14px Outfit,Arial,sans-serif;cursor:pointer}.csb-calendar-grid button:hover:not(:disabled),.csb-calendar-grid button.is-selected{background:#2a64df;color:#fff}.csb-calendar-grid button:disabled{color:#4e6882;cursor:default}@media(max-width:620px){.csb-calendar{padding:14px}.csb-calendar-grid{gap:2px}}

/* Keep field labels and required marks together; remove the logo's white backdrop. */
.csb-field{display:block}
.csb-field input,.csb-field select,.csb-field textarea{display:block;margin-top:8px}
.csb-logo{filter:none;mix-blend-mode:normal}

/* Match the homepage's flat dark sections, Outfit typography and header logo. */
.csb{background:#05121d;font-family:Outfit,Arial,sans-serif;font-weight:500}
.csb-header{background:#05121d;border-bottom:1px solid #142b3d}
.csb-header .csb-shell{width:min(1220px,calc(100% - 40px));max-width:none}
.csb-header-inner{min-height:120px;justify-content:flex-start}
.csb-logo{width:255px;height:87px;object-fit:contain;object-position:left center}
.csb h1,.csb h2,.csb-package strong,.csb-price b,.csb-month-label{font-family:Outfit,Arial,sans-serif!important}
.csb h1{font-size:clamp(42px,5vw,64px)!important}
.csb-step-heading h2{font-size:clamp(30px,3.5vw,43px)!important}
.csb-intro>p:last-child,.csb-step-heading>p:last-child{font-weight:600}
.csb-package,.csb-addon,.csb-confirm{background:#0b1d2e}
.csb-package:hover,.csb-addon:hover,.csb-addon:has(input:checked){background:#10253a}
.csb-next,.csb-submit{background:#2859d8;box-shadow:none}
.csb-footer{background:#05121d}
@media(max-width:620px){
  .csb-header .csb-shell{width:calc(100% - 30px)}
  .csb-header-inner{min-height:100px;justify-content:center}
  .csb-logo{width:min(285px,82vw);height:95px;object-position:center}
  .csb h1{font-size:36px!important}
  .csb-step-heading h2{font-size:27px!important}
}

/* Align the booking masthead with the homepage on all screen sizes. */
html:has(body.csb-page){margin-top:0!important}
body.csb-page #wpadminbar{display:none}
.csb-header{border-bottom:0}
.csb-header-inner{height:120px;align-items:flex-start;padding-top:12px}
.csb-header-call{display:flex;align-items:center;justify-content:center;gap:9px;flex:0 0 auto;height:50.3906px;margin:22.8px 0 0 auto;padding:13px 24px;border:1px solid #0a55df;border-radius:10px;background:#0a55df;color:#fff!important;text-decoration:none!important;font:700 14px/24px Poppins,Arial,Helvetica,sans-serif;letter-spacing:normal;text-transform:uppercase;box-shadow:none;white-space:nowrap}
.csb-header-call svg{display:block;flex:0 0 auto}
.csb-header-call:hover,.csb-header-call:focus-visible{color:#fff!important;background:#0a55df;text-decoration:none!important}
.csb-price b{margin-top:0}
@media(max-width:980px){
  .csb-header .csb-shell{width:calc(100% - 32px)}
}
@media(max-width:620px){
  .csb-header-inner{height:88px;min-height:88px;padding-top:7.5px}
  .csb-logo{width:215px;height:73px}
  .csb-header-call{display:none}
}

/* Give the chosen service a clear state while keeping the dark Clean Star palette. */
.csb-package:has(input:checked),.csb-package:has(input:checked):hover{
  background:#153f6c;
  border:2px solid #65aeff;
  box-shadow:0 0 0 3px rgba(44,116,222,.34),inset 0 0 0 1px rgba(194,225,255,.16),0 16px 34px rgba(0,0,0,.24);
}
.csb-package:has(input:checked) .csb-select{border-top-color:#65aeff;color:#fff}
.csb-summary-total{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:16px;row-gap:2px}
.csb-summary-payment{color:#b7c4d5;font-size:14px;font-weight:500;line-height:1.45}
.csb-field input[type="date"],.csb-field select[name="preferred_time"]{cursor:pointer;touch-action:manipulation}
.csb-field input[name="preferred_date"]{position:relative;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%239db8d8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M7 3v4M17 3v4M3 10h18'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:18px 18px}
.csb-field input[name="preferred_date"]::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}

/* Keep service categories distinct without changing the four-step flow. */
.csb-package-groups{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:-6px auto 28px}
.csb-package-groups button{min-height:46px;padding:11px 20px;border:1px solid #36546f;border-radius:9px;background:#0b1d2e;color:#d1deed;font:700 14px Outfit,Arial,sans-serif;cursor:pointer;transition:background .18s,border-color .18s,color .18s}
.csb-package-groups button:hover{border-color:#77aaff;color:#fff}
.csb-package-groups button.is-active{background:#2859d8;border-color:#6da7ff;color:#fff}
.csb-package-groups button:focus-visible{outline:3px solid #a7caff;outline-offset:3px}
.csb-packages{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px;margin-inline:auto}
.csb-packages[data-group="exterior"]{grid-template-columns:minmax(0,440px);justify-content:center}
.csb-package[hidden]{display:none!important}
@media(max-width:620px){.csb-package-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:22px}.csb-package-groups button{font-size:11px;padding:10px 6px;min-height:50px}.csb-packages,.csb-packages[data-group="exterior"]{grid-template-columns:1fr}}

/* Give native pickers the same full-height appearance, including Safari. */
.csb .csb-field input[name="preferred_date"],
.csb .csb-field select[name="preferred_time"]{box-sizing:border-box;height:50px;min-height:50px;line-height:24px;border:1px solid #36546f;border-radius:9px}
.csb .csb-field select[name="preferred_time"]{-webkit-appearance:none;appearance:none;padding:12px 44px 12px 14px;background-color:#0e2337;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%239db8d8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:18px 18px}

/* Leave room below every step’s navigation for mobile browser controls. */
@media(max-width:620px){.csb-actions{padding-bottom:calc(120px + env(safe-area-inset-bottom,0px))}}
