/* Conversion improvements, scoped over the existing Hoppy visual system. */
[hidden]{display:none!important}
:root{color-scheme:light}
.btn-primary,.hero .btn-primary,.sticky .btn-primary,.final .btn-primary{color:#14251f!important;background:linear-gradient(135deg,#ffae65,#f68936)!important;animation:none!important;text-shadow:none!important}
.btn:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #087775;outline-offset:4px}
.hero a:focus-visible,.sticky a:focus-visible{outline-color:#fff}
.hero .poster{display:block!important;background:url('/images/hoppy-service-van.webp') center/cover!important;opacity:1!important}
.hero::before{z-index:1}.hero-grid{position:relative;z-index:2}
.hero h1{font-size:clamp(34px,4.2vw,55px);line-height:1.08;max-width:14ch}
.hero .lede{max-width:49ch;font-size:18px;line-height:1.6}
.hero .service-visual{font-size:14px;line-height:1.5;margin-top:20px}
.hero-cta{gap:14px;margin-top:20px}
.hero-cta .micro{flex-basis:100%;font-size:14px;line-height:1.5}
.text-contact{color:#fff!important;text-decoration:underline;font-size:15px;font-weight:750;min-height:44px;display:inline-flex;align-items:center;text-underline-offset:4px}
.hero-review{margin-top:24px;padding:18px 20px;border-left:3px solid #ffae65;border-radius:0 14px 14px 0;background:rgba(8,32,28,.66);max-width:490px;color:#fff}
.hero-review blockquote{font-size:16px;line-height:1.5;margin:7px 0}
.hero-review p{font-size:12px;line-height:1.6;color:#e3f1e8}.hero-review a{text-decoration:underline;text-underline-offset:3px}
.review-stars{color:#ffcb7d;letter-spacing:2px}#heroLiveRating{display:block;margin-top:9px;font-size:12px;color:#e3f1e8}
.form-card{scroll-margin-top:18px}.form-card h2{line-height:1.15}.form-card .fsub{font-size:15px;line-height:1.5}
.form-card .stepper{margin:18px 0 12px;font-size:13px;font-weight:800;color:#08605a}
.need-options{padding:0;border:0;min-width:0;margin:0 0 10px}.need-options legend{font-size:15px;font-weight:800;margin-bottom:9px}
.choice-card{display:flex;align-items:flex-start;gap:8px;min-height:57px!important;margin:0!important;cursor:pointer;color:#16392f!important;background:#fff!important;line-height:1.35;font-size:14px!important;text-align:left!important}
.choice-card input{width:17px!important;height:17px;min-width:17px;margin:1px 0 0!important;accent-color:#087775;box-shadow:none!important}
.choice-card:has(input:checked){border-color:#087775!important;background:#eaf7f1!important;box-shadow:0 0 0 1px #087775!important}
.choice-card:has(input:focus-visible){outline:3px solid #087775;outline-offset:3px}
.form-card .field{margin-bottom:12px}.form-card .field label{font-size:14px}
.form-card input:not([type=radio]),.form-card select,.form-card textarea{font-size:16px;min-height:46px;max-width:100%;width:100%}
.field-error{font-size:13px!important;line-height:1.4!important;font-weight:650;color:#9b281c!important;margin-top:5px!important;min-height:0}
.field-error:empty{display:none}input[aria-invalid=true],select[aria-invalid=true]{border-color:#ad3122!important;box-shadow:0 0 0 1px #ad3122}
.service-check{border-top:1px solid #dce7df;padding-top:14px}.service-check #areaHelp{font-size:13px;line-height:1.45;margin:5px 0 9px;color:#455a50}
.address-row{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(62px,.6fr) minmax(80px,.8fr);gap:10px}
#addressHelp{display:block;font-size:12px;line-height:1.45;color:#52665b;margin-top:5px}
.optional-details{padding:12px 14px;margin:5px 0 18px;border-radius:12px;box-shadow:none}.optional-details summary{font-size:14px}.optional-details .field{margin-top:12px}.optional-details summary small{font-weight:500}
.form-nav{gap:10px}.form-card .submit{white-space:normal;padding:15px 14px;font-size:16px;flex:1}.form-card #prevStep{padding:15px 10px;color:#16392f;background:#edf3ee}
.form-privacy{font-size:12px!important;line-height:1.55!important;margin-top:16px!important;color:#495c52!important}.form-privacy a,.form-contact a{text-decoration:underline;color:#075955;font-weight:750;text-underline-offset:3px}
.draft-explainer{font-size:11px;color:#5d7066;margin-top:7px}.draft-notice{margin:14px 0;padding:10px 12px;background:#eaf7f1;color:#205344;font-size:12px;border-radius:9px}.draft-notice button{background:none;border:0;text-decoration:underline;color:#075955;font:inherit;cursor:pointer;padding:8px}
.form-contact{font-size:13px;line-height:1.7;border-top:1px solid #dce7df;margin-top:17px;padding-top:13px}
.form-contact a{display:inline-block;min-height:36px;padding-top:4px}
.sticky-text{color:#fff!important;text-decoration:underline;text-underline-offset:4px;font-size:15px;font-weight:750;min-height:44px;display:flex;align-items:center}
.payment-summary .wrap{max-width:880px}.payment-summary h2{font-size:clamp(26px,3.5vw,38px);line-height:1.15;margin:10px 0 16px}.payment-summary p{line-height:1.7;color:#485e52;max-width:70ch}.payment-summary details{margin-top:22px}
.protection-summary{padding-top:0;padding-bottom:10px}.protection-summary .wrap{max-width:880px}
#your-visit .guide{margin-bottom:28px}#your-visit .guide-body p{font-size:16px;line-height:1.65}
#reviews .hoppy-review-story h2{font-size:clamp(30px,4vw,44px)}#reviews .story-copy{font-size:16px;line-height:1.65}
#bookingExperience{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;line-height:1.5}
#bookingExperience h1,#bookingExperience h2,.booking-home{font-family:inherit}
#bookingExperience a:not(.booking-primary):not(.booking-home){text-decoration:underline;text-underline-offset:3px;color:#07645d}
#bookingExperience .booking-progress{justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:25px}.booking-progress>span{display:inline;width:auto;height:auto;border:0;border-radius:0;margin:0;font-weight:700}
.booking-selector h2{font-size:23px;line-height:1.25;margin:0 0 18px}
.booking-mode,.booking-windows{border:0;padding:0;margin:0 0 20px;min-width:0}.booking-mode label,.booking-windows label{display:flex;align-items:center;gap:10px;border:1px solid #d4e2da;border-radius:12px;padding:14px 12px;margin-bottom:9px;background:#fff;cursor:pointer;font-size:15px;line-height:1.4;min-height:50px}
.booking-mode label:has(input:checked),.booking-windows label:has(input:checked){background:#edf8f1;border-color:#087775;box-shadow:0 0 0 1px #087775}
.booking-mode input,.booking-windows input{width:18px;height:18px;accent-color:#087775;flex-shrink:0}
.booking-windows legend{font-size:15px;font-weight:750;margin:5px 0 10px}.booking-windows legend small{display:block;font-size:12px;font-weight:500}
#bookingWindowFields .field label{font-size:15px;font-weight:750;display:block;margin-bottom:8px}
#bookingDate{font:inherit;color:#153d35;padding:14px;border:1px solid #91b5a2;background:#fff;border-radius:10px;width:100%;max-width:100%;min-width:0;min-height:50px;appearance:none}
#bookingDateHelp{display:block;font-size:13px;line-height:1.6;color:#52695b;margin:8px 0 20px}
.booking-window-note,.booking-assistance,.area-review-note{font-size:14px;line-height:1.6;color:#4b6254}.booking-assistance{padding-top:18px;border-top:1px solid #e0e9e3}.area-review-note{padding:14px;background:#edf8f1;border-radius:12px}
.booking-primary{white-space:normal;text-align:center;line-height:1.45;min-height:48px}
.booking-contact-summary{overflow-wrap:anywhere}.booking-contact-summary a{display:block;padding:10px 0;font-size:13px}
.booking-feedback{font-size:14px!important;line-height:1.6!important;color:#9b281c!important;background:#fff0e9;padding:12px;border-radius:10px}
.booking-privacy{max-width:650px;line-height:1.65}.success-next{text-align:left;max-width:520px;margin:24px auto;padding-left:24px;line-height:1.75;color:#456152}
.booking-success a:not(.booking-primary){display:inline-block;padding:7px 0}.booking-success .booking-primary{margin-top:18px}.booking-success h2{font-size:clamp(32px,4vw,48px);line-height:1.2}
.journey-page{font-family:system-ui,sans-serif;color:#153d35;background:#fbfcf8;margin:0;line-height:1.6}.journey-main{max-width:760px;margin:auto;padding:42px 24px 70px}.journey-main h1{font-size:clamp(34px,5vw,52px);line-height:1.12;letter-spacing:-.04em;margin:14px 0 22px}.journey-main p{font-size:17px;color:#4c6456}.journey-main h2{line-height:1.3}.journey-card{background:#fff;border:1px solid #d4e2da;border-radius:22px;padding:26px;margin:28px 0}.journey-main a{color:#08645d;text-underline-offset:4px}.journey-main .booking-primary{display:block;color:#14372a;text-decoration:none;margin:16px 0}.journey-main input[type=date]{font:inherit;padding:12px;border-radius:8px;border:1px solid #91b5a2;max-width:100%;display:block;margin:8px 0 18px;width:100%;box-sizing:border-box}.journey-main select{font:inherit;padding:12px;border:1px solid #91b5a2;border-radius:8px;width:100%;margin:8px 0 18px}.journey-main li{margin-bottom:12px}.journey-main .small{font-size:13px}.journey-error{color:#9b281c!important}
@media(max-width:1020px){.hero-grid{gap:26px}.hero h1{max-width:19ch}.hero .form-card{max-width:650px;width:100%;margin:auto}.hero-review{max-width:550px}}
@media(max-width:640px){.hero h1{font-size:36px;max-width:19ch}.hero .lede{font-size:16px;line-height:1.55}.hero-cta .btn-primary{font-size:16px;padding:16px 14px}.hero-review{padding:14px 16px;margin-top:18px}.hero-review blockquote{font-size:14px}.choice-grid{grid-template-columns:1fr 1fr!important;gap:8px}.choice-card{font-size:12px!important;padding:11px 8px!important;gap:6px}.form-card{padding:20px 16px!important}.form-card .row2{grid-template-columns:1fr}.address-row{gap:7px;grid-template-columns:minmax(0,1.6fr) 57px 77px}.address-row input{padding:12px 8px!important}.sticky{gap:13px;padding:10px 14px calc(10px + env(safe-area-inset-bottom))}.sticky .btn-primary{font-size:13px;padding:14px 10px}.sticky-text{font-size:13px;white-space:nowrap}.to-top{display:grid;width:48px;height:48px;right:max(12px,env(safe-area-inset-right));bottom:calc(var(--assessment-sticky-height,76px + env(safe-area-inset-bottom)) + 12px);font-size:24px;touch-action:manipulation}.to-top:focus-visible{outline:3px solid #f68936;outline-offset:3px}.booking-header{padding:18px 18px;gap:16px}.booking-home{font-size:23px}.booking-home small{font-size:9px;max-width:180px}.booking-logo{width:112px}.booking-main{padding:25px 18px}.booking-intro h1{font-size:37px}.booking-intro>p{font-size:16px}.booking-selector{padding:22px 18px}.booking-layout{gap:20px;margin-top:24px;grid-template-columns:1fr}.booking-mode label,.booking-windows label{font-size:14px}.booking-progress{font-size:12px}.booking-kicker{font-size:11px}.journey-main{padding:28px 18px 50px}.journey-card{padding:20px}.journey-main p{font-size:16px}.assessment-shortcuts{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.hero{padding-top:138px!important}.form-card label{text-transform:none!important;letter-spacing:normal!important}.choice-card span{text-transform:none;letter-spacing:normal;font-weight:750}.hero-cta .micro{margin-top:0}.hero .wyatt-hero-personal{margin-top:20px}
@media(max-width:640px){.hero{padding-top:130px!important}.hero .hero-cta{margin-top:16px}.hero-review{margin-top:16px}}

#bookingExperience label{text-transform:none!important;letter-spacing:normal!important;font-weight:650}.standalone-booking .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
