@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Instrument+Serif:ital@0;1&display=swap');
:root{--paper:#f7f5ed;--blue:#1748e3;--ink:#182d48;--line:#d8dbd5;--serif:'Instrument Serif',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 var(--sans)}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button,summary{cursor:pointer}button{color:inherit}a{color:inherit;text-decoration:none}img{display:block;width:100%;object-fit:cover}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #e99932;outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2{font-weight:500;line-height:.99;letter-spacing:-.06em}h2{font-size:clamp(40px,5vw,75px);margin-bottom:24px}em{font-family:var(--serif);font-weight:400;letter-spacing:-.03em}header{height:100px;padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px;max-width:1600px;margin:auto}.brand{font-size:40px;font-weight:700;letter-spacing:-3px;line-height:1;color:var(--blue);white-space:nowrap}.brand>span{display:inline-block;font-size:37px;margin-left:4px;vertical-align:middle;letter-spacing:0}nav{display:flex;gap:32px;font-size:12px}.button{border:1px solid var(--blue);background:var(--blue);color:white;padding:17px 24px;display:inline-flex;align-items:center;justify-content:space-between;gap:34px;min-height:50px;font-weight:500;font-size:13px;transition:background .2s,transform .2s}.button:hover{background:#1036af;transform:translateY(-2px)}.button span{font-size:20px;line-height:1}.small{padding:12px 18px;font-size:11px}.intro{padding:55px 7% 35px;max-width:1600px;margin:auto}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:600;margin-bottom:28px}.eyebrow i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--blue);margin-right:9px}.intro h1{font-size:clamp(66px,9.7vw,149px);margin:0 0 30px;color:var(--blue);position:relative;max-width:1150px}.intro h1 em{font-size:1.13em}.title-star{position:absolute;right:4%;top:27%;font-size:100px;line-height:1;animation:turn 50s linear infinite}.intro-bottom{display:flex;justify-content:space-between;align-items:end;gap:20px}.intro-bottom p{font-size:15px;margin:0}.underlink{border:0;border-bottom:1px solid currentColor;padding:0 0 9px;display:inline-flex;justify-content:space-between;gap:35px;background:none;color:var(--blue);font-size:12px}.underlink span{font-size:20px;line-height:1}.wash-story{height:170vh;margin:0 2%;--clean:0%}.wash-sticky{position:sticky;top:20px;height:calc(100svh - 40px);max-height:850px;min-height:450px}.scene{height:100%;position:relative;overflow:hidden;background:#bca782}.scene>img{height:100%;position:absolute;inset:0;object-position:center 58%}.scene .after{clip-path:inset(0 calc(100% - var(--clean)) 0 0)}.scene-shade{position:absolute;inset:0;background:linear-gradient(0deg,#11201b9c,transparent 55%,#11201b25);pointer-events:none}.scene-top,.scene-bottom{position:absolute;left:32px;right:32px;display:flex;justify-content:space-between;align-items:center;color:white;font-size:9px;letter-spacing:1.5px;z-index:2;gap:14px}.scene-top{top:30px}#sceneState{background:var(--paper);color:var(--ink);padding:8px 15px;letter-spacing:0;font-size:11px}.scene-bottom{bottom:25px}.scene-copy{position:absolute;bottom:90px;left:5%;right:4%;color:white;z-index:2;pointer-events:none}.scene-copy p{font-size:clamp(38px,5.5vw,80px);letter-spacing:-2px;line-height:1;margin:0}.scene-copy em{font-size:1.1em}.wipe-edge{position:absolute;left:var(--clean);top:0;bottom:0;width:2px;background:#fff9;box-shadow:0 0 25px 7px #ffffff28;pointer-events:none}.wipe-edge span{position:absolute;top:45%;left:-22px;background:var(--blue);border:1px solid #fff8;border-radius:50%;color:white;width:46px;height:46px;display:grid;place-items:center;font-size:23px}#replay{background:none;border:0;border-bottom:1px solid #fff8;color:white;font-size:11px;padding:8px 0;letter-spacing:0}.image-note{text-align:right;padding:8px 2% 0;font-size:9px;color:#68717a;margin:0}.breather{padding:90px 7%;display:grid;grid-template-columns:1.5fr 1fr;gap:12%;align-items:center;max-width:1600px;margin:auto}.breather h2{font-size:clamp(30px,4vw,57px);letter-spacing:-2px;line-height:1.1;margin:0}.breather h2 em{color:var(--blue);font-size:1.15em}.breather>div{max-width:350px}.breather>div p{font-size:14px;margin:12px 0 0}.little-sun{font-size:35px;color:var(--blue)}.services,.how,.questions{padding:85px 7%;max-width:1600px;margin:auto}.services{border-top:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:45px}.section-heading h2{margin-bottom:0}.section-heading>p{font-size:13px;margin:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.service-art{height:270px;display:grid;place-items:center;position:relative;overflow:hidden;color:var(--blue)}.service-art small{position:absolute;bottom:18px;left:15px;right:15px;text-align:center;font-size:8px;letter-spacing:1.3px}.repeat-art{background:#dce7eb}.repeat-art>span{font-size:142px;line-height:1;font-family:Georgia,serif;transition:transform 1s}.service:hover .repeat-art>span{transform:rotate(150deg)}.orbit{position:absolute;border:1px solid #1748e335;width:205px;height:205px;border-radius:50%;transform:rotate(-35deg) scaleX(.6)}.orbit.two{transform:rotate(35deg) scaleX(.6)}.deep-art{background:#e5ebc9}.tile-grid{position:absolute;inset:0;background-image:linear-gradient(#98a47c55 1px,transparent 1px),linear-gradient(90deg,#98a47c55 1px,transparent 1px);background-size:54px 54px;transform:rotate(-12deg) scale(1.4)}.deep-art>span{font-size:155px;line-height:1;position:relative;transition:transform .8s}.service:hover .deep-art>span{transform:rotate(90deg) scale(1.12)}.move-art{background:#f1d9bc}.door{width:100px;height:170px;border:2px solid var(--blue);position:relative;background:var(--paper);box-shadow:20px 15px 0 #cbbfb0}.door:after{content:'';position:absolute;inset:0;background:var(--blue);transform:perspective(400px) rotateY(-35deg);transform-origin:left;transition:transform .8s}.service:hover .door:after{transform:perspective(400px) rotateY(-65deg)}.door>span{position:absolute;top:55px;right:10px;font-size:38px}.service-title{display:flex;justify-content:space-between;align-items:center;margin:22px 0 10px;gap:8px}.service-title h3{font-size:22px;letter-spacing:-.8px;margin:0;font-weight:500}.service-title>span{font-size:10px;color:#79808b}.service>p{font-size:13px;max-width:310px;min-height:65px}.service ul{padding:18px 0;margin:10px 0 22px;list-style:none;border-top:1px solid var(--line);font-size:11px;line-height:2.2}.service li:before{content:'✓';color:var(--blue);margin-right:10px}.service .underlink{width:100%}.compare-section{background:#e9edec;display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:5%;padding:70px 7%}.compare-copy h2{font-size:clamp(40px,4.4vw,65px)}.compare-copy>p:not(.eyebrow){max-width:300px;font-size:14px}.small-copy{font-size:11px!important;color:#566170;line-height:1.7}.comparison{position:relative;aspect-ratio:4/3;--split:50%;overflow:hidden}.comparison>img{position:absolute;inset:0;width:100%;height:100%;object-position:center}.compare-after{clip-path:inset(0 calc(100% - var(--split)) 0 0)}.compare-line{position:absolute;left:var(--split);top:0;bottom:0;width:2px;background:white;pointer-events:none}.compare-line span{position:absolute;top:50%;transform:translate(-50%,-50%);width:49px;height:49px;border-radius:50%;background:white;color:var(--blue);display:grid;place-items:center;font-size:24px;box-shadow:0 2px 10px #0003;white-space:nowrap}.compare-label{position:absolute;bottom:16px;color:white;background:#132d45b8;font-size:8px;letter-spacing:1px;padding:5px 10px}.compare-label.left{left:15px}.compare-label.right{right:15px}.comparison input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;touch-action:pan-y}.comparison:focus-within{outline:3px solid var(--blue);outline-offset:5px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:55px}.steps>div{border-top:1px solid var(--line);padding-top:22px}.steps span{color:var(--blue);font-family:var(--serif);font-size:45px}.steps h3{font-size:20px;font-weight:500;letter-spacing:-.5px;margin:20px 0 10px}.steps p{font-size:13px;max-width:300px}.questions{display:grid;grid-template-columns:1fr 1fr;gap:9%;border-top:1px solid var(--line)}.questions h2{font-size:50px}.concept-note{font-size:12px;color:#626d77;max-width:320px}.faqs{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;padding:23px 0;display:flex;justify-content:space-between;gap:20px;font-size:13px}summary::-webkit-details-marker{display:none}summary span{font-size:22px;color:var(--blue)}details[open] summary span{transform:rotate(45deg)}details p{font-size:12px;padding:0 25px 20px 0;margin:0;line-height:1.8}.final-cta{background:var(--blue);color:var(--paper);padding:85px 7%;position:relative;overflow:hidden}.final-cta h2{font-size:clamp(58px,7.8vw,114px);position:relative;z-index:1}.light{background:var(--paper);color:var(--blue);border-color:var(--paper);position:relative;z-index:1}.light:hover{background:#e5eacb}.giant-sun{position:absolute;right:4%;top:10%;font-size:340px;line-height:1;color:#a7c4ff;animation:turn 70s linear infinite}footer{padding:42px 4.5%;display:flex;justify-content:space-between;gap:30px;align-items:center}footer>p{font-size:12px;margin:0}footer>div{font-size:11px;text-align:right}footer small{display:block;font-size:9px;color:#6b7480;margin-top:10px}.mobile-quote{display:none}.skip{position:fixed;top:-100px;left:20px;z-index:50;padding:10px;background:white}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.js-motion .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}.js-motion .reveal.visible{opacity:1;transform:none}.noscript-note{padding:20px;background:#fff4b5;text-align:center}
dialog{width:600px;max-width:calc(100% - 28px);max-height:calc(100dvh - 28px);padding:35px 40px;border:0;background:var(--paper);color:var(--ink);overflow:auto}dialog::backdrop{background:#10223999;backdrop-filter:blur(7px)}body:has(dialog[open]){overflow:hidden}.close{position:absolute;right:15px;top:15px;font-size:30px;background:none;border:0;width:44px;height:44px}.quote-header .brand{font-size:30px}.quote-header .brand>span{font-size:28px}.quote-header .eyebrow{margin:23px 0 13px;font-size:8px}.progress{height:3px;background:#d5dce7;margin-bottom:30px}.progress span{height:100%;width:33.33%;background:var(--blue);display:block;transition:width .3s}.step-label{font-size:9px;letter-spacing:1.4px;color:var(--blue)}dialog h2{font-size:48px;letter-spacing:-2px;margin:0 0 25px}fieldset{border:0;padding:0;margin:0}.choice{display:flex;align-items:center;gap:12px;border:1px solid var(--line);margin-bottom:10px;padding:16px;cursor:pointer}.choice:has(input:checked){border-color:var(--blue);background:#e9eefc}.choice input{accent-color:var(--blue)}.choice strong{display:block;font-size:14px;font-weight:500}.choice small{display:block;font-size:10px;color:#596575}.choice b{font-size:11px;margin-left:auto;color:var(--blue)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid label,.field{font-size:12px;display:block;margin-bottom:20px}select{display:block;width:100%;padding:13px 10px;background:white;border:1px solid #b7c1cd;border-radius:0;color:var(--ink);margin-top:7px;font-size:14px}select:disabled{background:#eceeea;color:#6b7480}.check{display:flex;gap:9px;align-items:center;font-size:13px;margin:5px 0 24px}.check input{width:19px;height:19px;accent-color:var(--blue)}.quote-actions{display:flex;justify-content:space-between;align-items:center;margin-top:25px;gap:20px}.quote-actions .next{margin-left:auto}.demo-disclaimer{font-size:9px;color:#66717c;text-align:center;margin:20px 0 0}.quote-summary{background:white;border-top:3px solid var(--blue);padding:22px}.quote-summary p{display:flex;justify-content:space-between;gap:20px;font-size:12px;margin:10px 0}.quote-summary .estimate{border-top:1px solid var(--line);padding-top:15px;align-items:center}.estimate strong{font-size:29px;color:var(--blue);letter-spacing:-1px;white-space:nowrap}.quote-summary h3{font-size:22px;letter-spacing:-.7px;font-weight:500;margin:0 0 15px}[hidden]{display:none!important}@keyframes turn{to{transform:rotate(360deg)}}
@media(min-width:1600px){.wash-story,.compare-section,.final-cta{max-width:1600px;margin-left:auto;margin-right:auto}}
@media(max-width:950px){nav{gap:18px}.title-star{right:1%;font-size:70px}.service-grid{gap:18px}.service-art{height:220px}.service-title h3{font-size:19px}.compare-section{grid-template-columns:1fr 1.2fr}.questions{gap:5%}.questions h2{font-size:42px}.giant-sun{font-size:250px;right:-40px;top:25%}.scene-copy{bottom:95px}.scene-copy p{font-size:55px}}
@media(max-width:650px){header{height:80px;padding:0 6%;gap:12px}header .brand{font-size:32px}header .brand>span{font-size:28px}nav{display:none}.small{font-size:10px;padding:11px 12px;gap:12px;min-height:42px}.intro{padding:38px 6% 28px}.eyebrow{font-size:8px;letter-spacing:1.2px;margin-bottom:25px}.intro h1{font-size:clamp(36px,10.9vw,70px);margin-bottom:26px;letter-spacing:-2.5px;line-height:1.02}.intro h1 em{font-size:1.12em}.title-star{font-size:36px;right:0;top:50%}.intro-bottom{align-items:center;gap:15px}.intro-bottom p{font-size:12px}.intro-bottom .underlink{font-size:9px;gap:10px;max-width:115px}.wash-story{margin:0 3%;height:135svh}.wash-sticky{top:10px;height:72svh;min-height:450px;max-height:700px}.scene>img{object-position:52% center}.scene-top{top:20px;left:18px;right:18px;font-size:7px;letter-spacing:1px}#sceneState{font-size:9px;padding:7px 9px}.scene-copy{bottom:105px;left:7%;right:5%}.scene-copy p{font-size:38px;letter-spacing:-1px}.scene-copy p em{font-size:1.1em}.scene-bottom{left:20px;right:20px;bottom:20px;align-items:start;flex-direction:column;gap:10px;font-size:7px}#replay{font-size:10px}.image-note{font-size:8px;padding:8px 4%}.breather{padding:60px 7%;grid-template-columns:1fr;gap:25px}.breather h2{font-size:36px;letter-spacing:-1.3px}.breather>div{display:flex;gap:22px;max-width:none;align-items:start}.breather>div p{font-size:12px;margin:0}.little-sun{line-height:1.2}.services,.how,.questions{padding:60px 7%}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:20px;font-size:12px}.section-heading h2{font-size:47px}.service-grid{grid-template-columns:1fr;gap:45px}.service-art{height:250px}.service-title h3{font-size:25px}.service>p{font-size:13px;min-height:0;max-width:none}.service ul{margin-bottom:15px}.compare-section{padding:55px 7%;grid-template-columns:1fr;gap:25px}.compare-copy h2{font-size:47px}.compare-copy>p:not(.eyebrow){font-size:12px}.comparison{aspect-ratio:1/1}.how .section-heading .button{margin-top:20px}.steps{grid-template-columns:1fr;gap:20px;margin-top:35px}.steps>div{display:grid;grid-template-columns:45px 1fr;column-gap:18px;padding-top:20px}.steps span{grid-row:1/3;font-size:38px}.steps h3{margin:6px 0 8px;font-size:20px}.steps p{grid-column:2;font-size:12px}.questions{grid-template-columns:1fr;gap:25px}.questions h2{font-size:44px}.final-cta{padding:60px 7% 70px}.final-cta h2{font-size:56px}.final-cta .eyebrow{font-size:7px;max-width:240px}.giant-sun{font-size:190px;right:-80px;top:45%;opacity:.35}footer{padding:35px 7% 100px;flex-wrap:wrap;gap:25px}footer>div{text-align:left;width:100%;border-top:1px solid var(--line);padding-top:20px}.mobile-quote{display:flex;position:fixed;bottom:15px;left:6%;right:6%;width:88%;z-index:10;box-shadow:0 4px 25px #14213d30;padding:14px 20px;transition:transform .3s;transform:translateY(140px)}.mobile-quote.show{transform:translateY(0)}body:has(dialog[open]) .mobile-quote{display:none}dialog{padding:27px 22px;max-height:calc(100dvh - 20px)}dialog h2{font-size:41px}.choice{padding:14px 10px}.choice small{font-size:9px}.choice strong{font-size:13px}.quote-header .eyebrow{margin-top:18px}.progress{margin-bottom:23px}.estimate strong{font-size:24px}.quote-actions .button{font-size:12px;padding:14px 17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}.wash-story{height:auto}.wash-sticky{position:relative}.scene .after{clip-path:none}.wipe-edge,.scroll-hint,#replay{display:none}}
