:root{--ink:var(--brand-ink);--muted:var(--brand-muted);--paper:var(--brand-paper)}*{box-sizing:border-box}body{margin:0;background:var(--brand-paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--brand-accent);outline-offset:4px}header{height:90px;border-bottom:1px solid #e5e5e9;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(30px,calc((100vw - 1160px)/2))}header img{object-fit:contain;display:block}.header-help{font-size:11px;color:#85858b}.header-help strong{font-size:12px;color:#333;margin-left:10px;font-weight:500}main{max-width:920px;margin:auto;padding:35px 30px 25px}.quiz-top{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#777}.quiz-top>a{display:flex;gap:8px}#step-label{font-size:9px;letter-spacing:1.8px}.progress{height:3px;background:#e3e3e8;border-radius:3px;margin:20px 0 48px;overflow:hidden}#progress-fill{display:block;width:25%;height:100%;background:var(--brand-accent);transition:width .35s}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:650;color:#7b7b82}h1{font-size:clamp(34px,4.6vw,54px);font-weight:600;letter-spacing:-2.5px;line-height:1.08;margin:16px 0 17px}#question{text-align:center}#question-subtitle{font-size:14px;color:var(--brand-muted);line-height:1.6;margin:0 0 32px}fieldset{padding:0;margin:0;border:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.choice{cursor:pointer;position:relative;display:flex;flex-direction:column;background:#fff;border-radius:16px;border:2px solid transparent;overflow:hidden;text-align:left;transition:border-color .2s,transform .2s,box-shadow .2s}.choice:hover{transform:translateY(-3px);box-shadow:0 10px 30px #00000008}.choice:has(input:checked){border-color:var(--brand-accent);box-shadow:0 0 0 1px rgba(var(--brand-glow-rgb),0.063)}.choice input{position:absolute;opacity:0;width:1px;height:1px}.choice:has(input:focus-visible){outline:3px solid var(--brand-accent);outline-offset:4px}.choice>img{display:block;width:100%;height:155px;object-fit:cover}.choice-body{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:20px 14px;flex:1}.choice-title{font-size:13px;font-weight:550;line-height:1.4}.check{height:19px;width:19px;flex-shrink:0;border:1px solid #d6d6db;border-radius:50%;display:grid;place-items:center;background:#fff;color:transparent;font-size:11px}.choice:has(input:checked) .check{background:var(--brand-accent);border-color:var(--brand-accent);color:white}.choice-description{display:block;font-size:12px;color:#8b8b92;line-height:1.65;margin-top:8px;font-weight:400}.text-choices{grid-template-columns:1fr 1fr;gap:15px}.text-choices .choice-body{padding:25px;align-items:flex-start;min-height:115px}.text-choices .choice-title{font-size:16px;letter-spacing:-.2px}.text-choices .check{margin-top:3px}.option-icon{font-size:11px;color:var(--brand-accent);letter-spacing:1px;display:block;margin-bottom:12px}.quiz-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #e0e0e6;margin-top:28px;padding-top:24px}#helper{font-size:11px;color:#888;text-align:left}button[type=submit],.primary-link{border:0;background:var(--brand-accent);color:#fff;border-radius:40px;cursor:pointer;min-width:175px;padding:17px 26px;font-size:13px;display:flex;align-items:center;justify-content:space-between;gap:30px;transition:background .2s}button[type=submit]:disabled{background:#dedee4;color:#a1a1a8;cursor:not-allowed}button[type=submit]:not(:disabled):hover,.primary-link:hover{background:var(--brand-accent-hover)}.quiz-footer{color:#a0a0a7;font-size:10px;text-align:center;margin-top:46px;line-height:1.8}.red-dot{height:5px;width:5px;display:inline-block;border-radius:100%;background:var(--brand-accent);vertical-align:middle;margin-right:7px}#contact-fields{max-width:650px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:21px 18px;text-align:left}.field label{font-size:12px;font-weight:500;display:block;margin-bottom:9px}.field input{width:100%;border:1px solid #dddde2;border-radius:10px;background:#fff;padding:16px;font-size:14px;color:#222;transition:border-color .2s}.field input:focus{border-color:var(--brand-accent)}.field input::placeholder{color:#aaaab1}.field small{font-size:10px;color:#929299;display:block;margin-top:8px}.full{grid-column:1/-1}#privacy{max-width:600px;margin:22px auto 0;color:#9999a0;font-size:10px;line-height:1.8}#privacy a{color:#6c6c73;text-decoration:underline}#form-error{color:#b41117;font-size:12px;line-height:1.5;margin:20px 0 0}#form-error:empty{display:none}.success{text-align:center;max-width:580px;margin:auto}.success-mark{width:64px;height:64px;border:1px solid rgba(var(--brand-glow-rgb),0.145);border-radius:50%;color:var(--brand-accent);display:grid;place-items:center;font-size:25px;background:#fff;margin:0 auto 27px}.success h1 span{color:#8e8e95}.success>p{font-size:14px;color:#777;line-height:1.7}.success .primary-link{width:270px;margin:27px auto 0}.return{display:block;color:#777;font-size:12px;margin-top:20px}#summary{background:#fff;text-align:left;border-radius:15px;padding:10px 24px;margin-top:25px}#summary>div{display:flex;gap:20px;justify-content:space-between;padding:15px 0;font-size:12px;border-bottom:1px solid #f0f0f3}#summary>div:last-child{border:0}#summary span{color:#96969d}#summary strong{font-weight:500;text-align:right}[hidden]{display:none!important}@media(max-width:700px){header{height:75px;padding:0 20px}header img{width:118px;height:50px}.header-help{font-size:0}.header-help strong{font-size:10px}main{padding:24px 20px}.progress{margin:18px 0 35px}h1{font-size:39px;letter-spacing:-1.8px}#question-subtitle{font-size:13px;max-width:320px;margin:0 auto 26px}fieldset{grid-template-columns:1fr 1fr;gap:12px}.choice>img{height:140px}.choice-body{padding:15px 12px}.choice-title{font-size:12px}.text-choices{grid-template-columns:1fr}.text-choices .choice-body{padding:20px;min-height:0}.option-icon{margin-bottom:8px}.text-choices .choice-title{font-size:15px}.choice-description{font-size:12px;margin-top:5px}.quiz-bottom{gap:12px;margin-top:24px}#helper{font-size:10px;max-width:145px;line-height:1.6}button[type=submit]{padding:16px 22px;min-width:145px;font-size:12px;gap:20px}.quiz-footer{font-size:9px;margin-top:32px}#contact-fields{grid-template-columns:1fr;gap:17px}.field input{font-size:16px;padding:15px}.field label{font-size:11px}.success h1{font-size:42px}.success #summary{padding-inline:18px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
/* One-tap answer cards with a quiet, living finish. */
button.choice{font:inherit;color:inherit;padding:0;width:100%;appearance:none}
button.choice[aria-pressed=true]{border-color:var(--brand-accent);box-shadow:0 0 0 1px rgba(var(--brand-glow-rgb),0.063)}
button.choice[aria-pressed=true] .check{background:var(--brand-accent);border-color:var(--brand-accent);color:white}
button.choice:disabled{cursor:default}
button.choice:focus-visible{outline:3px solid var(--brand-accent);outline-offset:4px}
button.choice.selected{transform:scale(.975);background:var(--brand-tint)}
.option-emoji{display:block;width:52px;height:52px;line-height:52px;font-size:33px;margin-bottom:13px;transform-origin:50% 65%;filter:drop-shadow(0 4px 5px #0000000d)}
.image-emoji{position:absolute;top:12px;left:12px;display:grid;place-items:center;font-size:23px;line-height:1;width:39px;height:39px;margin:0;background:#ffffffed;border:1px solid #ffffffc0;border-radius:13px;backdrop-filter:blur(12px)}
.text-choices .choice-body{padding:23px 25px}.choice-copy{display:block}
.quiz-bottom.auto-advance{justify-content:center;margin-top:22px;padding-top:17px}
.auto-advance #helper{max-width:none;text-align:center;margin:0}
#question-title:focus{outline:none}
@media(prefers-reduced-motion:no-preference){
 .option-emoji{animation:emoji-drift 3.6s ease-in-out infinite;animation-delay:calc(var(--order,0)*-.65s)}
 .choice:hover .option-emoji{animation:emoji-greet .75s ease-in-out}
 .choice.selected .check{animation:check-arrive .24s ease-out}
 .success-mark{animation:check-arrive .45s ease-out}
 @keyframes emoji-drift{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-4px) rotate(3deg)}}
 @keyframes emoji-greet{0%,100%{transform:rotate(0) scale(1)}30%{transform:rotate(-9deg) scale(1.12)}70%{transform:rotate(7deg) scale(1.08)}}
 @keyframes check-arrive{0%{transform:scale(.65);opacity:.3}70%{transform:scale(1.12)}100%{transform:scale(1);opacity:1}}
}
@media(max-width:700px){.text-choices .choice-body{padding:19px 20px}.text-choices .choice-copy{display:grid;grid-template-columns:43px minmax(0,1fr);column-gap:13px}.text-choices .option-emoji{grid-row:1/3;width:43px;height:43px;line-height:43px;font-size:30px;margin:0}.text-choices .choice-description{grid-column:2}.text-choices .check{margin-top:12px}.image-emoji{width:33px;height:33px;font-size:20px;left:10px;top:10px}}
/* Shared brand frame, kept clear of the quiz content. */
body{min-height:100vh;min-height:100svh;display:flex;flex-direction:column}
header.quiz-header{position:sticky;top:0;z-index:20;flex-shrink:0;justify-content:center;height:88px;background:linear-gradient(90deg,rgba(var(--brand-glow-rgb),.46),rgba(var(--brand-edge-rgb),.18) 14%,transparent 31%,transparent 69%,rgba(var(--brand-edge-rgb),.18) 86%,rgba(var(--brand-glow-rgb),.46)),var(--brand-dark);border-bottom:1px solid #ffffff12}
.quiz-header img{width:145px;height:60px;object-fit:contain}
main{width:100%;flex:1;margin:0 auto;padding-bottom:55px}
html{scroll-padding-top:108px}
.quiz-brand-footer{flex-shrink:0;background:linear-gradient(90deg,rgba(var(--brand-glow-rgb),.46),rgba(var(--brand-edge-rgb),.18) 14%,transparent 31%,transparent 69%,rgba(var(--brand-edge-rgb),.18) 86%,rgba(var(--brand-glow-rgb),.46)),var(--brand-dark);color:#f3f3f5;padding:25px 30px 19px}
.quiz-footer-inner,.quiz-footer-bottom{max-width:860px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.quiz-footer-inner img{display:block;object-fit:contain}
.quiz-footer-inner p{font-size:16px;letter-spacing:-.4px;color:#bebec6}
.footer-phone{font-size:11px;color:#ededf1}
.quiz-footer-bottom{border-top:1px solid #ffffff26;margin-top:21px;padding-top:17px;color:#aaaab4;font-size:9px}
.quiz-footer-bottom a{color:#d8d8df}
@media(max-width:700px){header.quiz-header{height:76px}.quiz-header img{width:130px;height:54px}html{scroll-padding-top:95px}main{padding-bottom:40px}.quiz-brand-footer{padding:22px 20px 18px}.quiz-footer-inner{gap:14px;flex-wrap:wrap}.quiz-footer-inner img{width:113px;height:46px}.quiz-footer-inner p{font-size:14px;margin-left:auto}.footer-phone{width:100%;text-align:center;font-size:11px;margin-top:2px}.quiz-footer-bottom{font-size:8px;gap:18px;line-height:1.6;margin-top:19px}.quiz-footer-bottom a{white-space:nowrap}}
header.quiz-header{position:relative;top:auto}
.choice>img[src$="hollywood-bathroom-gallery1.webp"]{object-position:center 63%}
.choice>img[src$="home-remodeling-portfolio6.webp"]{object-position:center 45%}
/* A soft brand-color halo, with a stronger glow on interaction. */
button.choice{box-shadow:0 3px 16px rgba(var(--brand-glow-rgb),.09),0 0 24px rgba(var(--brand-glow-rgb),.035)}
button.choice:hover{box-shadow:0 7px 25px rgba(var(--brand-glow-rgb),.15),0 0 30px rgba(var(--brand-glow-rgb),.07)}
button.choice[aria-pressed=true],button.choice.selected{box-shadow:0 0 0 1px rgba(var(--brand-glow-rgb),.12),0 5px 25px rgba(var(--brand-glow-rgb),.2),0 0 34px rgba(var(--brand-glow-rgb),.1)}
button[type=submit]:not(:disabled),.primary-link{box-shadow:0 5px 19px rgba(var(--brand-glow-rgb),.24),0 0 28px rgba(var(--brand-glow-rgb),.1);transition:background .2s,box-shadow .25s}
button[type=submit]:not(:disabled):hover,.primary-link:hover{box-shadow:0 6px 25px rgba(var(--brand-glow-rgb),.3),0 0 36px rgba(var(--brand-glow-rgb),.14)}
/* One focused contact task per slide; email always follows phone. */
#contact-fields{grid-template-columns:1fr;max-width:540px;gap:22px}
#progress-fill{width:16.6667%}
#contact-fields .field{grid-column:1/-1}
#progress-fill{width:14.2857%}
#booking{max-width:650px;margin:auto}.booking-timezone{font-size:11px;color:#8b8b93;margin:0 0 22px}
#booking-loading{font-size:13px;color:#777;padding:25px}
.day-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.day-card,.time-card{border:1px solid var(--brand-border);background:#fff;color:#222;border-radius:16px;cursor:pointer;box-shadow:0 4px 20px rgba(var(--brand-glow-rgb),0.063);transition:border-color .2s,box-shadow .2s,transform .2s}
.day-card{padding:24px 12px;display:flex;align-items:center;flex-direction:column;gap:10px}.day-weekday{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:#898991}.day-number{font-size:43px;letter-spacing:-2px;font-weight:550}.day-month{font-size:12px;color:#777}
.day-card[aria-pressed=true],.time-card[aria-pressed=true]{border-color:var(--brand-accent);background:var(--brand-tint);box-shadow:0 4px 25px rgba(var(--brand-glow-rgb),0.161)}.day-card:hover,.time-card:hover{border-color:rgba(var(--brand-glow-rgb),0.439);transform:translateY(-2px)}
#time-section{margin-top:30px}#time-title{font-size:16px;letter-spacing:-.3px;font-weight:500;margin:0 0 18px}#time-title:focus{outline:none}.time-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.time-card{padding:17px 10px;font-size:14px}
#booking-selection{font-size:12px;color:var(--brand-accent);line-height:1.6;margin:24px 0 0}#booking-selection:empty{display:none}
#availability-retry{padding:12px 20px;border:1px solid #dedee3;border-radius:20px;background:white;cursor:pointer;font-size:12px}
.booked-success{max-width:800px}.booked-success h1{margin-bottom:15px}.booked-success .appointment-confirmation{font-size:20px;line-height:1.5;max-width:650px;margin:0 auto;color:#36363d;letter-spacing:-.35px}.booked-success #summary{max-width:520px;margin:25px auto 45px}
.arrival-guide .eyebrow{font-size:8px}.arrival-guide h2{font-size:30px;font-weight:550;letter-spacing:-1px;margin:14px 0 23px}.preparation-video{aspect-ratio:16/9;border-radius:17px;overflow:hidden;position:relative;background:#111}.preparation-video>img{width:100%;height:100%;object-fit:cover;filter:brightness(.4)}.video-pending{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:white}.video-pending>span{font-size:20px;width:60px;height:60px;border:1px solid #ffffff66;border-radius:50%;display:grid;place-items:center;padding-left:3px}.video-pending strong{font-size:15px;font-weight:500}.video-pending small{font-size:11px;color:#ddd}.preparation-video iframe,.preparation-video video{width:100%;height:100%;border:0;display:block}
.sms-confirmation{padding:32px 20px;margin-top:25px;border:1px solid var(--brand-border);border-radius:17px;background:#fff}.sms-confirmation h2{font-size:24px;font-weight:550;letter-spacing:-.65px;margin:0 0 12px}.sms-confirmation>p{font-size:13px;color:#888;line-height:1.7}.sms-confirmation .primary-link{width:280px;max-width:100%;margin-top:22px}.sms-confirmation>small{display:block;font-size:10px;color:#999;margin-top:15px}.sms-confirmation .sms-help{font-size:11px;margin-bottom:0}.sms-help a{color:var(--brand-accent)}
@media(max-width:700px){.day-options{gap:10px}.day-card{padding:20px 10px}.day-number{font-size:36px}.day-weekday{font-size:10px}.time-options{gap:9px}.time-card{font-size:12px;padding:16px 8px}.booked-success .appointment-confirmation{font-size:18px}.arrival-guide h2{font-size:26px}.video-pending>span{width:45px;height:45px;font-size:16px}.video-pending strong{font-size:13px}.sms-confirmation{padding:27px 17px}.sms-confirmation h2{font-size:22px}#quiz:has(#booking:not([hidden])) .quiz-bottom{flex-direction:column;align-items:stretch}#quiz:has(#booking:not([hidden])) #helper{max-width:none;text-align:center}#quiz:has(#booking:not([hidden])) #continue{width:100%;justify-content:center;gap:20px}}
/* Recommend the earliest available day without preselecting it. */
.day-options{padding-top:25px}
.day-card.suggested-day{position:relative;border:2px solid var(--brand-accent);box-shadow:0 4px 23px rgba(var(--brand-glow-rgb),.13)}
.suggested-day-label{position:absolute;top:-24px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:10px;font-weight:650;line-height:16px;letter-spacing:.2px;color:var(--brand-accent)}
@media(max-width:700px){.suggested-day-label{font-size:9px;letter-spacing:0}}

/* Preserve Renewal's layout; adapt only company marks and truthful project proof. */
.vault .logo,.quiz-vault .quiz-header img,.quiz-vault .quiz-brand-footer img{filter:invert(1)}
.logo{width:180px;height:54px}.showcase-arrow{font-size:28px}.google-stars{color:#f3f3f5;font-size:9px;letter-spacing:1.4px}.google-icon{color:var(--brand-accent);font-size:23px}.proof-label{font-size:9px;letter-spacing:1px;font-weight:600;color:var(--brand-accent)}.hero-actions .trust{max-width:300px}.story-copy h2{font-size:clamp(36px,4.3vw,57px)}
@media(max-width:600px){.logo{width:139px;height:45px}.google-trust{padding:8px 9px}.google-review-count{font-size:8px}.google-stars{font-size:8px}.hero-copy h1{font-size:48px}.hero-actions .button{font-size:12px}.proof-label{font-size:8px}.hero-actions .trust{max-width:none}.story-copy h2{font-size:43px}}

.quiz-brand-footer img,.quiz-header img{width:170px;object-fit:contain}.video-pending{text-decoration:none}

/* Match the consultation flow to the company palette. */
body{background:var(--brand-paper)}
button[type=submit]:not(:disabled),.primary-link{background:var(--brand-action);color:var(--brand-on-action)}
button[type=submit]:not(:disabled):hover,.primary-link:hover{background:var(--brand-action-hover)}
.quiz-footer-inner p,.quiz-footer-bottom{color:var(--brand-on-dark-muted)}
.quiz-brand-footer{color:var(--brand-on-dark)}
.progress,.quiz-bottom,.field input{border-color:var(--brand-border)}
.progress{background:var(--brand-border)}
#question-subtitle,.choice-description,.booking-timezone{color:var(--brand-muted)}
