@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#000000;--panel:#1a2029;--panel2:#222b36;--yellow:#ffe161;--gold:#ddc27c;--white:#f6f4ed;--muted:#a7afba;--line:#ffffff1b;--lavender:#c7b9f6;--mint:#b9dfce;--ease:cubic-bezier(.16,1,.3,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:var(--ink);color:var(--white);font-family:'DM Sans',sans-serif;font-size:15px;-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,sans-serif}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--yellow);outline-offset:4px}button[hidden],div[hidden]{display:none!important}.sr-only,.skip-link{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.skip-link:focus{position:fixed;left:15px;top:15px;width:auto;height:auto;background:var(--yellow);color:#000;padding:12px;z-index:200}#bubbles,#quote-bubbles{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}#quote-bubbles{z-index:10}.site-shell{position:relative;z-index:1;overflow:clip}.preview-note{max-width:1440px;margin:auto;display:flex;justify-content:space-between;padding:13px 4%;font-size:9px;letter-spacing:1.4px;color:#8d939d;border-bottom:1px solid var(--line)}.header{max-width:1440px;margin:auto;padding:12px 4%;display:flex;justify-content:space-between;gap:20px;align-items:center}.brand{display:block;flex-shrink:0}.logo-window{display:block;width:340px;height:310px;position:relative;overflow:hidden}.logo-window img{position:absolute;width:660px;height:auto;max-width:none;left:-160px;top:-30px;filter:none}.header nav{display:flex;align-items:center;gap:25px;font-size:12px}.header nav>a{color:#c8cbd1}.header nav>a:hover{color:var(--yellow)}.language-toggle{display:flex;padding:4px;border:1px solid #49505c;border-radius:50px}.language-toggle button{border:0;background:none;color:#aeb6c3;border-radius:30px;padding:8px 11px;font-size:11px}.language-toggle button.selected{background:#e9e8e0;color:#1b222d}.motion-toggle{display:flex;align-items:center;gap:7px;color:#aeb6c3;border:0;background:none;padding:10px 0;font-size:10px}.motion-toggle>span:first-child{font-size:18px}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:17px 24px;border-radius:50px;border:0;font-size:12px;font-weight:700;background:var(--yellow);color:#23251e;min-height:46px;transition:transform .25s var(--ease),box-shadow .25s}.button:hover{transform:translateY(-3px);box-shadow:0 7px 30px #ffe16122}.button span{font-size:21px}.button-small{font-size:11px;padding:13px 19px}.button-primary{background:var(--yellow)}.button-dark{background:#151c25;color:#fff}.hero{max-width:1440px;margin:-130px auto 0;padding:30px 4% 70px;display:grid;grid-template-columns:.88fr 1.12fr;gap:6%;align-items:start}.hero-copy{padding-top:153px;position:relative}.eyebrow{display:flex;align-items:center;gap:9px;font-size:9px;letter-spacing:2px;font-weight:600;line-height:1.7}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--yellow);box-shadow:0 0 14px #ffe16155}.pill{font-size:11px;display:inline-block;color:#d3bf83;border:1px solid #bd9d4a3b;padding:9px 13px;border-radius:30px;margin-top:15px}h1{font-size:clamp(45px,5.2vw,77px);font-weight:800;line-height:1.08;letter-spacing:-4px;margin:23px 0 26px}em{font-style:normal;color:var(--yellow)}.lead{color:#b3b8c1;font-size:14px;line-height:1.9;max-width:430px;margin-bottom:28px}.quiet{font-size:10px;color:#939ca9;line-height:1.7;margin:14px 0 0}.hero-benefits{display:flex;gap:22px;color:#b6bdc7;font-size:10px;margin-top:32px}.hero-benefits span:before{content:'✓';color:var(--mint);margin-right:8px}.little-route{display:flex;gap:16px;align-items:center;padding-top:28px;margin-top:28px;border-top:1px solid var(--line)}.little-route>div{width:145px;flex-shrink:0}.little-route>span{font-size:10px;color:#969fad;line-height:1.8}.van-art{width:100%;display:block}.quote{position:relative;background:linear-gradient(145deg,#ffedb711,#ffffff04 48%,#ffedb708),#06060599;backdrop-filter:blur(18px) saturate(.8);-webkit-backdrop-filter:blur(18px) saturate(.8);border:1px solid #eedfb32e;border-radius:28px;padding:27px;box-shadow:0 20px 90px #0005,inset 0 1px #ffffff16,inset 0 -1px #0005;scroll-margin-top:20px;isolation:isolate}.quote:before{content:'';position:absolute;top:-1px;left:12%;right:12%;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);border-radius:100%}.quote-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.quote-top .eyebrow{color:#c9cdd4;font-size:8px;letter-spacing:1.6px;margin:0}.quote-badge{font-size:7px;letter-spacing:1px;color:#b5dbce;display:flex;align-items:center;gap:6px}.quote-badge>span:first-child{width:4px;height:4px;border-radius:50%;background:#b5dbce}.quote-progress{height:3px;border-radius:3px;background:#ffffff14;margin:20px 0 15px;overflow:hidden}.quote-progress>span{height:100%;display:block;background:linear-gradient(90deg,var(--gold),var(--yellow));transition:width .5s var(--ease)}.step-row{display:flex;justify-content:space-between;gap:10px;margin-bottom:25px;font-size:9px;color:#a4afbd}.step-row #step-label{letter-spacing:1px;text-transform:uppercase}.step-row #step-help{color:#8c99a9;font-size:9px}.quote h2{font-size:30px;font-weight:700;letter-spacing:-1.1px;line-height:1.2;margin-bottom:10px}.quote h2:focus{outline:0}.question-note{font-size:12px;color:#aeb7c5;line-height:1.75;margin:0 0 22px;max-width:500px}#quote-body{animation:stage-in .45s var(--ease)}#quote-stage{transition:opacity .22s,transform .22s}#quote-stage.leaving{opacity:0;transform:translateY(-8px);pointer-events:none}.choices{display:grid;grid-template-columns:1fr 1fr;gap:13px}.choice{appearance:none;display:block;text-align:left;border:1px solid #f4eac22b;border-radius:20px;background:linear-gradient(145deg,#ffffff09,#ffffff02),#00000038;color:var(--white);padding:19px;position:relative;overflow:hidden;transition:transform .3s var(--ease),border-color .2s,background .2s;isolation:isolate;min-width:0}.choice:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),#ffe79d1f,transparent 70%);opacity:0;transition:opacity .25s;z-index:-1}.choice:hover{transform:translateY(-4px);border-color:#d3c18a90}.choice:hover:before{opacity:1}.choice.is-selected{border-color:var(--yellow);background:#49442e80;box-shadow:inset 0 0 0 1px #ffe16166}.choice strong{font-family:Manrope,sans-serif;font-weight:700;font-size:15px;display:block;margin-bottom:7px}.choice small{display:block;font-size:10px;color:#afbac9;line-height:1.6}.choice .card-number{position:absolute;right:16px;top:16px;font-size:9px;letter-spacing:1px;color:#a4adba}.choice .card-arrow{position:absolute;right:17px;bottom:18px;display:grid;place-items:center;border:1px solid #7f879348;border-radius:50%;width:28px;height:28px;font-size:16px;color:#e5d18c}.choice.pet-choice{padding:12px 17px 21px}.pet-choice .pet-art{width:calc(100% + 24px);margin:0 -12px 6px;aspect-ratio:320/285;display:block}.pet-choice.dog-choice{background:radial-gradient(ellipse at 50% 42%,#e4bb5917,transparent 70%),#ffffff05}.pet-choice.cat-choice{background:radial-gradient(ellipse at 50% 42%,#b3a0ef17,transparent 70%),#ffffff05}.pet-choice strong{font-size:20px;letter-spacing:-.5px}.pet-choice small{max-width:82%;font-size:10px}.pet-caption{display:flex;justify-content:space-between;gap:10px;font-size:8px;color:#8f9dad;letter-spacing:.4px;margin:14px 0 0}.pet-caption>span:first-child:before{content:'✦ ';color:var(--gold)}.quote-actions{display:flex;justify-content:space-between;gap:15px;margin-top:23px;align-items:center}.quote-actions:has(button[hidden]+button[hidden]){display:none}.back-button{border:0;background:none;color:#c4cbd5;font-size:11px;padding:12px 0}.back-button:hover{color:var(--yellow)}.quote-actions .button{margin-left:auto;padding:14px 20px;font-size:11px;min-height:43px}.quote-summary{border-top:1px solid #ffffff19;display:flex;justify-content:space-between;gap:18px;align-items:center;padding-top:19px;margin-top:23px}.quote-summary span{font-size:10px;color:#9faaba}.quote-summary strong{font-family:Manrope,sans-serif;font-size:24px;letter-spacing:-.8px;color:var(--yellow)}.quote-disclaimer{font-size:8px;color:#8f9aab;line-height:1.8;margin:11px 0 0}.field-label{display:block;font-size:11px;font-weight:600;color:#c5cfde;margin:20px 0 9px}input[type=search],input[type=text]{display:block;width:100%;border:1px solid #8290a350;border-radius:13px;background:#0000004d;color:var(--white);padding:14px 17px;min-height:48px;font-size:14px}input::placeholder{color:#7f8da0}input:focus{outline:2px solid var(--gold);outline-offset:2px}.zip-input{font-family:Manrope,sans-serif;font-size:30px!important;letter-spacing:8px!important;text-align:center;padding:17px!important}.zip-scene{width:220px;margin:-7px auto 10px}.zip-result{margin-top:17px;padding:15px;background:#ffffff06;border:1px solid #a6bfd349;border-radius:12px;font-size:11px;line-height:1.8;color:#bfc7d4}.zip-result strong{display:block;color:var(--yellow);font-size:12px;margin-bottom:4px}.zip-result.outside{border-color:#d3a68866}.zip-result.error{border-color:#ff9f9f66;color:#ffc2c2}.demo-link{background:none;border:0;color:var(--gold);padding:10px 0;font-size:10px;text-decoration:underline;text-underline-offset:3px}.breed-list{display:flex;flex-wrap:wrap;align-content:start;gap:7px;max-height:220px;overflow:auto;margin-top:14px;padding:3px;scrollbar-color:#756f5d #151513;scrollbar-width:thin}.breed-chip{background:#ffffff0c;color:#dbe0e9;border:1px solid #8c9aaf33;border-radius:20px;font-size:11px;padding:10px 13px;transition:background .2s}.breed-chip:hover,.breed-chip.is-selected{background:#5a5032;color:#fff3bd;border-color:#d4b958aa}.search-note{font-size:9px;color:#8f9fb3;margin:12px 0 0;line-height:1.7}.size-choices .choice{text-align:center;padding:15px 12px}.size-dog{display:block;height:94px;background-image:url('assets/dog-sizes-clean.png');background-size:310px 120px;background-repeat:no-repeat;margin:0 auto 12px;filter:invert(1);opacity:.9}.size-s{width:46px;background-position:0 0}.size-m{width:62px;background-position:-62px 0}.size-l{width:85px;background-position:-131px 0}.size-xl{width:96px;background-position:-215px 0}.size-cat{height:94px;display:flex;align-items:end;justify-content:center;margin-bottom:12px}.size-cat svg{width:80px;max-height:100%}.size-cat.s svg{width:45px}.size-cat.m svg{width:60px}.size-cat.l svg{width:72px}.mini-coat{display:block;height:45px;width:68px;margin-bottom:20px;position:relative}.mini-coat:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(105deg,transparent 0 5px,#dac19c 5px 8px,transparent 8px 14px);border-radius:50%}.mini-coat.long:before{height:55px;transform:skew(-8deg)}.mini-coat.curly:before{background:radial-gradient(circle at 7px 8px,transparent 3px,#d5b68e 4px 6px,transparent 7px);background-size:16px 16px}.mini-coat.double:before{background:repeating-linear-gradient(65deg,transparent 0 4px,#c9c7da 4px 7px,transparent 7px 11px),repeating-linear-gradient(115deg,transparent 0 5px,#9996b055 5px 8px,transparent 8px 14px)}.mini-coat.hairless:before{background:linear-gradient(120deg,#e7b9a4,#b98382)}.condition-icon{font-family:Manrope,sans-serif;font-size:32px;color:var(--mint);height:46px;display:block;margin-bottom:10px;line-height:1}.condition-heavy{color:#e5be94}.service-choices .choice{padding:9px 16px 18px}.service-choices .pet-art{width:calc(100% + 24px);margin:0 -12px 4px}.choice-price{color:var(--yellow);font-size:12px;font-weight:600;margin-top:12px;display:block}.extra-list{border:0;padding:0;margin:0}.extra-list legend{font-size:10px;color:#b8c3d2;margin-bottom:8px}.extra-list label{display:flex;gap:13px;align-items:center;background:#ffffff04;padding:18px 15px;margin-bottom:10px;border-radius:13px;border:1px solid #ffffff16;cursor:pointer;font-size:12px}.extra-list input{width:19px;height:19px;accent-color:var(--yellow)}.extra-list b{margin-left:auto;color:var(--gold);font-size:11px}.receipt{border:1px solid #ffffff20;border-radius:16px;padding:16px 19px;background:#00000042;margin-top:18px}.receipt-profile{font-size:11px;color:#b8c3d2;line-height:1.8;padding-bottom:13px;margin:0 0 8px;border-bottom:1px solid var(--line)}.receipt-line{display:flex;justify-content:space-between;gap:20px;font-size:11px;padding:11px 0;color:#bdc8d6}.receipt-total{font-size:20px;color:var(--yellow);font-weight:700;border-top:1px dashed #ffffff30;padding:17px 0 3px;margin-top:5px}.receipt-total b{white-space:nowrap}.review-note{font-size:10px!important;line-height:1.8;color:#a9b7c9;border-left:2px solid var(--gold);padding-left:12px;margin:16px 0}.receipt-buttons{display:flex;gap:17px;align-items:center}.text-button{background:none;border:0;border-bottom:1px solid #c6ac663d;color:var(--gold);font-size:11px;padding:11px 0;display:inline-flex;align-items:center;justify-content:space-between;gap:18px;line-height:1.5}.text-button:hover{color:var(--yellow)}.text-button span{font-size:20px}.receipt-buttons .text-button{font-size:10px}.result-confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:28px}.confetti{position:absolute;left:var(--x);top:35%;width:6px;height:9px;border-radius:2px;background:var(--color);animation:confetti 1s var(--ease) forwards}.marquee{background:var(--yellow);color:#1d251e;padding:24px 0;overflow:hidden;border-block:1px solid #d1bb43;transform:rotate(-.65deg);margin:10px -8px 0;font-family:Manrope,sans-serif;font-size:14px;font-weight:800;letter-spacing:.6px}.marquee-track{display:flex;width:max-content;animation:marquee 45s linear infinite}.marquee-track>span{white-space:nowrap;display:block;padding-right:30px}.marquee i{font-style:normal;padding:0 30px;font-size:23px;vertical-align:middle}.section{max-width:1440px;margin:auto;padding:100px 4%}.section-intro{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:35px}.section-intro>p{max-width:300px;font-size:13px;color:#a3adbb;line-height:1.9;margin-bottom:8px}h2{font-size:clamp(32px,3.6vw,54px);font-weight:700;line-height:1.13;letter-spacing:-2px;margin-bottom:0}h3{font-size:23px;letter-spacing:-.8px;font-weight:600}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.service-card{border-radius:24px;border:1px solid #ffffff20;background:linear-gradient(160deg,#202833,#11161d);overflow:hidden;display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;transition:border-color .3s}.service-card:hover{border-color:#ffe16166}.service-visual{padding:15px 0 15px 12px}.service-visual .pet-art{width:100%;min-width:0}.service-info{padding:28px 24px 28px 6px}.service-info .eyebrow{font-size:8px;color:#a9b7c9;letter-spacing:1.5px}.service-info h3{font-size:24px;margin:10px 0}.service-info>p:not(.eyebrow){font-size:11px;color:#a9b4c2;line-height:1.8}.service-info ul{padding:0;list-style:none;margin:18px 0}.service-info li{font-size:10px;color:#c3ccd8;margin:10px 0;padding-left:16px;position:relative;line-height:1.5}.service-info li:before{content:'✓';position:absolute;left:0;color:var(--mint)}.service-info .text-button{font-size:10px}.details{padding-top:30px;display:grid;grid-template-columns:.9fr 1.1fr;gap:10%}.detail-lead{font-size:13px;color:#a3adbb;line-height:1.9;max-width:320px;margin-top:25px}.detail-list article{display:flex;gap:25px;border-bottom:1px solid var(--line);padding:24px 0}.detail-list article:first-child{padding-top:0}.detail-list article>span{font-size:10px;color:var(--gold);padding-top:6px}.detail-list h3{font-size:18px;margin:0 0 10px;letter-spacing:-.4px}.detail-list p{font-size:12px;line-height:1.9;color:#a3adbb;margin:0}.last-call{max-width:1328px;margin:0 auto 60px;background:var(--yellow);color:#19241f;border-radius:24px;padding:60px 6%;display:grid;grid-template-columns:1.4fr .6fr;gap:30px;align-items:center;position:relative;overflow:hidden}.last-call:before{content:'';position:absolute;right:-130px;top:-180px;width:600px;height:600px;border-radius:50%;border:1px solid #202c2722}.last-call h2{font-size:clamp(35px,4vw,58px);margin:20px 0}.last-call em{color:#455539}.last-call p:not(.eyebrow){font-size:13px;line-height:1.9;max-width:380px}.last-pet .pet-art{width:100%;transform:rotate(6deg)}.last-call .button{margin-top:8px}footer{max-width:1440px;margin:auto;padding:20px 4% 40px;display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-name{color:var(--gold);font-weight:700;font-size:16px;letter-spacing:.7px}.footer-name b{color:#d7dde6}footer>span:not(.footer-name),footer>a{font-size:9px;letter-spacing:1px;color:#7f8b9d}
/* Motion system: animatable puppet parts, controlled centrally by motion.js */
.pet-art{overflow:visible}.pet-head{transform-box:fill-box;transform-origin:50% 85%;animation:head-sway 4s ease-in-out infinite}.pet-body{transform-box:fill-box;transform-origin:50% 100%;animation:breathe 3.5s ease-in-out infinite}.tail{transform-box:fill-box;transform-origin:0 90%;animation:tail-wag .6s ease-in-out infinite alternate}.cat-art .tail{animation-duration:1.8s}.eye-blink{transform-box:fill-box;transform-origin:center;animation:blink 5.4s infinite}.pupils{transform:translate(var(--look-x,0px),var(--look-y,0px));transition:transform .16s}.ear{transform-box:fill-box;transform-origin:50% 10%;animation:ear-bounce 2.6s ease-in-out infinite}.ear-right{animation-delay:-.5s}.tongue{transform-box:fill-box;transform-origin:top;animation:tongue 1s ease-in-out infinite alternate}.cat-art .paw-right{transform-box:fill-box;transform-origin:30% 0;animation:cat-paw 4s ease-in-out infinite}.art-bubble{animation:art-bubble 4.6s ease-in-out infinite;animation-delay:var(--delay)}.pet-shadow{transform-box:fill-box;transform-origin:center;animation:shadow-breathe 3.5s infinite}.choice:hover .tail{animation-duration:.22s}.choice:hover .pet-head{animation-duration:1.4s}.foam{transform-box:fill-box;transform-origin:center;animation:foam 1.8s ease-in-out infinite}.water{stroke-dasharray:6 7;animation:water .7s linear infinite}.scene-bath .pet-head{animation:shake 5s ease-in-out infinite}.scene-groom .pet-head{animation:head-sway 3s ease-in-out infinite}.sparkles{animation:sparkles 2s ease-in-out infinite}.van-bounce{animation:van-bounce 1.3s ease-in-out infinite}.road{stroke-dashoffset:0;animation:road 1s linear infinite}.speed-lines{animation:speed 1s ease-in-out infinite}.offscreen *{animation-play-state:paused!important}body[data-motion=off] *,body[data-motion=off] *:before,body[data-motion=off] *:after{animation:none!important;transition:none!important}body[data-motion=off] .choice:hover{transform:none}
@keyframes head-sway{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}@keyframes breathe{0%,100%{transform:translateY(0) scaleY(1)}50%{transform:translateY(-3px) scaleY(1.012)}}@keyframes tail-wag{from{transform:rotate(-13deg)}to{transform:rotate(17deg)}}@keyframes blink{0%,43%,47%,100%{transform:scaleY(1)}45%{transform:scaleY(.08)}}@keyframes ear-bounce{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(6deg)}}@keyframes tongue{to{transform:scaleY(.85)}}@keyframes cat-paw{0%,40%,100%{transform:rotate(0) translateY(0)}55%,70%{transform:rotate(-28deg) translateY(-13px)}62%{transform:rotate(-13deg) translateY(-16px)}}@keyframes art-bubble{0%,100%{transform:translateY(5px);opacity:.4}50%{transform:translateY(-12px);opacity:1}}@keyframes shadow-breathe{50%{transform:scaleX(.93);opacity:.15}}@keyframes foam{50%{transform:translateY(-4px) scaleX(1.03)}}@keyframes water{to{stroke-dashoffset:-26}}@keyframes shake{0%,20%,40%,100%{transform:rotate(0)}26%,34%{transform:rotate(-8deg)}30%,38%{transform:rotate(8deg)}}@keyframes sparkles{0%,100%{opacity:.25}50%{opacity:1}}@keyframes van-bounce{50%{transform:translateY(-2px)}}@keyframes road{to{stroke-dashoffset:-36}}@keyframes speed{50%{opacity:.25;transform:translateX(-7px)}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes stage-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes confetti{to{transform:translate(var(--dx),var(--dy)) rotate(240deg);opacity:0}}
@media(min-width:1500px){.hero{gap:80px}.quote{padding:32px}.hero h1{font-size:80px}}@media(max-width:1100px){.header nav{gap:17px}.motion-label{display:none}.hero{gap:4%;grid-template-columns:.85fr 1.15fr}.hero h1{font-size:52px;letter-spacing:-2.5px}.quote{padding:23px}.quote h2{font-size:27px}.hero-benefits{flex-direction:column;gap:10px}.little-route{gap:10px}.little-route>div{width:115px}.section-intro{gap:25px}.service-card{grid-template-columns:1fr}.service-visual{max-width:210px;margin:auto;padding:20px 0 0}.service-info{padding:20px 25px 30px}.service-info h3{font-size:26px}.last-call{margin-inline:4%}.step-row #step-help{font-size:8px}}
@media(max-width:960px){.preview-note{font-size:7px;letter-spacing:.5px;padding-block:10px}.header{padding-block:5px;gap:15px;position:relative;align-items:flex-start}.header nav{position:absolute;right:4%;top:12px}.logo-window{width:260px;height:250px}.logo-window img{width:520px;left:-130px;top:-20px}.header nav{gap:12px}.header nav>a,.header nav>.button{display:none}.motion-toggle{font-size:16px;min-width:24px;min-height:40px}.language-toggle button{padding:8px 10px}.hero{margin-top:0;display:flex;flex-direction:column;gap:24px;padding-top:3px;padding-bottom:40px}.hero-copy{padding-top:12px;width:100%}.hero-copy .eyebrow{font-size:8px;letter-spacing:1.3px;margin-bottom:0}.pill{display:none}.hero h1{font-size:clamp(42px,9.8vw,64px);letter-spacing:-2.5px;line-height:1.06;margin:17px 0}.hero h1 br{display:initial}.hero h1 em{display:block}.lead{font-size:12px;margin:0;line-height:1.8;max-width:450px}.hero-copy>.button,.hero-copy>.quiet,.hero-benefits,.little-route{display:none}.quote{width:100%;padding:22px 18px;border-radius:22px;scroll-margin-top:12px}.quote h2{font-size:25px;letter-spacing:-.8px}.quote-top .eyebrow{font-size:7px;letter-spacing:1px}.quote-badge{font-size:6px;letter-spacing:.6px}.step-row{margin-bottom:20px}.question-note{font-size:11px;margin-bottom:17px}.choices{gap:10px}.choice{padding:15px;border-radius:16px}.choice.pet-choice{padding:8px 12px 17px}.pet-choice strong{font-size:19px}.pet-choice small{font-size:9px;max-width:80%}.pet-choice .card-arrow{width:23px;height:23px;right:10px;bottom:15px;font-size:14px}.pet-caption{font-size:7px}.quote-summary strong{font-size:21px}.quote-disclaimer{font-size:8px}.choice strong{font-size:13px}.choice small{font-size:9px}.service-choices .choice strong{font-size:14px}.service-choices .choice{padding:8px 12px 15px}.quote-actions .button{font-size:10px;padding:12px 17px;min-height:42px}.breed-list{max-height:210px}.breed-chip{font-size:10px;padding:10px 12px}.section{padding:60px 5%}.section-intro{display:block;margin-bottom:25px}.section-intro>p{margin-top:20px;font-size:12px;max-width:100%}h2{font-size:36px;letter-spacing:-1.5px}.service-grid{gap:16px;grid-template-columns:1fr}.service-card{grid-template-columns:.8fr 1.2fr}.service-visual{padding:0 0 0 8px;max-width:none}.service-info{padding:25px 18px 25px 4px}.service-info h3{font-size:21px}.service-info .eyebrow{font-size:7px;letter-spacing:1px}.service-info ul{margin:14px 0}.service-info>p:not(.eyebrow){font-size:10px}.service-info li{font-size:9px}.details{display:block;padding-top:0}.detail-lead{margin-top:20px;max-width:100%}.detail-list{margin-top:32px}.detail-list h3{font-size:16px}.detail-list p{font-size:11px}.detail-list article{gap:18px}.last-call{padding:35px 7%;margin-bottom:35px;grid-template-columns:1fr;gap:0}.last-call h2{font-size:36px;max-width:330px}.last-call .eyebrow{font-size:7px}.last-call .last-pet{position:absolute;right:-25px;bottom:0;width:140px;opacity:.45;pointer-events:none}.last-call>div:first-child{position:relative;z-index:1}.last-call p:not(.eyebrow){max-width:260px;font-size:12px}.last-call .button{font-size:10px;padding:14px 18px}footer{flex-wrap:wrap;padding:20px 5% 30px}.footer-name{font-size:14px}footer>span:not(.footer-name){order:3;flex-basis:100%;font-size:8px}.marquee{font-size:11px;padding:18px 0}.marquee i{font-size:17px;padding:0 18px}.size-choices .choice{padding:12px 7px}.size-dog{transform:scale(.87);margin-bottom:0}.size-choices .choice small{font-size:9px}.receipt{padding:14px}.receipt-line{font-size:10px}.receipt-total{font-size:18px}.zip-scene{width:180px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body:not([data-motion=on]) *,body:not([data-motion=on]) *:before,body:not([data-motion=on]) *:after{animation:none!important;transition:none!important}}@media print{header,.hero-copy,.preview-note,.marquee,.services,.details,.last-call,footer,#bubbles,#quote-bubbles,.quote-actions,.receipt-buttons{display:none!important}body{background:white;color:black}.hero{display:block}.quote{background:white;color:black;box-shadow:none;border:1px solid #aaa}.quote *{color:black!important}}

#copy-text{width:100%;min-height:230px;resize:vertical;border:1px solid #8290a350;border-radius:12px;background:#111923;color:#e5eaf2;padding:15px;font:12px/1.8 monospace;margin-top:10px}textarea:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}

/* Salon choreography: three small snips, one deliberate brush stroke, then a quiet finish. */
.scissor-blade-a,.scissor-blade-b{transform-box:fill-box;transform-origin:center;animation:salon-snip-a 4.8s ease-in-out infinite}
.scissor-blade-b{animation-name:salon-snip-b}.brush-motion{animation:salon-brush 4.8s cubic-bezier(.45,0,.3,1) infinite}.groom-glint{animation:salon-glint 4.8s ease-in-out infinite}
@keyframes salon-snip-a{0%,10%,24%,38%,52%,100%{transform:rotate(-15deg)}17%,31%,45%{transform:rotate(0)}}
@keyframes salon-snip-b{0%,10%,24%,38%,52%,100%{transform:rotate(15deg)}17%,31%,45%{transform:rotate(0)}}
@keyframes salon-brush{0%,48%,100%{transform:translate(9px,-9px) rotate(-14deg)}57%{transform:translate(-8px,-3px) rotate(-6deg)}76%{transform:translate(-5px,38px) rotate(7deg)}86%{transform:translate(15px,30px) rotate(-14deg)}}
@keyframes salon-glint{0%,78%,100%{opacity:.15}87%{opacity:1}}
.extra-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.extra-list .extra-option{display:grid;grid-template-columns:18px 28px 1fr;gap:10px;margin:0;padding:15px 12px;align-items:start;transition:border-color .2s,background .2s}.extra-option:has(input:checked){border-color:#ddc27c99;background:#ddc27c10}.extra-list input{margin:2px 0 0;width:17px;height:17px}.extra-icon{color:var(--gold);width:28px;height:28px}.extra-icon svg{width:100%;height:100%}.extra-copy strong{display:block;font-size:11px;line-height:1.5;font-weight:600;color:#e3e7ee}.extra-copy small{display:block;font-size:9px;line-height:1.7;color:#9eacbe;margin-top:5px}.extra-list .extra-option b{grid-column:3;margin:0;font-size:11px}.extra-list legend{margin-bottom:14px}#extras-status{min-height:30px}
@media(max-width:1100px) and (min-width:961px){.header nav{gap:12px}.header nav>a{font-size:11px}.header nav>.button{padding-inline:13px}.hero-copy{padding-top:153px}}
@media(max-width:960px){.extra-grid{grid-template-columns:1fr 1fr}.extra-list .extra-option{padding:13px 10px;grid-template-columns:18px 1fr;gap:8px}.extra-icon{display:none}.extra-copy strong{font-size:11px}.extra-list .extra-option b{grid-column:2}.hero-copy{padding-top:12px}}
@media(max-width:430px){.extra-grid{grid-template-columns:1fr}.extra-list .extra-option{grid-template-columns:18px 28px 1fr}.extra-icon{display:block}.extra-list .extra-option b{grid-column:3}.header nav{top:5px;right:4%}.header .logo-window{margin-top:35px}}

@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.quote{background:linear-gradient(145deg,#171610f5,#0b0b0bf5)}}

.language-toggle button { display: inline-flex; align-items: center; justify-content: center; gap: 5px; }
.br-flag { display: block; flex: none; border-radius: 2px; }
.hero-price-link { display: inline-block; color: var(--gold); padding: 12px 4px; margin-left: 12px; font-size: 13px; text-decoration: underline; text-underline-offset: 4px; }
.hero-price-link:hover, .rate-contact:hover { color: var(--yellow); }
.weight-metric { display: block; margin-top: 4px; }
.rate-guide {
  display: grid;
  grid-template-columns: minmax(180px, .68fr) minmax(0, 1.32fr);
  align-items: start;
  gap: clamp(25px, 5vw, 80px);
  margin-bottom: 28px;
  padding: clamp(22px, 3.2vw, 44px);
  background: linear-gradient(120deg, #201c11 0%, #100f0c 33%, #0c0c0b 85%);
  border: 1px solid #e4cd9436;
  border-radius: 24px;
}
.rate-intro h3 { font-size: clamp(28px, 3.1vw, 45px); line-height: 1.08; letter-spacing: -.045em; margin: 0 0 16px; }
.rate-intro p { color: #d0cbbd; font-size: 14px; line-height: 1.65; max-width: 29ch; margin-bottom: 16px; }
.rate-contact { display: inline-block; color: var(--gold); font-size: 12px; line-height: 1.5; padding-block: 9px; text-decoration: underline; text-underline-offset: 4px; }
.rate-table { width: 100%; border-collapse: collapse; text-align: left; font-variant-numeric: tabular-nums; }
.rate-table thead th { color: #c4bdab; padding: 0 6px 11px; font-size: 12px; font-weight: 500; }
.rate-table th:first-child { padding-left: 0; }
.rate-table thead th:not(:first-child), .rate-table td { text-align: right; }
.rate-table tbody th, .rate-table tbody td { border-top: 1px solid #e4cd9425; padding: 10px 6px; }
.rate-table tbody th { padding-left: 0; }
.rate-table tbody th strong, .rate-table tbody th span { display: block; }
.rate-table tbody th strong { font-size: 15px; }
.rate-table tbody th span { color: #b9b4a7; font-weight: 400; font-size: 12px; margin-top: 2px; }
.rate-table td { font-family: Manrope, sans-serif; font-size: clamp(17px, 2.2vw, 25px); font-weight: 650; white-space: nowrap; }
.rate-table td:last-child { color: var(--yellow); }
.guide-addons { padding-top: 16px; border-top: 1px solid #e4cd9445; }
.guide-addons h4 { color: #e9e1c8; font-size: 13px; margin: 0 0 8px; }
.guide-addons ul { display: flex; flex-wrap: wrap; gap: 7px 12px; padding: 0; margin: 0; list-style: none; }
.guide-addons li { display: inline-flex; align-items: center; gap: 10px; border: 1px solid #e4cd942a; border-radius: 30px; padding: 7px 12px; font-size: 12px; }
.guide-addons strong { color: var(--yellow); white-space: nowrap; }
.receipt-buttons { flex-wrap: wrap; }
@media (max-width: 760px) {
  .rate-guide { grid-template-columns: minmax(0,1fr); gap: 17px; }
  .rate-intro p { max-width: none; margin: 0; }
  .rate-intro h3 { margin-bottom: 8px; }
  .rate-table thead th { font-size: 11px; }
  .rate-table td { font-size: clamp(16px, 4vw, 22px); }
}
@media (max-width: 420px) {
  .hero-price-link { margin-left: 0; }
  .rate-guide { padding: 19px 15px; }
  .rate-table tbody th strong { font-size: 13px; }
  .rate-table tbody th span { font-size: 11px; }
  .rate-table tbody td { padding-inline: 3px; }
}

/* Keep the ticker on its own clipped layer, with two equal, non-shrinking copies. */
.marquee-track {
  display: flex;
  width: max-content;
  animation: marquee 45s linear infinite;
}

.marquee-track > span {
  flex: 0 0 auto;
  min-width: calc(100vw + 24px);
  white-space: nowrap;
}

@keyframes marquee {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-50%, 0, 0); }
}

@media (max-width: 960px) {
  .marquee {
    transform: none;
    margin-inline: 0;
    font-size: 12px;
    line-height: 1.5;
  }

  .marquee-track {
    animation-duration: 65s;
  }
}

/* A paused ticker should leave the complete message available to read. */
body[data-motion=off] .marquee-track {
  width: auto;
  transform: none;
}

body[data-motion=off] .marquee-track > span:first-child {
  white-space: normal;
  padding: 0 18px;
  line-height: 1.65;
  flex: 1 1 100%;
  min-width: 0;
}

body[data-motion=off] .marquee-track > span[aria-hidden="true"] {
  display: none;
}

@media (prefers-reduced-motion: reduce) {
  body:not([data-motion=on]) .marquee-track {
    width: auto;
    transform: none;
  }

  body:not([data-motion=on]) .marquee-track > span:first-child {
    white-space: normal;
    padding: 0 18px;
    line-height: 1.65;
    flex: 1 1 100%;
    min-width: 0;
  }

  body:not([data-motion=on]) .marquee-track > span[aria-hidden="true"] {
    display: none;
  }
}

/* The road travels left as the right-facing van moves forward. */
.road {
  animation: road-forward 0.7s linear infinite;
}

.wheel {
  transform-box: fill-box;
  transform-origin: center;
  animation: wheel-forward 0.7s linear infinite;
}

@keyframes road-forward {
  from { transform: translateX(0); }
  to { transform: translateX(-18px); }
}

@keyframes wheel-forward {
  to { transform: rotate(360deg); }
}

/* Draw the motion control without relying on a device's symbol fonts. */
.motion-toggle > span:first-child {
  display: inline-block;
  width: 11px;
  height: 13px;
  flex: 0 0 11px;
  font-size: 0;
  background: linear-gradient(to right, currentColor 0 3px, transparent 3px 7px, currentColor 7px 10px);
}

.motion-toggle[aria-pressed="true"] > span:first-child {
  background: currentColor;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.developer-credit {
  flex-basis: 100%;
  border-top: 1px solid #ffffff1b;
  padding-top: 18px;
  margin-top: 10px;
  color: #a9b1bc;
  font-size: 11px;
  line-height: 1.6;
}

.developer-credit strong {
  color: #efe6c9;
  font-weight: 700;
}

.developer-credit a {
  color: #ddc27c;
  white-space: nowrap;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.developer-credit a:hover { color: var(--yellow); }

@media (max-width: 960px) {
  .developer-credit { order: 4; }
}

/* Service area: the same ZIP areas power the map and the quote checker. */
.coverage-section { padding-top: 35px; scroll-margin-top: 18px; }
.coverage-heading { display:flex; justify-content:space-between; gap:40px; align-items:end; margin-bottom:36px; }
.coverage-heading > p { max-width:370px; color:#aeb7c1; font-size:13px; line-height:1.9; margin:0 0 6px; }
.coverage-grid { display:grid; grid-template-columns:minmax(0,1.18fr) minmax(280px,.82fr); gap:26px; align-items:stretch; }
.coverage-figure { margin:0; padding:13px; background:#171f23; border:1px solid #ffffff24; border-radius:24px; min-width:0; }
.map-link { display:block; border-radius:16px; overflow:hidden; line-height:0; }
.map-link img { display:block; width:100%; height:auto; background:#14262b; }
.map-link:hover img { filter:brightness(1.06); }
.coverage-figure figcaption { display:flex; flex-wrap:wrap; gap:14px 19px; align-items:center; padding:17px 5px 3px; font-size:10px; color:#c9d0d0; }
.coverage-figure figcaption > span { display:inline-flex; gap:7px; align-items:center; }
.coverage-figure figcaption small { margin-left:auto; color:#9eabb0; font-size:10px; }
.area-dot { width:10px; height:10px; border-radius:50%; display:inline-block; flex:none; }
.covered-dot { background:#e5c65f; }.nearby-dot { background:#53615f; }
.coverage-info { background:linear-gradient(150deg,#232a25,#111614); border:1px solid #ffffff20; border-radius:24px; padding:clamp(25px,4vw,55px); display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.coverage-pill { color:#f1d884; font-size:9px; letter-spacing:1.5px; font-weight:700; border:1px solid #e8cd6c52; border-radius:30px; padding:9px 12px; margin-bottom:30px; }
.coverage-info h3 { font-size:22px; margin:0 0 12px; }
.coverage-info p { color:#bac2bd; font-size:12px; line-height:1.85; max-width:400px; margin:0; }
.coverage-info .button { margin-top:22px; }
.coverage-divider { width:100%; height:1px; background:#ffffff1c; margin:30px 0; }
.coverage-info .coverage-footnote { margin-top:28px; font-size:10px; color:#96a29e; }
@media(max-width:960px) { .coverage-grid { grid-template-columns:1fr; } .coverage-heading { align-items:start; flex-direction:column; gap:18px; } .coverage-section { padding-top:15px; } }
@media(max-width:520px) { .coverage-figure { padding:8px; border-radius:18px; } .coverage-figure figcaption { gap:10px 15px; padding:14px 4px 4px; } .coverage-figure figcaption small { flex-basis:100%; margin-left:0; } .coverage-info { border-radius:18px; padding:27px; } .coverage-info h3 { font-size:20px; } }

.welcome-card {
  max-width: 400px; margin: 0 0 24px; padding: 17px 20px; border-radius: 5px 18px 18px 5px;
  border: 1px solid #ffe16142; border-left: 3px solid var(--yellow); background: linear-gradient(115deg,#2b2614,#12110c);
}
.welcome-card .welcome-kicker { margin:0 0 7px; color:var(--yellow); font-weight:700; font-size:11px; letter-spacing:.06em; }
.welcome-card h2 { margin:0 0 6px; font-size:clamp(19px,2.1vw,26px); letter-spacing:-.7px; }
.welcome-card p:last-child { margin:0; color:#e0dcd0; font-size:13px; line-height:1.55; }
.offer-applied { margin:0 0 18px; padding:15px 17px; border-left:3px solid var(--yellow); border-radius:6px; background:#ffe16110; }
.offer-applied strong,.offer-applied span { display:block; font-size:13px; line-height:1.6; }
.offer-applied strong { color:var(--yellow); }
.visit-choices .choice { min-height:105px; }
.visit-form,.visit-saved { margin-top:20px; border:1px solid #fff2; border-radius:19px; padding:clamp(16px,3vw,23px); background:#ffffff07; }
.visit-form h3,.visit-saved h3 { margin:0 0 7px; font-size:21px; color:#f6f4ed; }
.visit-form > p,.visit-saved p { margin:0 0 15px; color:#c5cad0; font-size:13px; line-height:1.6; }
.visit-form fieldset { border:0; padding:0; margin:0; min-width:0; }
.visit-form label { color:#e8e7df; font-size:12px; font-weight:600; }
.visit-form label small { color:#adb4bc; font-weight:400; }
.visit-names { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:12px; }
.visit-form input:not([type=checkbox]) { display:block; width:100%; min-width:0; min-height:44px; margin-top:5px; border:1px solid #898f865d; padding:9px 12px; border-radius:10px; background:#0d100d; color:#f6f4ed; font:inherit; font-size:16px; }
.visit-form .visit-consent { display:flex; align-items:flex-start; gap:9px; margin:15px 0; color:#d4d7d2; font-weight:400; line-height:1.55; }
.visit-consent input { flex:none; width:17px; height:17px; margin:1px 0 0; accent-color:var(--yellow); }
.visit-form .request-error { margin:12px 0 0; color:#ffbcb1; }.visit-form .request-error:empty { display:none; }
.visit-saved { background:#183025; border-color:#abd4b545; }.visit-saved h3 { color:#d0eed5; }.visit-saved small { color:#c4d6c8; }
.receipt-buttons { flex-wrap:wrap; }
@media(max-width:960px) { .welcome-card { margin:14px 0 3px; } }
@media(max-width:420px) { .visit-names { grid-template-columns:1fr; gap:10px; }.welcome-card {padding:13px 15px;} }
@media print { #visit-contact {display:none!important} }
