.booking-shell{max-width:1180px;margin:auto;padding:32px 30px 70px;color:#f4f1e9}.booking-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:26px;border-bottom:1px solid #465165}.booking-header b{display:block;margin-top:8px;font-size:19px}.booking-header a,.booking-contact a{color:#ecd49a;text-decoration:underline;text-underline-offset:4px}.booking-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.9fr);gap:42px;padding:36px 0}.booking-design{position:relative;border:1px solid #55617b;border-radius:14px;overflow:hidden;background:#030711}.booking-design img{display:block;width:100%;height:auto}.booking-design span{position:absolute;bottom:0;left:0;width:100%;padding:12px 16px;color:#fff;background:#061022ce;font-size:11px;letter-spacing:.06em}.booking-shell h1,.booking-shell h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.025em;line-height:1.12}.booking-shell h1{font-size:38px;margin:26px 0 10px}.booking-shell h2{font-size:31px;margin:15px 0}.booking-address{color:#d9dfeb}.booking-facts{margin:22px 0}.booking-facts>div{display:grid;grid-template-columns:125px 1fr;gap:14px;border-bottom:1px solid #2d3548;padding:11px 0}.booking-facts dt{color:#adb8cd;font-size:13px}.booking-facts dd{margin:0;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.booking-budget{border-top:2px solid #dbc389;padding:24px 0}.booking-budget>span{font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:#d0d8e6}.booking-budget strong{display:block;font-size:34px;color:#efd8a1;margin:8px 0}.booking-budget p,.booking-note{font-size:13px!important;line-height:1.65;color:#aebbd0}.booking-action{align-self:start;padding:28px;border:1px solid #8c7b53;border-radius:15px;background:linear-gradient(145deg,#141c2c,#080e19);box-shadow:0 14px 50px #0004}.booking-action p{font-size:15px;line-height:1.7}.booking-action label{display:block;margin:20px 0 10px;font-size:14px}.booking-action input:not([type=checkbox]){width:100%;padding:14px;border:1px solid #687991;border-radius:8px;background:#060c16;color:#fff;font:inherit;color-scheme:dark}.booking-action .booking-check{display:flex;align-items:flex-start;gap:11px;line-height:1.6}.booking-check input{margin-top:5px;flex-shrink:0;width:18px;height:18px;accent-color:#e6c985}.booking-action .btn{min-height:48px;width:100%;margin:8px 0}.booking-action :focus-visible{outline:3px solid #75b9ff;outline-offset:3px}.booking-contact{font-size:13px!important;margin-top:24px;overflow-wrap:anywhere}.booking-action small{color:#b5bfd0;font-size:11px}.booking-agreement{padding:30px;border:1px solid #435169;border-radius:14px;background:#090f1b}.booking-agreement pre{font-size:15px;line-height:1.8;font-family:inherit;white-space:pre-wrap;overflow-wrap:anywhere;color:#d6deea}.booking-invitation{padding-top:24px;border-top:1px solid #89784d;margin-top:25px}.booking-invitation p{line-height:1.7}.booking-invitation .btn{min-height:48px;white-space:normal}#bookingActionStatus{color:#f2d997;line-height:1.6;margin-top:10px}@media(max-width:800px){.booking-layout{grid-template-columns:1fr;gap:22px;padding:26px 0}.booking-shell{padding:22px 18px 50px}.booking-header{align-items:flex-start}.booking-header b{font-size:16px}.booking-header a{font-size:13px;white-space:nowrap}.booking-action,.booking-agreement{padding:22px}.booking-shell h1{font-size:32px}.booking-shell h2{font-size:28px}}@media print{.booking-shell{color:#111;padding:0}.booking-header,.booking-layout,.booking-action,.booking-agreement{background:white;box-shadow:none;border-color:#aaa}.booking-layout{display:block}.booking-design{max-width:600px}.booking-shell p,.booking-facts dt,.booking-facts dd,.booking-agreement pre,.booking-budget strong{color:#111}.booking-action button,.booking-action form{display:none}.booking-action{break-inside:avoid}.booking-agreement{break-before:page}.booking-header a,.booking-contact a{color:#111}}
/* The single customer estimate: readable ivory, three choices, one deposit. */
body.estimate-active{background:#f3f0e9!important}.estimate-simple{color:#14243a;max-width:1280px}.estimate-simple .booking-header{border-color:#d6c5a2}.estimate-simple .booking-header a,.estimate-simple .booking-contact a{color:#795c29}.estimate-simple .booking-header .eyebrow{color:#795c29}.estimate-simple .booking-layout{display:block}.estimate-simple .booking-plan{display:grid;grid-template-columns:1.15fr 1fr;gap:34px;align-items:center;margin-bottom:32px}.estimate-simple .booking-design{border:1px solid #c6ad78;background:#071321}.estimate-simple .booking-design img{height:330px;object-fit:contain}.estimate-simple h1{font-size:48px;margin:12px 0 20px}.estimate-simple .booking-address{color:#526174}.estimate-simple .booking-note{color:#536273}.estimate-simple .booking-action{background:#fffdf8;border-color:#cfbc96;box-shadow:0 12px 40px #14243a08}.estimate-simple .booking-action h2{margin-bottom:28px}.estimate-collections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;border:0;padding:0;margin:0 0 30px}.estimate-collections legend{font-size:14px;margin-bottom:18px;color:#526174}.estimate-simple .estimate-option{position:relative;display:flex;flex-direction:column;padding:27px 23px;margin:0;border:1px solid #d2c3a5;border-radius:12px;cursor:pointer;background:#fbf8f1}.estimate-simple .estimate-option:has(input:checked){border:2px solid #967039;padding:26px 22px;background:#fff7e4;box-shadow:0 0 0 3px #ad89462a}.estimate-option input{position:absolute;top:24px;right:20px;width:20px;height:20px;accent-color:#967039}.estimate-option-tag{font-size:10px;font-weight:800;letter-spacing:.13em;color:#795c29;padding-right:22px}.estimate-option h3{font:38px Georgia,serif;letter-spacing:-.04em;font-weight:400;margin:24px 0 6px;color:#14243a}.estimate-simple .estimate-tagline{color:#536273;margin:0 0 26px;font-size:14px}.estimate-program-caption{font-size:11px;color:#526174}.estimate-option-price{font:34px Georgia,serif;line-height:1.2;margin:10px 0;letter-spacing:-.045em;white-space:normal}.estimate-one-year{font-size:13px!important;color:#526174!important}.estimate-simple .estimate-option-scope{margin:25px 0 18px;padding-top:19px;border-top:1px solid #d2c3a5;line-height:1.6;flex:1}.estimate-renewal{font-size:12px;color:#536273;line-height:1.7;margin-bottom:22px}.estimate-select-label{border-top:1px solid #d2c3a5;padding-top:17px;font-size:11px;letter-spacing:.08em;font-weight:800;color:#795c29}.estimate-checkout{display:grid;grid-template-columns:1fr 1fr;gap:45px;padding-top:28px;border-top:1px solid #d2c3a5}.estimate-checkout h3{font:32px Georgia,serif;margin:0 0 18px}.estimate-simple .booking-action input:not([type=checkbox]):not([type=radio]),.estimate-simple select{background:#fff;color:#14243a;border:1px solid #bfaa7d;min-height:48px;width:100%;padding:12px;border-radius:7px;font:inherit;color-scheme:light}.estimate-simple .btn.gold{background:linear-gradient(135deg,#eddab1,#c9a66a);border:1px solid #9f7a3e;color:#14243a;font-weight:800;min-height:54px}.estimate-simple .btn:disabled{opacity:.5;cursor:not-allowed}.estimate-simple .booking-agreement{background:#fffdf8;border-color:#d2c3a5;color:#14243a}.estimate-simple .booking-agreement summary{cursor:pointer;line-height:1.6}.estimate-simple .booking-agreement pre{color:#14243a}.estimate-simple .booking-action small{color:#536273}#bookingActionStatus{color:#795c29}@media(max-width:1000px){.estimate-simple .booking-plan{grid-template-columns:1fr 1fr}.estimate-option-price{font-size:28px}.estimate-option h3{font-size:32px}}@media(max-width:760px){.estimate-simple .booking-plan,.estimate-checkout{grid-template-columns:1fr;gap:22px}.estimate-collections{grid-template-columns:1fr}.estimate-simple h1{font-size:39px}.estimate-simple .booking-design img{height:auto;max-height:330px}.estimate-option-price{font-size:37px}.estimate-simple .booking-action{padding:20px}.estimate-simple .booking-header .eyebrow{font-size:9px}.estimate-simple .booking-header{gap:10px}}
/* v8.9.33 homeowner checkout: design → date → sign → deposit */
.bk-shell{max-width:1120px}
.bk-header{padding-bottom:18px}
.bk-brand{display:flex;align-items:center;gap:12px;text-decoration:none!important;color:#f4f1e9!important}
.bk-brand img{width:72px;height:72px;border-radius:50%;display:block}
.bk-brand b{display:block;margin:0!important;font-family:'Cormorant Garamond',Georgia,serif;font-size:20px;letter-spacing:.08em;text-transform:uppercase;color:#f3dc9b}
.bk-brand small{display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#d9dfeb}
.bk-call{font-weight:700;white-space:nowrap}
.bk-card{background:linear-gradient(180deg,#0d1830,#071229);border:1px solid #2f3b55;border-radius:16px;overflow:hidden}
.bk-pad{padding:20px 22px}
.bk-design .booking-design{border:0;border-radius:0}
.bk-design .booking-design img{max-height:440px;object-fit:contain;background:#030711}
.bk-price{font-family:'Cormorant Garamond',Georgia,serif!important;font-size:40px!important;color:#f3dc9b;margin:6px 0 2px!important}
.bk-sub{color:#c7cfdd;margin:0 0 12px;font-size:14px}
.bk-included{margin:10px 0 14px;padding-left:20px;line-height:1.7;color:#e7ebf2;font-size:15px}
.bk-program{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:6px 0 12px}
.bk-program button,.bk-when button{padding:10px 12px;border-radius:10px;border:1px solid #465165;background:#081022;color:#f4f1e9;font-weight:700;font-size:14px;text-align:left;cursor:pointer;font-family:inherit}
.bk-program button small,.bk-when button small{display:block;font-weight:400;font-size:12px;color:#adb8cd;margin-top:3px}
.bk-program button.on,.bk-when button.on{border-color:#e2bf72;box-shadow:0 0 0 2px rgba(226,191,114,.35) inset;background:#14203a}
.bk-edit{display:inline-block;margin:2px 0 10px;color:#ecd49a;font-size:14px}
.bk-step{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:16px 0;border-bottom:1px solid #26314a}
.bk-step:last-child{border-bottom:0}
.bk-num{width:30px;height:30px;border-radius:50%;border:1px solid #e2bf72;color:#f3dc9b;display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',Georgia,serif;font-size:18px;margin-top:6px}
.bk-step h2{font-size:26px!important;margin:4px 0 4px!important}
.bk-avail{color:#f3dc9b}
.bk-when{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}
.bk-pick label,.bk-step label[for]{display:block;margin:10px 0 6px;font-size:13px;color:#c7cfdd}
.bk-pick input,.bk-step input[type=text],#bookingSigner{width:100%;box-sizing:border-box;height:46px;border-radius:10px;border:1px solid #55617b;background:#fff;color:#14181f;padding:0 12px;font-size:16px}
.bk-date-status{margin:8px 0 0;color:#9fe0b0;font-weight:600;font-size:14px}
.bk-terms{margin:8px 0 6px}
.bk-terms pre{max-height:260px;overflow:auto;white-space:pre-wrap;font-size:12.5px;line-height:1.5}
.bk-pay{width:100%;margin-top:10px;font-size:16px!important;padding:16px!important}
.bk-fine{font-size:12px;color:#adb8cd;margin:8px 0 0;text-align:center}
.bk-status{min-height:20px;margin:10px 0;color:#ffb4a8;font-weight:600}
.bk-confirmed{text-align:center}
.bk-confirmed h2{color:#f3dc9b}
.bk-date-big{font-size:18px;line-height:1.5}
.bk-date-big b{font-size:24px;color:#fff}
.bk-verifying{text-align:center}
.bk-verifying .btn{display:block;width:100%;margin:10px 0 0}
.bk-spinner{width:44px;height:44px;margin:6px auto 4px;border-radius:50%;border:3px solid #2f3b55;border-top-color:#e2bf72;animation:bkspin 1s linear infinite}
@keyframes bkspin{to{transform:rotate(360deg)}}
.bk-shell .hidden{display:none!important}
@media (max-width:820px){.bk-shell{padding:16px 14px 50px}.bk-shell .booking-layout{grid-template-columns:1fr;gap:18px;padding:18px 0}.bk-brand img{width:56px;height:56px}.bk-price{font-size:34px!important}}
@media print{.bk-call,.bk-edit,#printBooking{display:none}}
.bk-shell .booking-action.bk-card{background:linear-gradient(180deg,#0d1830,#071229)!important;color:#f4f1e9!important;border:1px solid #2f3b55!important;box-shadow:none!important}
.bk-shell .booking-action .booking-check,.bk-shell .booking-action .booking-check span{color:#e7ebf2!important}
.bk-shell .booking-action .booking-contact{color:#c7cfdd!important}
.bk-shell .bk-terms{background:#081022!important;border:1px solid #2f3b55!important;border-radius:10px;padding:10px 12px}
.bk-shell .bk-terms summary{color:#ecd49a!important;cursor:pointer}
.bk-shell .bk-terms pre{color:#e7ebf2!important;background:transparent!important}
.bk-shell .bk-step h2{color:#f4f1e9!important}
.bk-shell .bk-step h2.bk-avail{color:#f3dc9b!important}
.bk-shell .bk-step{border-bottom-color:#26314a!important}

.bk-brand img{width:auto!important;height:84px!important;max-width:60vw;border-radius:0!important}
@media (max-width:820px){.bk-brand img{height:58px!important}}
