.quote-page{background:#061925}.quote-page .quote-hero{min-height:500px;background:#041824}.quote-hero-content{padding:146px 6vw 64px}.quote-hero h1{font-size:clamp(44px,5vw,72px)}.quote-hero-content>p:not(.eyebrow){margin:20px 0 0;font-size:16px;max-width:460px}.hero-proof{display:none}
.quote-hero-photo{inset:0;opacity:1;filter:none;background:radial-gradient(circle at 77% 42%,#0c50805c 0,transparent 28%),linear-gradient(122deg,#03131e 0%,#061f30 54%,#07304b 100%);overflow:hidden}
.quote-hero-photo:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#79c8ff0b 1px,transparent 1px),linear-gradient(90deg,#79c8ff0b 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(90deg,transparent 22%,#000 64%);animation:grid-drift 18s linear infinite}
.quote-hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#041824 0%,#041824f0 35%,#0418245c 64%,#04182412),linear-gradient(0deg,#041824 0%,transparent 30%)}
.hero-aurora{position:absolute;width:58vw;height:390px;right:-8vw;top:-190px;background:#168cff45;border-radius:50%;filter:blur(75px);animation:aurora 8s ease-in-out infinite alternate}
.hero-blueprint{position:absolute;z-index:1;right:-3%;bottom:-5px;width:min(65vw,900px);height:100%;overflow:visible;opacity:.82}
.hero-contours path{fill:none;stroke:#70c3fa;stroke-width:1;opacity:.13;animation:contour-breathe 7s ease-in-out infinite alternate}.hero-contours path:nth-child(2){animation-delay:-2s}.hero-contours path:nth-child(3){animation-delay:-4s}
.hero-house{fill:#77c9ff09;stroke:#92d4ff;stroke-width:1.5;opacity:.52}.hero-house>path:nth-child(2){stroke-width:4;opacity:.55}.hero-house .hero-window{fill:#77c9ff33;stroke:#a8ddff;animation:window-glow 4s ease-in-out infinite alternate}
.hero-driveway{fill:url(#hero-drive);stroke:#5ebcff55;stroke-width:1.5}.hero-route{fill:none;stroke:#65c7ff;stroke-width:3;stroke-linecap:round;stroke-dasharray:8 13;filter:url(#hero-glow);animation:route-flow 2.8s linear infinite}
.hero-marker circle{fill:#0a2e46;stroke:#70caff;stroke-width:1.5}.hero-marker circle:first-child{fill:none;opacity:.34;animation:marker-pulse 2.4s ease-out infinite}.hero-marker path{fill:none;stroke:#bce7ff;stroke-width:1.7;stroke-linecap:round}
.hero-snowbank{fill:none;stroke:#d5f1ff;stroke-width:6;stroke-linecap:round;opacity:.25}.hero-orbit{position:absolute;z-index:2;width:150px;height:150px;right:10%;top:26%;border:1px solid #62bfff40;border-radius:50%;animation:orbit-turn 18s linear infinite}.hero-orbit:before,.hero-orbit:after{content:"";position:absolute;border:1px solid #62bfff25;border-radius:50%;inset:15px}.hero-orbit:after{inset:34px}.hero-orbit span{position:absolute;width:8px;height:8px;border-radius:50%;background:#8cd3ff;box-shadow:0 0 18px #4caeff;left:15px;top:25px}.hero-orbit b{position:absolute;inset:0;display:grid;place-items:center;color:#8dd3ff;font-size:22px;font-weight:400;animation:orbit-counter 18s linear infinite}
.hero-snow{position:absolute;inset:0;z-index:2}.hero-snow i{position:absolute;top:-12px;left:var(--x);width:var(--s);height:var(--s);border-radius:50%;background:#d9f1ff;opacity:var(--o);filter:blur(var(--b));animation:hero-snowfall var(--d) linear infinite;animation-delay:var(--delay)}.hero-snow i:nth-child(1){--x:43%;--s:3px;--o:.55;--b:0;--d:7s;--delay:-2s}.hero-snow i:nth-child(2){--x:51%;--s:5px;--o:.36;--b:1px;--d:9s;--delay:-6s}.hero-snow i:nth-child(3){--x:58%;--s:2px;--o:.7;--b:0;--d:6s;--delay:-3s}.hero-snow i:nth-child(4){--x:64%;--s:7px;--o:.25;--b:2px;--d:11s;--delay:-8s}.hero-snow i:nth-child(5){--x:70%;--s:3px;--o:.6;--b:0;--d:8s;--delay:-1s}.hero-snow i:nth-child(6){--x:76%;--s:4px;--o:.42;--b:1px;--d:10s;--delay:-5s}.hero-snow i:nth-child(7){--x:82%;--s:2px;--o:.7;--b:0;--d:7s;--delay:-4s}.hero-snow i:nth-child(8){--x:88%;--s:6px;--o:.3;--b:2px;--d:12s;--delay:-7s}.hero-snow i:nth-child(9){--x:94%;--s:3px;--o:.55;--b:0;--d:8s;--delay:-6s}.hero-snow i:nth-child(10){--x:61%;--s:4px;--o:.34;--b:1px;--d:9s;--delay:-1s}.hero-snow i:nth-child(11){--x:73%;--s:2px;--o:.65;--b:0;--d:6s;--delay:-5s}.hero-snow i:nth-child(12){--x:86%;--s:4px;--o:.45;--b:1px;--d:10s;--delay:-3s}
.quote-workspace{padding:0 6vw 75px;background:#061925}.quote-intro{display:none}.quote-layout{display:block;max-width:1080px}.calculator-card{position:relative;border:1px solid #ffffff26;background:#f8fbfd;border-radius:24px;padding:30px clamp(22px,5vw,70px) 40px;box-shadow:0 25px 80px #0003}.card-topline{display:none}.calculator-card h3{font-size:clamp(30px,4vw,46px);margin:32px 0 10px}.card-explainer{margin-bottom:10px}.journey-progress{display:flex;gap:12px;border-bottom:1px solid #dce6ed;padding-bottom:22px}.journey-progress button{flex:1;padding:12px 8px;border:0;border-radius:8px;background:transparent;font-size:12px;font-weight:700;color:#728694;text-align:left;cursor:pointer}.journey-progress button[aria-current=step]{background:#dfedfa;color:#0666ce}.journey-progress button:disabled{opacity:.5;cursor:default}.quote-details .form-section{padding:20px 0 8px!important;animation:step-in .38s ease both}.quote-details .form-section:after{display:none!important}.quote-details .form-section legend{display:none}.quote-details .field{font-size:12px}.quote-details .field input,.quote-details .field select{background:#fff;min-height:55px}.quote-details .form-section[hidden],.journey-actions [hidden],.rate-note[hidden]{display:none!important}.journey-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px}.journey-actions .button{width:auto;min-width:200px;margin-left:auto;border-radius:9px;justify-content:space-between;gap:30px}.journey-back{border:0;background:transparent;color:#456477;font-weight:700;padding:16px;cursor:pointer}.result-column{display:none}.quote-revealed .result-column{display:block;position:relative;max-width:640px;margin:30px auto 0}.quote-revealed .result-panel{border-color:#427594}.result-ready{animation:step-in .6s ease both}.result-placeholder{display:none}.driveway-scene{background:radial-gradient(ellipse at center,#e1f2ff,#eef5f9);border:1px solid #dbe7ef;border-radius:16px;margin:0 0 16px;overflow:hidden}.driveway-scene svg{width:100%;height:230px;display:block}.scene-caption{text-align:center;font-size:9px;letter-spacing:.23em;font-weight:800;color:#53788e;padding:0 0 16px}.scene-walkway{opacity:0;transition:opacity .4s}.with-walkway .scene-walkway{opacity:1}.scene-cars use{animation:car-in .5s both;animation-delay:var(--delay)}.snow-dot{animation:snow-fall 4s infinite ease-in-out}.snow-dot:nth-child(2){animation-delay:-1s}.snow-dot:nth-child(3){animation-delay:-2s}.driveway-choices{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:20px}.driveway-choice{cursor:pointer;position:relative}.driveway-choice input{position:absolute;opacity:0}.driveway-choice span{display:flex;flex-direction:column;align-items:center;gap:3px;border:1px solid #cedee9;border-radius:10px;padding:11px;background:#fff;color:#6b8290;font-size:10px;transition:all .2s}.driveway-choice b{font-size:23px;color:#173d54}.driveway-choice:has(input:checked) span{background:#0d6ee2;border-color:#0d6ee2;color:#daecff;box-shadow:0 5px 16px #0866ce26;transform:translateY(-3px)}.driveway-choice:has(input:checked) b{color:white}.driveway-choice:has(input:focus-visible) span{outline:3px solid #77b6ff;outline-offset:3px}.service-selection .addon-option{margin:14px 0 22px}.loading-spinner{width:70px;height:70px;box-shadow:0 0 45px #50aeff30}.result-loading{align-items:center;text-align:center}.quote-page footer{border-top:1px solid #ffffff16}
@keyframes step-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes car-in{from{opacity:0;translate:0 22px}to{opacity:1;translate:0 0}}@keyframes snow-fall{0%,100%{translate:0 -5px;opacity:.3}50%{translate:3px 9px;opacity:1}}@keyframes hero-snowfall{0%{transform:translate3d(0,-20px,0)}100%{transform:translate3d(45px,560px,0)}}@keyframes route-flow{to{stroke-dashoffset:-42}}@keyframes grid-drift{to{background-position:42px 42px}}@keyframes aurora{to{transform:translate(-8%,45px) scale(1.14);opacity:.65}}@keyframes contour-breathe{to{opacity:.3;transform:translate(-8px,4px)}}@keyframes marker-pulse{0%{transform:scale(.65);opacity:.65}100%{transform:scale(1.65);opacity:0}}@keyframes window-glow{to{fill:#9cdbff88;filter:drop-shadow(0 0 12px #62bdff)}}@keyframes orbit-turn{to{transform:rotate(360deg)}}@keyframes orbit-counter{to{transform:rotate(-360deg)}}
@media(max-width:720px){.quote-page .quote-hero{min-height:500px}.quote-hero-content{padding:122px 24px 46px}.quote-hero h1{font-size:45px}.quote-hero-content>p:not(.eyebrow){font-size:14px;max-width:340px}.quote-hero-photo:after{background:linear-gradient(90deg,#041824f5,#041824b8 68%,#04182464),linear-gradient(0deg,#041824 0%,transparent 32%)}.hero-blueprint{right:-38%;width:125vw;opacity:.43}.hero-orbit{right:-35px;top:34%;width:118px;height:118px;opacity:.55}.hero-snow i:nth-child(-n+3){display:none}.quote-workspace{padding:0 14px 45px}.calculator-card{padding:20px 20px 28px;border-radius:18px}.journey-progress{gap:3px;padding-bottom:14px}.journey-progress button{font-size:9px;padding:10px 5px}.driveway-choices{gap:5px}.driveway-choice span{padding:10px 4px}.driveway-choice b{font-size:21px}.driveway-scene svg{height:200px}.journey-actions .button{min-width:0;flex:1}.calculator-card h3{margin-top:25px}}
/* Rounded folder on the shared winter atmosphere. */
.quote-page{background:#061925;position:relative;isolation:isolate;overflow-x:hidden}
 .quote-page:before{display:none}
.quote-page .header{background:#061925e8;border-color:#ffffff24;backdrop-filter:blur(22px);box-shadow:none}
.quote-page #main{position:relative;isolation:isolate}
.quote-page .quote-hero{position:static;background:transparent;min-height:0;overflow:visible}
.quote-page .quote-hero .winter-atmosphere{position:absolute;inset:0 0 auto;height:950px;z-index:-1;background:radial-gradient(ellipse at 95% 5%,#073c69,transparent 52%),#041522}
.quote-page .quote-hero:after{display:none}
.quote-page .quote-hero-content{position:relative;z-index:1;max-width:920px;margin:auto;padding:150px 34px 72px}
.quote-page .quote-hero h1{font-size:clamp(36px,4.8vw,58px);letter-spacing:-.055em}
.quote-page .quote-hero h1 em{color:#a9e4ff}
.quote-page .quote-hero-content>p:not(.eyebrow){color:#e2eeff;max-width:530px;font-size:15px;line-height:1.7;margin-top:16px}
.quote-page .quote-hero .eyebrow{font-size:10px;letter-spacing:.14em;margin-bottom:18px}
.quote-page .quote-hero .eyebrow i{background:#a9e4ff}
.quote-workspace{padding:40px 28px 90px;background:transparent}
.quote-layout{max-width:852px;margin:auto}
.calculator-card{isolation:isolate;scroll-margin-top:76px;background:#f7f7f5;border:1px solid #ffffff85;border-radius:30px;padding:40px clamp(24px,5vw,58px) 38px;box-shadow:0 3px 0 #e2e5e6,0 14px 30px #0002,0 40px 90px #0003;overflow:visible;transform:none}
.calculator-card:before,.calculator-card:after{display:none}
.journey-progress{position:absolute;left:auto;right:22px;bottom:calc(100% - 2px);display:flex;align-items:flex-end;gap:0;width:66%;margin:0;padding:0;border:0;z-index:-1}
.journey-progress button{position:relative;display:flex;flex-direction:column;justify-content:center;gap:5px;min-width:0;min-height:56px;padding:12px 17px 14px;border:1px solid #ffffff50;border-bottom:0;border-radius:12px 12px 0 0;background:#cce8eb;color:#335b79;box-shadow:-5px -2px 12px #052b4110;transition:background .25s,color .25s,transform .4s cubic-bezier(.22,1,.36,1);font-size:11px}
.journey-progress button+button{margin-left:-12px}
.journey-progress button:nth-child(1){z-index:4;background:#eef2ed}
.journey-progress button:nth-child(2){z-index:3;background:#cce8eb}
.journey-progress button:nth-child(3){z-index:2;background:#a9dcea}
.journey-progress button:nth-child(4){z-index:1;background:#25a6dc}
.journey-progress button:disabled{opacity:1;color:#315566}
.journey-progress button:nth-child(4):disabled{color:#083c5a}
.journey-progress button[aria-current=step]{background:#f7f7f5;color:#163348;min-height:64px;box-shadow:-6px -3px 16px #0415220c;z-index:5}
.journey-progress button.is-complete{background:#d7edf9;color:#245a80}
.journey-progress button:not(:disabled):hover{background:#e8f6ff;color:#173b58}
.journey-progress button[aria-current=step]:hover{background:#f7f7f5}
.journey-progress button:focus-visible{outline:3px solid #163348;outline-offset:-5px}
.bookmark-number{font-size:9px;font-weight:700;letter-spacing:.06em;opacity:.7}
.bookmark-label{font-size:11px;line-height:1.3;white-space:nowrap}
.bookmark-status{position:absolute;right:9px;top:11px;font-size:10px}
.journey-chapter{margin:0 0 14px;color:#6d7a84;font-size:10px;font-weight:700;letter-spacing:.08em}
.calculator-card h3{font-family:Manrope,Arial,sans-serif;font-size:clamp(27px,3.8vw,40px);font-weight:800;letter-spacing:-.055em;line-height:1.15;color:#102733;margin:0 0 9px}
.calculator-card h3:focus{outline:none}
.calculator-card .card-explainer{font-size:14px;color:#78848c;margin:0 0 22px;line-height:1.6}
.quote-details .form-section{animation:none!important;padding:8px 0 0!important;margin:0;border:0}
.quote-details .field{font-size:12px;color:#485862;font-weight:600;margin-bottom:20px}
.quote-details .field input,.quote-details .field select,.quote-details .field textarea{background:#e8e8e7;border:1px solid transparent;border-radius:8px;min-height:56px;padding:15px 17px;font-size:16px;color:#173348;transition:border-color .2s,background .2s,box-shadow .2s}
.quote-details .field input:hover,.quote-details .field select:hover,.quote-details .field textarea:hover{background:#e1e5e7}
.quote-details .field input:focus,.quote-details .field select:focus,.quote-details .field textarea:focus{background:#fff;border-color:#0878fa;box-shadow:0 0 0 4px #0878fa0e;outline:0}
.quote-details .field input::placeholder,.quote-details .field textarea::placeholder{color:#89959e}
.quote-details .form-row{grid-template-columns:1fr;gap:0}
.journey-actions{margin-top:14px;gap:12px}
.journey-actions .button{background:#0878fa;border-radius:9px;min-width:190px;font-weight:600;padding:17px 22px;box-shadow:0 5px 15px #0878fa20;transition:transform .2s,background .2s}
.journey-actions .button:hover{background:#0067df;transform:translateY(-2px)}
.journey-actions .button:active{transform:scale(.98)}
.journey-actions .button span{transition:transform .2s}.journey-actions .button:hover span{transform:translateX(4px)}
.journey-back{padding:14px 0;font-size:13px;color:#526c7e}
.journey-back:before{content:"←";margin-right:9px}
.field-help,.rate-note{font-size:12px;line-height:1.6}
.address-suggestions{border-radius:12px;box-shadow:0 14px 35px #12365120;border-color:#dce9f4;z-index:5}
.driveway-scene{border:0;background:#eef6fc;border-radius:14px}
.service-selection .addon-option{background:#f1f5f8;border-color:transparent}
.quote-page footer{background:#04131d;border-color:#ffffff20}
.quote-page footer .footer-top p,.quote-page footer .footer-bottom,.quote-page footer .placeholder{color:#c4deff}
@keyframes quote-orbit{to{transform:rotate(-10deg) translate(-20px,10px)}}
@media(max-width:720px){
.quote-page .quote-hero-content{padding:114px 26px 56px}
.quote-page .quote-hero h1{font-size:36px}
.quote-page .quote-hero-content>p:not(.eyebrow){font-size:13px;max-width:360px}
.quote-page .quote-hero:after{width:100%;right:-35%;top:90px;height:280px}
.quote-workspace{padding:26px 16px 54px}
.calculator-card{padding:30px 24px 28px;border-radius:25px;scroll-margin-top:62px}
.journey-progress{right:16px;width:calc(100% - 64px)}
.journey-progress button{min-height:48px;padding:10px 12px 12px;border-radius:9px 9px 0 0;gap:4px}
.journey-progress button[aria-current=step]{min-height:57px}
.bookmark-number{font-size:8px}.bookmark-label{font-size:9px}.bookmark-status{top:8px;right:7px;font-size:9px}
.calculator-card h3{font-size:27px}.calculator-card .card-explainer{font-size:12px;margin-bottom:18px}
.journey-chapter{font-size:9px;margin-bottom:12px}
.quote-details .field{font-size:11px;margin-bottom:18px}
.quote-details .field input,.quote-details .field select{min-height:54px;padding:14px}
.journey-actions .button{flex:0 1 auto;min-width:165px;font-size:13px;padding:14px 20px}
}
@media(max-width:360px){.calculator-card{padding-left:18px;padding-right:18px}.bookmark-label{font-size:8px}.journey-progress{right:12px;width:calc(100% - 38px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
