:root{--red:#cf1a20;--ink:#171717;--muted:#77777d}*{box-sizing:border-box}body{margin:0;background:#f5f5f7;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(--red);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(--red);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:#77777d;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(--red);box-shadow:0 0 0 1px #cf1a2010}.choice input{position:absolute;opacity:0;width:1px;height:1px}.choice:has(input:focus-visible){outline:3px solid var(--red);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(--red);border-color:var(--red);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(--red);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(--red);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:#ac0e15}.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(--red);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(--red)}.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 #cf1a2025;border-radius:50%;color:var(--red);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(--red);box-shadow:0 0 0 1px #cf1a2010}
button.choice[aria-pressed=true] .check{background:var(--red);border-color:var(--red);color:white}
button.choice:disabled{cursor:default}
button.choice:focus-visible{outline:3px solid var(--red);outline-offset:4px}
button.choice.selected{transform:scale(.975);background:#fff9f9}
.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(207,26,32,.46),rgba(139,2,7,.18) 14%,transparent 31%,transparent 69%,rgba(139,2,7,.18) 86%,rgba(207,26,32,.46)),#080808;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(207,26,32,.46),rgba(139,2,7,.18) 14%,transparent 31%,transparent 69%,rgba(139,2,7,.18) 86%,rgba(207,26,32,.46)),#080808;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-red halo, with a stronger glow on interaction. */
button.choice{box-shadow:0 3px 16px rgba(207,26,32,.09),0 0 24px rgba(207,26,32,.035)}
button.choice:hover{box-shadow:0 7px 25px rgba(207,26,32,.15),0 0 30px rgba(207,26,32,.07)}
button.choice[aria-pressed=true],button.choice.selected{box-shadow:0 0 0 1px rgba(207,26,32,.12),0 5px 25px rgba(207,26,32,.2),0 0 34px rgba(207,26,32,.1)}
button[type=submit]:not(:disabled),.primary-link{box-shadow:0 5px 19px rgba(207,26,32,.24),0 0 28px rgba(207,26,32,.1);transition:background .2s,box-shadow .25s}
button[type=submit]:not(:disabled):hover,.primary-link:hover{box-shadow:0 6px 25px rgba(207,26,32,.3),0 0 36px rgba(207,26,32,.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 #ece3e4;background:#fff;color:#222;border-radius:16px;cursor:pointer;box-shadow:0 4px 20px #cf1a2010;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(--red);background:#fff8f8;box-shadow:0 4px 25px #cf1a2029}.day-card:hover,.time-card:hover{border-color:#cf1a2070;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(--red);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 #e7e1e2;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(--red)}
@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(--red);box-shadow:0 4px 23px rgba(207,26,32,.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(--red)}
@media(max-width:700px){.suggested-day-label{font-size:9px;letter-spacing:0}}
