
@font-face{font-family:RiversideDisplay;src:url("assets/editorial.woff") format('woff');font-style:normal italic;font-weight:400 800;font-display:swap}
@font-face{font-family:RiversideText;src:url("assets/text.woff") format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:RiversideText;src:url("assets/text-bold.woff") format('woff');font-style:normal;font-weight:600 800;font-display:swap}
@font-face{font-family:RiversideNote;src:url("assets/note.woff") format('woff');font-style:normal italic;font-weight:400;font-display:swap}
@font-face{font-family:RiversideSans;src:url("assets/sans.woff") format('woff');font-display:swap}
@font-face{font-family:RiversideDigits;src:url("assets/digits.woff") format('woff');font-display:swap}
:root{--paper:#f3e7d5;--pale:#fff2de;--peach:#f5dcc3;--ink:#3b291f;--muted:#756554;--olive:#555e2d;--olive-dark:#39421e;--line:#b7a58b;--sans:RiversideSans,Arial,sans-serif;--serif:RiversideText,Georgia,serif;--display:RiversideDisplay,Georgia,serif;--note:RiversideNote,Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--serif);font-size:16px;line-height:1.55}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button{border:0;background:none}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--olive);outline-offset:5px}button:disabled{cursor:wait}img{max-width:100%;display:block}h1,h2,h3,p,figure,dl,dd{margin:0}h1,h2,h3{font-weight:400;line-height:1.02}em{font-style:inherit}button svg,a svg{flex-shrink:0}svg.icon{width:1.3em;height:1.3em;display:inline-block;vertical-align:middle;stroke-width:1.5}body>main,body>footer{overflow:clip}[hidden]{display:none!important}.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden;white-space:nowrap}.skip-link{position:fixed;top:12px;left:12px;transform:translateY(-180%);z-index:50;background:var(--ink);color:var(--pale);padding:12px 20px}.skip-link:focus{transform:none}
.section-wrap{width:min(1260px,calc(100% - 112px));margin:0 auto}.eyebrow{font-family:var(--sans);font-size:10px;font-weight:400;line-height:1.4;letter-spacing:.16em}.text-link{display:inline-flex;align-items:center;gap:21px;border-bottom:1px solid currentColor;padding:6px 0;font-family:var(--note);font-size:23px;line-height:1.2;color:var(--olive);text-align:left}.text-link svg{transition:transform .35s cubic-bezier(.22,1,.36,1);width:1.25em;height:1.25em}.text-link:hover svg{transform:translateX(6px)}.solid-button,.outline-button{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:17px 23px;min-height:54px;background:var(--olive);color:var(--pale);font-family:var(--sans);font-size:14px;border:1px solid var(--olive);transition:background .25s,transform .25s}.solid-button:hover{background:var(--olive-dark);transform:translateY(-2px)}.solid-button svg{width:22px;height:22px}.outline-button{background:transparent;color:var(--ink);border-color:var(--line);gap:8px}.outline-button:hover{background:var(--peach)}.small-note{font-family:var(--sans);font-size:12px;line-height:1.6;color:var(--muted)}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px}.hand-note{font-family:var(--note);font-size:25px;color:var(--olive)}
.site-header{height:110px;padding:0 4.1%;display:flex;align-items:center;gap:29px;position:relative;z-index:10;background:var(--paper);border-bottom:1px solid #cbbb9e}.wordmark{display:flex;flex-direction:column;min-width:190px;width:213px;line-height:1;position:relative}.wordmark-name{font-family:var(--display);font-size:39px;letter-spacing:-.055em;white-space:nowrap;display:flex;align-items:center;gap:8px}.wordmark-car{transform:translateY(-7px)}.wordmark-car svg{width:45px;height:31px;stroke-width:1.25}.wordmark-bottom{font-family:var(--sans);font-size:9px;letter-spacing:.28em;display:flex;align-items:center;gap:10px;margin-top:4px}.wordmark-rule{height:1px;flex:1;background:currentColor}.brand-note{font-family:var(--note);font-size:15px;line-height:1.2;border-left:1px solid var(--line);padding-left:25px}#mainNav{margin-left:auto;display:flex;align-items:center;gap:30px;font-family:var(--sans);font-size:13px}#mainNav>a{padding:12px 0;border-bottom:1px solid transparent}#mainNav>a:hover{border-color:var(--olive)}.nav-cta{padding:13px 18px;display:flex;align-items:center;gap:18px;border:1px solid var(--ink);font-family:var(--sans);font-size:13px;transition:background .2s,color .2s}.nav-cta:hover{background:var(--ink);color:var(--pale)}.menu-toggle{display:none}
.hero{background:#f5dcc3}.hero-scene{width:100%;aspect-ratio:1659/948;position:relative;isolation:isolate}.hero-art{width:100%;height:100%;object-fit:cover}.hero-copy{position:absolute;left:57.2%;top:8.1%;width:38%;max-width:690px}.hero-copy .eyebrow{font-size:clamp(8px,.7vw,12px);color:var(--olive)}h1{font-family:var(--display);font-size:clamp(88px,8.7vw,168px);letter-spacing:-.06em;line-height:.89;color:var(--olive);margin:22px 0 19px}h1 em{padding-left:1px}.hero-description{font-size:clamp(16px,1.36vw,24px);line-height:1.48;letter-spacing:-.025em}.hero-cta{font-size:clamp(20px,1.9vw,34px);margin-top:22px;gap:32px;position:relative;border-bottom:0}.hero-cta:after{position:absolute;content:'';height:2px;bottom:0;left:0;width:100%;background:var(--olive);transform-origin:left;animation:underline-arrive 1.1s .75s both}.hero-phone{display:flex;align-items:center;gap:10px;font-size:clamp(15px,1.4vw,24px);font-family:var(--serif);margin-top:21px;padding:5px 0}.hero-phone svg{width:19px;height:19px}.hero-phone:hover{color:var(--olive)}.odometer-control{position:absolute;left:3%;top:29%;width:44%;height:26%;padding:0;outline-offset:8px!important;cursor:pointer;appearance:none}.odo-digit{position:absolute;left:0;top:5%;height:81%;width:13.5%;overflow:hidden;color:#d7c8ae;font-family:RiversideDigits,Arial,sans-serif;font-size:clamp(50px,9.5vw,190px);line-height:1;text-align:center;text-shadow:0 2px 2px #1e130f,0 -1px 1px #f8deaa;font-variant-numeric:tabular-nums;opacity:.91;transform:rotate(-6deg);mask-image:linear-gradient(transparent,#000 18%,#000 84%,transparent)}.odo-digit:nth-child(1){left:2.9%}.odo-digit:nth-child(2){left:20.15%;transform:rotate(-5deg)}.odo-digit:nth-child(3){left:36.5%;transform:rotate(-4deg)}.odo-digit:nth-child(4){left:52.4%;transform:rotate(-3deg)}.odo-digit:nth-child(5){left:68.2%;transform:rotate(-2deg)}.odo-digit:nth-child(6){left:83%;transform:rotate(-2deg)}.odo-reel{display:flex;flex-direction:column;width:100%;height:1000%;will-change:transform;transition:transform 1.25s cubic-bezier(.2,.65,.17,1)}.odo-reel>span{height:10%;flex:none;display:flex;align-items:center;justify-content:center}.odo-digit:nth-child(1) .odo-reel{transform:translateY(-10%)}.odo-digit:nth-child(2) .odo-reel{transform:translateY(-40%)}.odo-digit:nth-child(3) .odo-reel{transform:translateY(-70%)}.odo-digit:nth-child(4) .odo-reel{transform:translateY(-30%)}.odo-digit:nth-child(5) .odo-reel{transform:translateY(0)}.odo-digit:nth-child(6) .odo-reel{transform:translateY(-60%)}.mile-note{position:absolute;left:7%;top:62%;font-family:var(--note);font-size:clamp(13px,1.5vw,24px);color:#f4dec3;text-shadow:0 1px 7px #382315;transform:rotate(-3deg)}.mile-note span{display:block;font-family:var(--sans);font-size:9px;letter-spacing:.1em;margin-top:5px}.road-caption{position:absolute;bottom:4.1%;left:4.1%;right:4.1%;display:flex;justify-content:space-between;align-items:flex-end;color:#fff0d9}.road-caption>span{font-family:var(--note);font-size:clamp(15px,1.6vw,26px);line-height:1.3;text-shadow:0 2px 4px #2f291d}.road-caption a{display:flex;gap:13px;align-items:center;font-family:var(--sans);font-size:9px;letter-spacing:.14em}.road-caption a svg{border:1px solid #e9d9b2;border-radius:50%;padding:9px;width:39px;height:39px;transition:transform .3s}.road-caption a:hover svg{transform:translateY(5px)}.care-strip{display:flex;justify-content:center;align-items:center;gap:6.8vw;padding:26px 30px;background:var(--olive);color:var(--pale);font-size:20px;font-family:var(--note)}.care-strip .strip-star{opacity:.75}.care-strip svg{width:18px;height:18px;stroke-width:1}
.our-way{padding-top:95px;padding-bottom:100px}.section-heading{display:grid;grid-template-columns:1.25fr .8fr;align-items:end;column-gap:8%;margin-bottom:53px}.section-heading .eyebrow{grid-column:1/-1;margin-bottom:23px;color:var(--olive)}h2{font-family:var(--display);font-size:clamp(48px,4.9vw,76px);letter-spacing:-.045em;line-height:1.01}h2 em{color:var(--olive)}.section-heading>p:last-child{font-size:20px;line-height:1.65;padding-bottom:6px}.care-composition{display:grid;grid-template-columns:1.16fr .84fr;align-items:center;gap:5%;padding:12px 0 0}.notebook-wrap{position:relative;z-index:2}.paper-tab{display:inline-block;background:var(--olive);color:var(--pale);font-family:var(--sans);font-size:9px;letter-spacing:.16em;padding:13px 26px;transform:rotate(-2deg);margin-left:15%;position:relative;top:5px}.notebook{background:#fbefda url("assets/notebook-paper.webp") center/100% 100% no-repeat;position:relative;padding:38px 32px 24px 66px;transform:rotate(-2deg);box-shadow:9px 18px 24px #53392117;min-height:456px;transition:transform .4s ease}.notebook.page-turn{transform:rotate(-1deg) translateY(-3px)}.notebook-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px;border-bottom:2px solid var(--olive);padding-bottom:12px}.notebook h3{font-family:var(--note);font-size:32px;letter-spacing:-.03em}.notebook-heading svg{width:44px;height:34px;stroke-width:1.2}.notebook-subline{font-family:var(--note);font-size:15px;margin:0 0 17px;color:var(--muted)}.notebook-item>button{display:flex;align-items:center;gap:15px;width:100%;padding:12px 0;text-align:left;font-family:var(--note);font-size:23px;line-height:1.25}.notebook-check{display:flex;width:20px;height:20px;border:1px solid var(--muted);flex-shrink:0;align-items:center;justify-content:center;transform:rotate(3deg);color:var(--olive)}.notebook-check svg{opacity:0;stroke-width:1.6;width:26px;height:26px;transform:translate(3px,-3px) scale(1.1);transition:opacity .2s}.notebook-item>button[aria-expanded=true] .notebook-check svg{opacity:1}.notebook-item>button[aria-expanded=true]{color:var(--olive)}.step-index{margin-left:auto;font:10px var(--sans);opacity:.6}.notebook-panel{padding:2px 0 16px 35px;animation:page-note .35s both}.notebook-panel p{font-family:var(--note);font-size:23px;line-height:1.43}.notebook-panel .hand-note{display:inline-block;transform:rotate(-3deg);margin-top:8px;font-size:20px;border-bottom:1px solid #87905c}.notebook-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #baaa8a;margin-top:19px;padding-top:16px;font:8px var(--sans);letter-spacing:.14em}.notebook-footer>span:last-child{font:19px var(--note);letter-spacing:0}.notebook-hint{margin:28px 0 0 12%;font-family:var(--note);font-size:17px;color:var(--muted);display:flex;align-items:center;gap:12px}.notebook-hint svg{width:22px;height:28px;transform:rotate(-15deg)}.workshop-photo{transform:rotate(2deg);padding:12px 12px 20px;background:#fcf3e2;box-shadow:0 6px 20px #53392114}.workshop-photo img{width:100%;height:437px;object-fit:cover;object-position:58% 48%;filter:saturate(.87)}.workshop-photo figcaption{display:flex;flex-direction:column;font-family:var(--note);font-size:21px;padding:17px 12px 0;line-height:1.32}.workshop-photo figcaption span:last-child{color:var(--olive);align-self:flex-end;transform:rotate(-2deg)}
.services{background:#eae1cc;padding:80px 0 76px;border-top:1px solid #d1c3ab;border-bottom:1px solid #d1c3ab}.service-layout{display:grid;grid-template-columns:.86fr 1.14fr;gap:8%}.service-intro .eyebrow{margin-bottom:25px;color:var(--olive)}.service-intro h2{font-size:clamp(45px,4.3vw,65px)}.service-intro>p:not(.eyebrow):not(.hand-note){font-size:17px;margin-top:24px;line-height:1.6}.service-mark{margin:27px 0 13px;display:inline-block;color:#7a7950;transform:rotate(-20deg)}.service-mark svg{height:75px;width:125px;stroke-width:.7}.service-intro .hand-note{font-size:22px;margin-bottom:25px;transform:rotate(-4deg);transform-origin:left}.service-intro .text-link{font-size:18px;gap:16px}.service-list{padding-top:4px}.service-row{border-top:1px solid #a99e82}.service-row:last-of-type{border-bottom:1px solid #a99e82}.service-row summary{display:flex;align-items:center;gap:25px;list-style:none;padding:26px 0;cursor:pointer;font-size:28px;line-height:1.2;transition:color .2s}.service-row summary::-webkit-details-marker{display:none}.service-no{font:11px var(--sans);color:var(--muted);min-width:20px}.service-plus{margin-left:auto}.service-plus svg{width:22px;height:22px;stroke-width:1.3;transition:transform .35s}.service-row[open] .service-plus svg{transform:rotate(45deg)}.service-row[open] summary,.service-row summary:hover{color:var(--olive)}.service-detail{padding:0 24px 25px 45px;animation:page-note .3s}.service-detail p{font-size:16px;color:#60523e;line-height:1.6;max-width:480px}.service-detail button{font-family:var(--sans);font-size:12px;display:flex;align-items:center;gap:13px;padding:9px 0;margin-top:12px;color:var(--olive);border-bottom:1px solid #9fa47c}.service-detail button:hover{color:var(--ink)}.service-footnote{font-family:var(--note);font-size:16px;color:#6f604e;margin:22px 0 0 45px}
.first-visit{padding-top:94px;padding-bottom:89px;display:grid;grid-template-columns:.9fr 1.1fr;gap:9%}.visit-heading{padding-right:5%}.visit-heading .eyebrow{color:var(--olive);margin-bottom:26px}.visit-heading h2{font-size:clamp(72px,7.6vw,118px);letter-spacing:-.06em}.visit-heading h2 em{color:var(--ink)}.welcome-note{font-family:var(--note);font-size:25px;display:inline-block;margin:29px 0 0 14px;color:var(--olive);transform:rotate(-5deg);border-bottom:2px solid var(--olive);padding-bottom:7px}.visit-content{border-left:1px solid var(--line);padding:3px 0 0 12%}.visit-lead{font-size:29px;font-weight:700;letter-spacing:-.04em;line-height:1.2;margin-bottom:21px}.visit-content>p:not(.visit-lead):not(.small-note){font-size:17px;line-height:1.7;max-width:480px}.bring-list{display:flex;gap:27px;margin:27px 0 29px;font-family:var(--sans);font-size:11px}.bring-list>span{display:flex;align-items:center;gap:7px}.bring-list svg{color:var(--olive);width:22px;height:22px;stroke-width:1.25}.visit-content .small-note{margin-top:14px;max-width:350px}.returning-band{background:var(--olive);color:var(--pale);padding:36px 0}.returning-band>.section-wrap{display:flex;align-items:center;gap:25px}.returning-icon svg{width:48px;height:48px;stroke-width:1}.returning-band .eyebrow{font-size:9px;opacity:.8;margin-bottom:9px}.returning-band h3{font-family:var(--note);font-size:29px}.returning-band p:last-child{font-family:var(--sans);font-size:12px;opacity:.86;margin-top:9px;max-width:470px}.returning-band .text-link{margin-left:auto;white-space:nowrap;font-size:22px;gap:16px}.light-link{color:var(--pale)}
.find-us{padding-top:89px;padding-bottom:76px}.find-heading{display:flex;gap:4%;align-items:start}.find-heading .eyebrow{width:22%;padding-top:13px;color:var(--olive)}.find-heading h2{font-size:clamp(48px,4.8vw,73px)}.find-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:6%;align-items:center;margin-top:30px}.shop-sketch{position:relative}.shop-sketch img{mix-blend-mode:multiply;width:100%;height:350px;object-fit:contain}.shop-sketch figcaption{font-family:var(--note);font-size:25px;color:var(--olive);text-align:center;transform:rotate(-3deg);margin-top:-5px}.shop-info{display:grid;grid-template-columns:1fr 1.2fr;gap:30px 35px;padding-top:12px}.shop-info h3{font-family:var(--note);font-size:27px;margin:12px 0 15px}.info-icon svg{width:23px;height:23px;stroke-width:1.4}.address-block address{font-size:15px;font-style:normal;line-height:1.6}.address-block .text-link{font-size:20px;margin-top:18px;gap:14px}.hours-block{border-left:1px solid var(--line);padding-left:28px}.hours-block dl{font-size:13px;line-height:1.6}.hours-block dl>div+div{margin-top:12px}.hours-block dt{font-family:var(--sans);font-size:10px;color:var(--muted);margin-bottom:1px}.hours-block dd{font-size:13px}.hours-block dl>div:last-child dd{font-family:var(--note);font-size:15px}.shop-phone{display:flex;align-items:center;gap:16px;grid-column:1/-1;border-top:1px solid var(--line);padding:22px 0 5px;text-align:left}.shop-phone>span:first-child svg{width:23px;height:23px}.shop-phone>span:nth-child(2){font-family:var(--sans);font-size:11px;color:var(--muted)}.shop-phone strong{display:block;font:24px var(--serif);color:var(--ink);margin-top:3px}.shop-phone>span:last-child{margin-left:auto}.shop-phone:hover strong{color:var(--olive)}
.final-invite{background:var(--peach);padding:49px 0 50px;border-top:1px solid #ccb79d}.final-invite .eyebrow{color:var(--olive)}.final-invite .section-wrap>div{display:flex;align-items:center;justify-content:space-between;padding-top:19px}.final-invite h2{font-size:clamp(72px,8.7vw,135px);line-height:.9;letter-spacing:-.06em}.final-invite h2 br{display:none}.final-invite h2 em{padding-left:.15em}.final-circle{width:120px;height:120px;border:1px solid var(--olive);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;color:var(--olive);transition:background .3s,color .3s,transform .3s;flex-shrink:0}.final-circle svg{width:47px;height:47px;stroke-width:1}.final-circle>span:last-child{font:10px var(--sans);letter-spacing:.15em}.final-circle:hover{background:var(--olive);color:var(--pale);transform:rotate(7deg)}.site-footer{background:var(--ink);color:var(--paper);padding:51px 0 24px}.footer-main{display:flex;align-items:center;gap:50px;padding-bottom:35px}.footer-wordmark{width:219px}.footer-main>p{font-family:var(--note);font-size:17px;opacity:.8;line-height:1.45;border-left:1px solid #75614d;padding-left:30px}.back-top{margin-left:auto;font-family:var(--sans);font-size:11px;display:flex;gap:15px;align-items:center}.back-top svg{width:19px;height:19px}.footer-bottom{border-top:1px solid #78614e;padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-family:var(--sans);font-size:10px;letter-spacing:.02em}.footer-bottom button{font:10px var(--sans);color:var(--paper);padding:7px;border:1px solid #947d65}.template-note{font-family:var(--sans);font-size:9px;line-height:1.7;opacity:.65;margin-top:21px;max-width:750px}.mobile-actions{display:none}
dialog{color:var(--ink);border:0;padding:0;max-height:calc(100dvh - 50px);width:min(650px,calc(100% - 32px));background:var(--pale);overflow:auto;box-shadow:0 20px 90px #21160f55}dialog::backdrop{background:#2b201bbb;backdrop-filter:blur(5px)}dialog[open]{animation:dialog-in .35s cubic-bezier(.22,1,.36,1)}.planner-paper{position:relative;padding:35px 48px 23px}.dialog-close{position:absolute;right:16px;top:15px;border:1px solid #a89478;border-radius:50%;z-index:2}.dialog-close svg{width:20px;height:20px}.planner-brand{display:flex;align-items:center;gap:12px;font:9px var(--sans);letter-spacing:.15em;color:var(--olive);margin-bottom:28px}.planner-brand svg{width:27px;height:27px}.planner-dialog .eyebrow{font-size:9px;color:var(--muted)}.planner-dialog h2{font-size:59px;margin:13px 0 27px}.planner-dialog h2 br{display:none}.planner-dialog h2 em{margin-left:.14em}.planner-demo{font-family:var(--sans);font-size:10px;line-height:1.5;color:var(--muted);text-align:center;margin-top:24px;padding-top:14px;border-top:1px solid #d8c6aa}fieldset{border:0;padding:0;margin:0 0 25px}legend{font-family:var(--serif);font-size:16px;line-height:1.4;margin-bottom:13px;width:100%}legend>span{display:block;font:12px var(--sans);color:var(--muted);margin-top:4px}.visit-type{display:flex;flex-wrap:wrap;gap:10px}.visit-type label{flex:1;display:flex;align-items:center;gap:8px;padding:11px 12px;border:1px solid #c5b295;font:12px var(--sans);cursor:pointer}.visit-type label:has(input:checked){border-color:var(--olive);background:#e9e4cb}.service-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.service-choices label{display:flex;gap:11px;align-items:center;padding:13px 12px;font-family:var(--sans);font-size:13px;border-bottom:1px solid #d4c4a9;cursor:pointer}.service-choices label:has(input:checked){color:var(--olive);background:#e9e4cb}input[type=checkbox],input[type=radio]{accent-color:var(--olive);width:17px;height:17px;flex-shrink:0;cursor:pointer}.plan-navigation{display:flex;align-items:center;gap:25px;justify-content:space-between;margin-top:18px}.plan-navigation .solid-button{margin-left:auto;min-width:168px}.plan-navigation .text-link{font-size:18px;gap:9px}.plan-navigation svg{width:19px;height:19px}.form-intro{font-size:14px;margin-bottom:19px;color:var(--muted)}.vehicle-fields{display:grid;grid-template-columns:1fr 2fr;gap:18px 16px;margin-bottom:18px}.vehicle-fields label,.concern-label{display:block;font:12px var(--sans)}.vehicle-fields input,.concern-label textarea{display:block;width:100%;margin-top:7px;border:1px solid #bdaa8e;background:#fff9ed;padding:12px 13px;color:var(--ink);font:14px var(--sans);border-radius:0}.mileage-field{grid-column:1/-1}.concern-label textarea{resize:vertical;min-height:98px;line-height:1.6}.concern-label{margin-bottom:15px}.notes-ready{display:flex;align-items:center;gap:12px;color:var(--olive);margin-bottom:20px}.notes-ready>span{border:1px solid var(--olive);width:31px;height:31px;border-radius:50%;display:flex;align-items:center;justify-content:center}.notes-ready h3{font-size:20px}.visit-summary{background:#eee6d1;border-top:1px solid var(--olive);border-bottom:1px solid #c7b99c;padding:20px;white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.8 var(--sans);margin-bottom:15px}.visit-summary p{margin-bottom:10px}.visit-summary dt{font-weight:bold}.visit-summary dd{margin-bottom:10px}.notes-actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 6px}.notes-actions button{font-size:12px;padding:12px 16px;gap:8px;min-height:47px}.notes-actions svg{width:17px;height:17px}#editNotes{font-size:17px;margin-top:9px}#copyStatus{min-height:20px}#planError{font:13px/1.5 var(--sans);color:#8b3228;margin-top:15px}#planError:empty{display:none}.contact-dialog{padding:48px;max-width:560px}.contact-dialog .eyebrow{font-size:9px;color:var(--olive)}.contact-dialog h2{font-size:48px;margin:25px 0}.contact-dialog p{font-size:15px;line-height:1.65;margin-bottom:16px}.contact-dialog .solid-button{margin-top:15px}.contact-dialog strong{color:var(--olive)}
.reveal{opacity:1}.reveal.is-visible{animation:reveal-in .75s cubic-bezier(.2,.65,.2,1) both}.reduce-motion *, .reduce-motion *:before,.reduce-motion *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reduce-motion{scroll-behavior:auto}.reduce-motion .reveal{opacity:1;transform:none}
@keyframes underline-arrive{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes page-note{from{opacity:.1;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes reveal-in{from{opacity:.15;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes dialog-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
/* Keep the artwork and its percentage-based odometer on one 7:4 canvas. */
@media(min-width:1700px){
  .hero-scene{aspect-ratio:1659/948;height:auto;max-height:none;container-type:inline-size}
  .hero-scene>picture{position:absolute;inset:0;display:block}
  .hero-art{object-fit:contain}
  .hero-copy{top:10%}h1{font-size:155px}.hero-description{font-size:23px}.hero-cta{font-size:31px}
  /* Preserve the 165px digits at a 1700px canvas, then scale with the slots. */
  .odo-digit{font-size:9.7058823529vw;font-size:9.7058823529cqw}
}
@media(max-width:1100px){.section-wrap{width:calc(100% - 72px)}.site-header{height:96px;gap:21px}.wordmark{min-width:167px;width:174px}.wordmark-name{font-size:33px}.wordmark-car svg{width:35px}.brand-note{font-size:13px;padding-left:20px}#mainNav{gap:20px;font-size:11px}.nav-cta{font-size:11px;gap:13px;padding:11px 13px}.hero-copy{top:7%}.hero-copy h1{margin:20px 0 15px}.hero-cta{margin-top:15px;gap:20px}.hero-phone{margin-top:15px}.care-strip{font-size:18px}.our-way{padding:75px 0}.section-heading{margin-bottom:40px}.section-heading>p:last-child{font-size:18px}.care-composition{gap:4%;grid-template-columns:1.15fr .85fr}.notebook{padding:30px 24px 22px 47px;min-height:425px}.notebook h3{font-size:26px}.notebook-heading svg{width:32px}.notebook-item>button{font-size:20px;gap:10px}.notebook-panel{padding-left:30px}.notebook-panel p{font-size:20px}.workshop-photo img{height:400px}.workshop-photo figcaption{font-size:19px;padding-left:5px;padding-right:5px}.service-layout{gap:7%}.service-row summary{font-size:25px}.service-intro .text-link{font-size:17px}.visit-content{padding-left:10%}.visit-lead{font-size:26px}.bring-list{gap:15px;flex-wrap:wrap}.returning-band>.section-wrap{gap:18px}.returning-icon{display:none}.returning-band .text-link{font-size:19px}.find-layout{gap:3%}.shop-info{gap:25px 22px}.hours-block{padding-left:20px}.shop-phone strong{font-size:21px}.final-circle{width:98px;height:98px}.footer-main{gap:30px}.footer-main>p{font-size:15px;padding-left:25px}}
@media(max-width:800px){.section-wrap{width:calc(100% - 44px)}.site-header{padding:0 22px;height:87px}.wordmark{width:170px;min-width:170px}.wordmark-name{font-size:33px}.brand-note{font-size:13px;padding-left:20px}.menu-toggle{display:inline-flex;margin-left:auto}#mainNav{display:none;position:absolute;top:86px;left:0;right:0;margin:0;padding:20px 22px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 12px 20px #3023131a}#mainNav.is-open{display:grid;gap:3px}#mainNav>a{font-size:16px;padding:13px 0}.nav-cta{font-size:14px;justify-content:space-between;padding:14px;margin-top:8px}.hero-copy{top:8%;left:56.5%;width:40%}.hero-copy .eyebrow{font-size:7px}.hero-copy h1{font-size:9.2vw;margin:14px 0 12px}.hero-description{font-size:13px;line-height:1.4}.hero-cta{font-size:16px;margin-top:15px;gap:14px}.hero-phone{font-size:13px;margin-top:13px;gap:7px}.hero-phone svg{width:14px;height:14px}.mile-note{font-size:15px;top:62%}.mile-note span{font-size:7px}.road-caption a{font-size:7px}.road-caption a svg{width:31px;height:31px;padding:7px}.road-caption>span{font-size:14px}.care-strip{gap:6%;padding:22px;font-size:16px}.care-strip svg{width:14px;height:14px}.our-way{padding-top:64px;padding-bottom:63px}.section-heading{column-gap:5%;grid-template-columns:1.2fr .8fr}.section-heading>p:last-child{font-size:15px}.section-heading h2{font-size:45px}.section-heading .eyebrow{font-size:9px;margin-bottom:20px}.care-composition{gap:3%;align-items:center}.notebook{padding:24px 20px 20px 37px;min-height:372px}.notebook h3{font-size:23px}.notebook-heading{margin-bottom:10px}.notebook-heading svg{width:26px;height:26px}.notebook-subline{font-size:12px;margin-bottom:10px}.notebook-item>button{font-size:17px;gap:8px;padding:10px 0}.notebook-check{width:16px;height:16px}.notebook-panel{padding-left:25px;padding-bottom:12px}.notebook-panel p{font-size:17px}.notebook-panel .hand-note{font-size:16px}.step-index{font-size:8px}.notebook-footer{font-size:6px;letter-spacing:.1em}.notebook-footer>span:last-child{font-size:15px}.notebook-hint{font-size:12px;margin-top:22px}.notebook-hint svg{width:18px}.paper-tab{font-size:7px;padding:11px 18px}.workshop-photo{padding:8px 8px 14px}.workshop-photo img{height:340px}.workshop-photo figcaption{font-size:15px;padding-top:12px}.services{padding:61px 0}.service-layout{gap:6%;grid-template-columns:.86fr 1.14fr}.service-intro h2{font-size:39px}.service-intro .eyebrow{font-size:9px}.service-intro>p:not(.eyebrow):not(.hand-note){font-size:15px;margin-top:18px}.service-mark svg{height:57px;width:90px}.service-intro .hand-note{font-size:18px}.service-intro .text-link{font-size:15px;gap:9px}.service-row summary{font-size:23px;padding:22px 0;gap:16px}.service-no{font-size:9px;min-width:17px}.service-detail{padding-left:33px;padding-right:8px}.service-detail p{font-size:14px}.service-detail button{font-size:11px}.service-footnote{font-size:13px;margin-left:33px}.first-visit{padding-top:65px;padding-bottom:65px;gap:7%}.visit-heading h2{font-size:78px}.visit-heading .eyebrow{font-size:9px}.welcome-note{font-size:20px;margin-left:4px}.visit-lead{font-size:23px}.visit-content>p:not(.visit-lead):not(.small-note){font-size:14px}.bring-list{gap:10px;font-size:10px;margin:22px 0}.bring-list svg{width:18px;height:18px}.visit-content .solid-button{font-size:12px;gap:12px;padding:14px 16px}.visit-content .small-note{font-size:10px}.returning-band{padding:29px 0}.returning-band>.section-wrap{align-items:start;flex-direction:column;gap:18px}.returning-band .text-link{margin-left:0;font-size:19px}.returning-band h3{font-size:27px}.find-us{padding-top:65px;padding-bottom:65px}.find-heading .eyebrow{width:25%;font-size:9px}.find-heading h2{font-size:47px}.find-layout{grid-template-columns:1fr 1fr;gap:4%;margin-top:25px}.shop-sketch img{height:290px}.shop-sketch figcaption{font-size:20px}.shop-info{grid-template-columns:1fr;gap:18px}.shop-info h3{font-size:24px;display:inline;margin-left:10px}.address-block address{font-size:13px;margin:12px 0 0 36px}.address-block .text-link{font-size:17px;margin-left:36px;margin-top:12px}.hours-block{border-left:0;padding-left:0}.hours-block dl{margin:12px 0 0 36px}.hours-block dl>div{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.hours-block dt{font-size:9px;white-space:nowrap}.hours-block dd{font-size:11px}.hours-block dl>div:last-child{display:block}.hours-block dl>div:last-child dd{font-size:13px}.info-icon svg{width:19px;height:19px}.shop-phone{padding-top:17px;gap:10px}.shop-phone>span:nth-child(2){font-size:9px}.shop-phone strong{font-size:18px}.final-invite{padding:39px 0}.final-invite h2{font-size:70px}.final-circle{width:80px;height:80px}.final-circle svg{width:32px;height:32px}.final-circle>span:last-child{font-size:8px}.site-footer{padding-top:37px}.footer-main{gap:22px}.footer-main>p{font-size:13px;padding-left:22px}.back-top{font-size:9px;max-width:110px}.footer-bottom{font-size:9px;gap:15px}.footer-bottom button{font-size:9px}.template-note{font-size:8px}}
@media(max-width:580px){.site-header{height:82px}.brand-note{font-size:12px;padding-left:17px;margin-left:2px}.wordmark{min-width:147px;width:147px}.wordmark-name{font-size:30px;gap:5px}.wordmark-car svg{width:30px;height:25px}.wordmark-bottom{font-size:7px}#mainNav{top:81px}.hero{position:relative}.hero-scene{aspect-ratio:auto;height:calc(324px + 108.5714vw);padding-top:324px}.hero-art{position:absolute;width:190%;max-width:none;height:auto;left:-1%;top:324px;z-index:-1}.hero-copy{top:31px;left:24px;width:calc(100% - 48px);max-width:none;display:grid;grid-template-columns:1fr auto;align-items:end}.hero-copy .eyebrow{font-size:8px;grid-column:1/-1}.hero-copy h1{font-size:85px;line-height:.88;margin:17px 0 15px;grid-column:1/-1}.hero-copy h1 br{display:none}.hero-copy h1 em{padding-left:.08em}.hero-description{font-size:15px;line-height:1.4;grid-column:1/-1}.hero-cta{grid-column:1/-1;font-size:24px;max-width:max-content;margin-top:19px;gap:24px}.hero-phone{font-size:14px;margin-top:16px;position:absolute;right:0;bottom:-35px}.hero-phone svg{width:14px}.odometer-control{left:4.7%;top:calc(324px + 31.5vw);width:83.6%;height:27vw}.odo-digit{font-size:18vw;top:0;height:92%}.mile-note{top:calc(324px + 68vw);left:10%;font-size:18px;color:#f4dec3}.mile-note span{font-size:9px}.road-caption{bottom:23px;left:24px;right:24px}.road-caption>span{font-size:17px}.road-caption a>span:first-child{display:none}.road-caption a svg{width:36px;height:36px}.care-strip{font-size:14px;gap:14px;padding:22px 16px;line-height:1.1;text-align:center}.care-strip svg{width:12px;height:12px}.care-strip>span:not(.strip-star){max-width:100px}.section-wrap{width:calc(100% - 44px)}.our-way{padding-top:53px;padding-bottom:56px}.section-heading{display:block;margin-bottom:29px}.section-heading .eyebrow{font-size:9px;margin-bottom:22px}.section-heading h2{font-size:49px;letter-spacing:-.055em}.section-heading>p:last-child{font-size:16px;line-height:1.5;margin-top:23px}.care-composition{display:flex;flex-direction:column;gap:37px;padding-top:0}.notebook-wrap{width:100%;max-width:490px;align-self:center}.notebook{padding:27px 25px 22px 43px;min-height:402px;transform:rotate(-1.5deg)}.notebook h3{font-size:28px}.notebook-heading svg{width:36px;height:30px}.notebook-subline{font-size:13px}.notebook-item>button{font-size:20px;padding:12px 0}.notebook-panel p{font-size:20px;line-height:1.4}.notebook-panel .hand-note{font-size:18px}.notebook-footer{font-size:7px}.notebook-footer>span:last-child{font-size:17px}.notebook-hint{font-size:14px;margin-top:22px;margin-left:8%}.paper-tab{font-size:8px}.workshop-photo{width:84%;align-self:flex-end;margin-right:3%;padding:10px 10px 18px;transform:rotate(2deg)}.workshop-photo img{height:330px}.workshop-photo figcaption{font-size:20px;padding:15px 6px 0;line-height:1.25}.services{padding:53px 0}.service-layout{display:block}.service-intro{position:relative;margin-bottom:34px}.service-intro .eyebrow{margin-bottom:20px}.service-intro h2{font-size:49px}.service-intro>p:not(.eyebrow):not(.hand-note){font-size:16px}.service-mark{position:absolute;right:6px;top:102px;opacity:.6}.service-mark svg{width:74px;height:70px}.service-intro .hand-note{font-size:22px;margin:21px 0 15px}.service-intro .text-link{font-size:18px}.service-row summary{font-size:28px;gap:20px;padding:24px 0}.service-no{font-size:10px;min-width:20px}.service-detail{padding-left:40px;padding-right:12px}.service-detail p{font-size:15px}.service-detail button{font-size:12px}.service-footnote{font-size:15px;margin-left:40px}.first-visit{display:block;padding-top:53px;padding-bottom:50px}.visit-heading{padding:0 0 38px}.visit-heading h2{font-size:76px}.visit-heading h2 br{display:none}.visit-heading h2 em{padding-left:.07em}.welcome-note{font-size:22px;margin:21px 0 0 15px}.visit-content{padding:30px 0 0;border-left:0;border-top:1px solid var(--line)}.visit-lead{font-size:28px;line-height:1.2}.visit-content>p:not(.visit-lead):not(.small-note){font-size:16px}.bring-list{font-size:11px;gap:19px;margin:25px 0}.bring-list svg{width:22px;height:22px}.visit-content .solid-button{font-size:14px;padding:17px 20px;gap:30px}.visit-content .small-note{font-size:11px;max-width:300px}.returning-band{padding:32px 0}.returning-band .eyebrow{font-size:9px}.returning-band h3{font-size:29px;line-height:1.15}.returning-band p:last-child{font-size:12px;line-height:1.6}.returning-band .text-link{font-size:21px}.find-us{padding:51px 0 48px}.find-heading{display:block}.find-heading .eyebrow{width:auto;padding:0;margin-bottom:23px}.find-heading h2{font-size:49px}.find-layout{display:flex;flex-direction:column;gap:31px;margin-top:15px}.shop-sketch{width:100%}.shop-sketch img{height:auto;margin-left:-3%;width:106%;max-width:none}.shop-sketch figcaption{font-size:23px;margin-top:-17px}.shop-info{grid-template-columns:1fr 1.15fr;width:100%;gap:28px 22px;padding-top:5px}.shop-info h3{display:block;margin:10px 0 16px;font-size:27px}.address-block address{font-size:14px;margin:0}.address-block .text-link{margin-left:0;font-size:18px;gap:13px;margin-top:20px}.hours-block{border-left:1px solid var(--line);padding-left:22px}.hours-block dl{margin:0}.hours-block dl>div{display:block;margin-top:12px}.hours-block dl>div:first-child{margin-top:0}.hours-block dt{font-size:10px}.hours-block dd{font-size:12px}.hours-block dl>div:last-child dd{font-size:14px}.info-icon svg{width:23px;height:23px}.shop-phone{padding:21px 0 0;gap:15px}.shop-phone>span:nth-child(2){font-size:11px}.shop-phone strong{font-size:25px}.final-invite{padding:37px 0 34px}.final-invite .eyebrow{font-size:9px}.final-invite .section-wrap>div{align-items:center;padding-top:22px}.final-invite h2{font-size:70px;line-height:.94}.final-invite h2 br{display:block}.final-invite h2 em{padding-left:0}.final-circle{width:77px;height:77px;margin-left:10px}.site-footer{padding-top:36px;padding-bottom:91px}.footer-main{flex-wrap:wrap;gap:25px;padding-bottom:27px}.footer-wordmark{width:183px}.footer-wordmark .wordmark-name{font-size:35px}.footer-main>p{font-size:14px;border:0;padding-left:0;width:calc(100% - 208px);min-width:130px}.back-top{max-width:none;margin:0;font-size:10px;gap:9px}.footer-bottom{font-size:9px;display:grid;grid-template-columns:1fr auto;gap:15px}.footer-bottom>span:last-child{grid-column:1/-1;opacity:.75}.template-note{font-size:9px;line-height:1.7;margin-top:17px}.mobile-actions{position:fixed;bottom:0;left:0;right:0;display:flex;z-index:15;background:var(--paper);box-shadow:0 -4px 18px #3e28131a;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.mobile-actions button{width:50%;font-family:var(--sans);font-size:12px;display:flex;align-items:center;justify-content:center;gap:15px;height:57px}.mobile-actions button:first-child{border-right:1px solid var(--line)}.mobile-actions button:last-child{color:var(--pale);background:var(--olive)}.mobile-actions svg{width:18px;height:18px}.planner-paper{padding:29px 23px 20px}.planner-brand{font-size:8px;margin-bottom:27px}.planner-brand svg{width:23px}.planner-dialog h2{font-size:49px;margin-bottom:26px}.planner-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 24px)}.dialog-close{right:11px;top:11px;width:36px;height:36px}.visit-type label{font-size:11px;padding:11px 8px;gap:5px}.service-choices label{font-size:12px;padding:12px 6px;gap:8px}.service-choices{gap:7px}.vehicle-fields{gap:16px 11px;grid-template-columns:1fr 2fr}.notes-actions{gap:7px}.notes-actions button{padding:11px 12px;font-size:11px}.planner-demo{font-size:9px}.contact-dialog{padding:45px 25px 30px}.contact-dialog h2{font-size:43px}.contact-dialog p{font-size:14px}}
@media(max-width:390px){.brand-note{display:none}.hero-scene{height:calc(310px + 108.5714vw);padding-top:310px}.hero-art{top:310px}.hero-copy{top:28px}.hero-copy h1{font-size:76px}.hero-copy .eyebrow{font-size:7px}.hero-description{font-size:14px}.hero-cta{font-size:22px}.hero-phone{font-size:13px;bottom:-32px}.odometer-control{top:calc(310px + 31.5vw)}.mile-note{top:calc(310px + 68vw);font-size:16px}.road-caption>span{font-size:15px}.care-strip{font-size:12px;gap:12px}.section-wrap{width:calc(100% - 36px)}.section-heading h2,.service-intro h2,.find-heading h2{font-size:43px}.notebook{padding-left:38px;padding-right:19px;min-height:380px}.notebook h3{font-size:24px}.notebook-heading svg{width:29px}.notebook-item>button{font-size:18px}.notebook-panel p{font-size:19px}.notebook-subline{font-size:11px}.notebook-hint{font-size:12px}.workshop-photo{width:87%}.workshop-photo img{height:290px}.service-row summary{font-size:25px;gap:15px}.service-detail{padding-left:35px}.visit-heading h2{font-size:63px}.bring-list{gap:12px;font-size:10px}.shop-info{gap:25px 17px}.hours-block{padding-left:17px}.final-invite h2{font-size:61px}.footer-main>p{width:100%}.planner-dialog h2{font-size:43px}.notes-actions button{padding:11px 9px;font-size:10px}.notes-actions{gap:6px}.visit-type label{font-size:10px}.service-choices label{font-size:11px}.hero-copy h1 em{padding-left:.03em}}
@media(prefers-reduced-motion:reduce){html:not(.motion-ready){scroll-behavior:auto}html:not(.motion-ready) *,html:not(.motion-ready) *:before,html:not(.motion-ready) *:after{animation:none!important;transition:none!important}html:not(.motion-ready) .reveal{opacity:1;transform:none}}
@media print{body>*:not(#visitPlanner){display:none!important}#visitPlanner{display:block!important;position:static!important;margin:0;max-height:none!important;width:100%!important;box-shadow:none;overflow:visible}#visitPlanner::backdrop{display:none}.planner-paper{padding:10mm}.dialog-close,.planner-brand,.planner-demo,#planStepLabel,#planner-title,.notes-actions,#copyStatus,#editNotes,.plan-navigation,#planError,#planStep1,#planStep2{display:none!important}#planStep3{display:block!important}.visit-summary{background:white;padding:15px 0;font-size:12pt}body{background:white;color:black}}

#contactBody{white-space:pre-line}

@media(max-width:580px){.hero-copy h1{font-size:clamp(62px,18vw,96px)}.hero-copy h1 br{display:block}.hero-copy h1 em{padding-left:0}.hero-phone{display:none}}

/* A separately composed mobile photograph keeps the road on the screen. */
@media(max-width:580px){
 .hero{container-type:inline-size}
 .hero-scene{height:auto;padding-top:324px}
 .hero-art{position:relative;width:100%;max-width:100%;height:auto;left:0;top:0;aspect-ratio:1;object-fit:contain;z-index:-1}
 .odometer-control{left:8.1%;top:calc(324px + 21.1cqw);width:83.1%;height:24cqw}
 .odo-digit{font-size:18cqw;top:5%;height:89%;width:12.7%;transform:rotate(-1deg)!important}
 .odo-digit:nth-child(1){left:4.72%}.odo-digit:nth-child(2){left:20.72%}.odo-digit:nth-child(3){left:36.60%}.odo-digit:nth-child(4){left:52.24%}.odo-digit:nth-child(5){left:68.01%}.odo-digit:nth-child(6){left:83.42%}
 .mile-note{top:calc(324px + 55cqw);left:10%;font-size:18px}
 .road-caption{bottom:18px}
}
@media(max-width:390px){.hero-scene{padding-top:310px}.odometer-control{top:calc(310px + 21.1cqw)}.mile-note{top:calc(310px + 55cqw);font-size:16px}}


/* Keep the two-line headline and visit links above the road at tablet widths. */
@media(min-width:801px) and (max-width:1100px){.hero-copy h1{font-size:8.7vw}}


/* Riverside / The well-kept notebook. All final positions inherit the supplied page. */
.studio-active .notebook { isolation:isolate; transition:none; transform-origin:12% 75%; }
.studio-active .notebook-panel { animation:none; }
.studio-active .workshop-photo { position:relative; transform:none; transform-origin:50% 80%; }
.studio-active .care-composition { position:relative; }
.studio-ink-line { display:block; }
.studio-word { display:inline-block; }
.studio-active .notebook-panel .hand-note { position:relative; border-bottom-color:transparent; }
.studio-note-rule { position:absolute; left:0; bottom:-2px; width:100%; height:7px; overflow:visible; color:var(--olive); pointer-events:none; }
.studio-note-rule path { fill:none; stroke:currentColor; stroke-width:1; }
.studio-paper-echo { position:absolute; inset:0; z-index:-1; pointer-events:none; background:inherit; border:1px solid var(--line); box-shadow:5px 8px 16px #53392117; opacity:0; transform-origin:9% 88%; }
.studio-page-curl { position:absolute; right:0; bottom:0; width:91px; height:91px; pointer-events:none; opacity:0; transform-origin:100% 100%; clip-path:polygon(100% 0,100% 100%,0 100%); background:linear-gradient(135deg,var(--paper) 10%,var(--pale) 48%,var(--line) 51%,var(--paper) 69%); }
.studio-connection { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; overflow:visible; z-index:3; color:var(--olive); opacity:0; }
.studio-connection path,.studio-photo-marks path,.studio-service-ring ellipse,.studio-end-route path { fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; }
.studio-photo-marks { position:absolute; inset:-23px; width:calc(100% + 46px); height:calc(100% + 46px); pointer-events:none; color:var(--olive); opacity:0; overflow:visible; }
.studio-active .service-no { position:relative; }
.studio-service-ring { position:absolute; width:42px; height:35px; left:50%; top:50%; margin:-17px 0 0 -21px; pointer-events:none; opacity:0; color:var(--olive); }
.studio-active .service-plus { display:inline-flex; }
.studio-active .service-row .service-detail { animation:none; }
.studio-active .final-invite { position:relative; isolation:isolate; }
.studio-end-route { position:absolute; inset:0; width:100%; height:100%; z-index:-1; pointer-events:none; color:var(--olive); opacity:0; }
.studio-active .odo-reel { will-change:auto; transition:none; }
.care-strip .strip-waymark { opacity:.75; display:inline-flex; }
.care-strip .strip-waymark svg { width:26px; height:18px; }
.studio-watercolor-frame { position:relative; }
.studio-watercolor { position:absolute; inset:0; width:100%; height:100%; opacity:0; pointer-events:none; mix-blend-mode:multiply; overflow:visible; }
.studio-watercolor-pending img { opacity:0; }
.studio-roof-line { opacity:0; }
/* New effects have a complete static state even with a missing animation API. */
.reduce-motion .studio-paper-echo,.reduce-motion .studio-page-curl,
.reduce-motion .studio-connection,.reduce-motion .studio-photo-marks,
.reduce-motion .studio-service-ring,.reduce-motion .studio-end-route { display:none; }
@media(max-width:580px) {
  .studio-connection { display:none; }
  .studio-page-curl { width:62px; height:62px; }
}
@media print {
  .studio-paper-echo,.studio-page-curl,.studio-connection,.studio-photo-marks,.studio-end-route { display:none; }
}



/* Riverside / ordinary gestures belong to the same warm paper-and-olive world. */
html,dialog,textarea,.visit-summary { scrollbar-color:var(--olive) var(--paper); scrollbar-width:auto; }
dialog,textarea { --scroll-track:var(--pale); }
@supports selector(::-webkit-scrollbar) {
  html,dialog,textarea,.visit-summary { scrollbar-color:auto; }
  ::-webkit-scrollbar { width:14px; height:14px; }
  ::-webkit-scrollbar-track { background:var(--scroll-track,var(--paper)); }
  ::-webkit-scrollbar-thumb { background:var(--olive); border:3px solid var(--scroll-track,var(--paper)); border-radius:12px; min-height:44px; }
  ::-webkit-scrollbar-thumb:hover { background:var(--olive-dark); }
  ::-webkit-scrollbar-corner { background:var(--scroll-track,var(--paper)); }
}
::selection { background:var(--olive); color:var(--pale); text-shadow:none; }
.care-strip::selection,.care-strip *::selection,
.returning-band::selection,.returning-band *::selection,
.site-footer::selection,.site-footer *::selection { background:var(--peach); color:var(--ink); text-shadow:none; }
.site-footer :focus-visible,.returning-band :focus-visible { outline-color:var(--pale); }
.hero-location { display:flex; align-items:center; gap:10px; width:max-content; max-width:100%; margin-top:7px; padding:6px 0; color:var(--olive-dark); font:clamp(11px,.9vw,15px)/1.45 var(--sans); }
.hero-location .location-pin { width:18px; height:22px; flex:none; transition:transform .25s ease; }
.hero-location .location-arrow { width:13px; height:13px; flex:none; }
.hero-location span { border-bottom:1px solid transparent; }
.hero-location:hover span,.hero-location:focus-visible span { border-bottom-color:currentColor; }
.hero-location:hover .location-pin { transform:translateY(-2px); }
.care-strip .strip-emblem { display:inline-flex; align-items:center; justify-content:center; flex:none; color:var(--pale); }
.care-strip .strip-emblem svg { width:34px; height:34px; stroke-width:1.45; overflow:visible; }
.care-strip .strip-emblem-key { transform:rotate(-9deg); }
.care-strip .strip-emblem-book { transform:rotate(6deg); }
.copy-detail { display:inline-flex; gap:8px; align-items:center; min-height:38px; min-width:125px; padding:7px 0; margin-top:5px; text-align:left; color:var(--olive); font:11px/1.4 var(--sans); }
.copy-detail svg { width:15px; height:15px; flex:none; }
.copy-detail:hover [data-copy-label] { text-decoration:underline; text-underline-offset:3px; }
.copy-detail[data-copied=true] { color:var(--olive-dark); }
.contact-dialog .copy-detail { display:flex; margin-top:15px; font-size:12px; }
.notebook-photo-stack { position:relative; overflow:hidden; isolation:isolate; }
.workshop-photo .notebook-photo { opacity:0; }
.workshop-photo .notebook-photo.is-current { opacity:1; }
.workshop-photo .notebook-photo:not([data-photo-step="1"]) { position:absolute; inset:0; height:100%; object-position:50% 48%; }
.photo-status { margin:8px 12px 0; font:11px/1.5 var(--sans); color:var(--muted); }
.photo-status:empty { display:none; }
@media(max-width:860px) {
  .hero-location { gap:7px; margin-top:4px; font-size:10px; }
  .hero-location .location-pin { width:14px; height:18px; }
}
@media(max-width:580px) {
  .hero { --hero-intro-height:410px; }
  .hero-scene { padding-top:var(--hero-intro-height); }
  .hero-copy .hero-phone { display:flex; position:static; grid-column:1/-1; margin-top:12px; font-size:14px; padding:5px 0; }
  .hero-location { grid-column:1/-1; margin-top:5px; font-size:11px; line-height:1.5; }
  .odometer-control { top:calc(var(--hero-intro-height) + 21.1cqw); }
  .mile-note { top:calc(var(--hero-intro-height) + 55cqw); }
  .care-strip .strip-emblem svg { width:25px; height:25px; }
}
@media(forced-colors:active) {
  html,dialog,textarea,.visit-summary { scrollbar-color:auto!important; }
  ::-webkit-scrollbar-track,::-webkit-scrollbar-corner { background:Canvas; }
  ::-webkit-scrollbar-thumb { background:ButtonText; border-color:Canvas; }
  ::selection,.care-strip *::selection,.returning-band *::selection,.site-footer *::selection { background:Highlight; color:HighlightText; }
}



/* A held mechanical wheel, and small decisions made on warm paper. */
.odometer-control { touch-action:pan-y pinch-zoom; user-select:none; -webkit-user-select:none; -webkit-tap-highlight-color:transparent; }
.odometer-control.is-pressed { cursor:grabbing; }
.odometer-control .odo-digit { transition:opacity .25s ease; }
.odometer-control.is-rolling .odo-digit { opacity:1; }
.mile-note span { max-width:39ch; line-height:1.5; }
.planner-paper { padding-top:29px; }
.planner-brand { margin-bottom:21px; }
.planner-dialog h2 { margin-bottom:22px; }
.visit-type { gap:13px; }
.visit-type label,.service-choices label { position:relative; isolation:isolate; transition:background .3s,box-shadow .3s,border-color .3s,transform .3s; }
.visit-type input,.service-choices input { position:absolute; width:1px; height:1px; opacity:0; margin:0; }
.visit-type label:has(input:focus-visible),.service-choices label:has(input:focus-visible) { outline:2px solid var(--olive); outline-offset:4px; }
.visit-type label { min-height:67px; gap:11px; padding:12px 35px 12px 12px; border:1px solid #c5b295; background:#fff9ed; box-shadow:2px 3px 0 #d8c6aa44; font:18px/1.15 var(--note); }
.visit-type label::after { content:""; position:absolute; inset:4px; border:1px solid #c5b29566; z-index:-1; pointer-events:none; }
.visit-type label:has(input:checked) { color:var(--olive-dark); background:#e9e4cb; box-shadow:3px 4px 0 #d8c6aa77; }
.visit-kind-mark { display:flex; flex:none; width:30px; color:var(--olive); }
.visit-kind-mark svg { width:30px; height:30px; }
.service-choices { gap:10px 14px; }
.service-choices label { min-height:56px; gap:10px; padding:10px 38px 10px 12px; border:1px solid #d4c4a9; border-left:3px solid #c5b295; background:#fff9ed; box-shadow:2px 2px 0 #d8c6aa44; }
.service-choices label::after { content:""; position:absolute; left:49px; right:38px; bottom:10px; height:1px; background:var(--olive); transform:scaleX(0) rotate(-1deg); transform-origin:left; opacity:.5; transition:transform .45s cubic-bezier(.2,.75,.25,1); }
.service-choices label:has(input:checked) { border-color:var(--olive); border-left-color:var(--olive); background:#e9e4cb; color:var(--olive-dark); box-shadow:3px 3px 0 #bdaa8e66; }
.service-choices label:has(input:checked)::after { transform:scaleX(1) rotate(-1deg); }
.service-ticket-icon { width:27px; height:29px; display:flex; flex:none; color:var(--olive); }
.service-ticket-icon svg { width:27px; height:29px; }
.choice-tick { position:absolute; right:11px; top:50%; width:20px; height:20px; transform:translateY(-50%) rotate(-7deg); border:1px solid #bdaa8e; background:var(--pale); }
.choice-tick svg { position:absolute; width:25px; height:25px; left:-2px; top:-4px; stroke-width:1.8; overflow:visible; }
.choice-tick path { stroke-dasharray:26; stroke-dashoffset:26; transition:stroke-dashoffset .36s cubic-bezier(.2,.65,.2,1); }
label:has(input:checked) .choice-tick { color:var(--olive); border-color:var(--olive); }
label:has(input:checked) .choice-tick path { stroke-dashoffset:0; }
.visit-type .choice-tick { width:17px; height:17px; right:11px; border-radius:50%; }
.visit-type .choice-tick svg { width:22px; height:22px; }
.visit-selection-note { margin:-7px 0 18px; font:17px/1.35 var(--note); color:var(--olive); transform:rotate(-.7deg); }
.plan-navigation { margin-top:13px; gap:18px; }
.plan-navigation .solid-button { position:relative; isolation:isolate; gap:16px; min-height:58px; padding:13px 19px 13px 14px; border:1px solid var(--olive-dark); box-shadow:3px 4px 0 #a8947866; transform:rotate(-.65deg); transition:transform .32s cubic-bezier(.2,.8,.2,1),box-shadow .32s,background .25s; }
.plan-navigation .solid-button::after { content:""; position:absolute; right:-1px; bottom:-1px; width:12px; height:12px; background:linear-gradient(135deg,#a9ac7c 49%,var(--pale) 51%); pointer-events:none; }
.button-page-number { border-right:1px solid #fff2de66; padding-right:13px; font:20px/1 var(--note); color:var(--pale); }
.plan-navigation .solid-button [data-icon] { transition:transform .35s cubic-bezier(.2,.8,.2,1); }
.plan-navigation .solid-button:active { transform:translateY(2px) rotate(0); box-shadow:1px 1px 0 #a8947866; }
.plan-navigation .text-link { text-underline-offset:5px; }
.visit-thread { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 10px; border-bottom:1px solid #d4c4a9; padding:0 0 14px; margin:0 0 18px; color:var(--olive); }
.visit-thread-label { width:100%; font:9px/1.4 var(--sans); letter-spacing:.11em; margin-bottom:3px; }
.visit-thread-item { font:16px/1.35 var(--note); border-bottom:1px solid #a8947888; }
.vehicle-fields input,.concern-label textarea { transition:background .25s,border-color .25s,box-shadow .25s; }
.vehicle-fields input:focus,.concern-label textarea:focus { background:var(--pale); border-color:var(--olive); box-shadow:inset 3px 0 var(--olive); }
@media(min-width:581px) and (max-height:780px) {
  .planner-paper { padding:25px 48px 18px; }
  .planner-brand { margin-bottom:16px; }
  .planner-dialog h2 { font-size:54px; margin:10px 0 17px; }
  .planner-dialog fieldset { margin-bottom:20px; }
  .visit-type label { min-height:60px; }
  .service-choices { gap:9px 14px; }
  .service-choices label { min-height:50px; padding-top:7px; padding-bottom:7px; }
  .visit-selection-note { margin-bottom:12px; }
  .plan-navigation .solid-button { min-height:54px; }
  .planner-demo { margin-top:14px; padding-top:10px; }
}
@media(hover:hover) {
  .visit-type label:hover,.service-choices label:hover { transform:translateY(-2px) rotate(-.35deg); border-color:var(--olive); box-shadow:3px 5px 0 #d8c6aa77; }
  .plan-navigation .solid-button:hover { transform:translateY(-3px) rotate(-1deg); box-shadow:4px 7px 0 #a8947855; }
  .plan-navigation .solid-button:hover [data-icon] { transform:translateX(5px); }
}
@media(max-width:580px) {
  .visit-type { gap:9px; }
  .visit-type label { font-size:16px; padding:10px 27px 10px 9px; min-height:66px; gap:6px; }
  .visit-kind-mark,.visit-kind-mark svg { width:24px; }
  .visit-type .choice-tick { right:7px; width:15px; height:15px; }
  .service-choices { gap:9px; }
  .service-choices label { padding:9px 28px 9px 7px; gap:5px; font-size:11px; min-height:58px; }
  .service-ticket-icon,.service-ticket-icon svg { width:23px; }
  .choice-tick { width:16px; height:16px; right:7px; }
  .choice-tick svg { width:21px; height:21px; }
  .service-choices label::after { left:35px; right:27px; bottom:9px; }
  .visit-selection-note { font-size:16px; }
  .plan-navigation .solid-button { min-height:55px; min-width:163px; gap:12px; }
}
.reduce-motion .visit-type label,.reduce-motion .service-choices label,.reduce-motion .choice-tick path,
.reduce-motion .service-choices label::after,.reduce-motion .plan-navigation .solid-button,.reduce-motion .plan-navigation [data-icon] { transition:none; }
@media(forced-colors:active) {
  .visit-type label,.service-choices label,.choice-tick { border-color:ButtonText; }
  .visit-type label:has(input:checked),.service-choices label:has(input:checked) { outline:2px solid Highlight; }
}
@media print { .visit-thread,.visit-selection-note,.button-page-number { display:none!important; } }



/* A visit book leaves a bookmark; its finished page can be taken along. */
.planner-close-rail { position:sticky; top:0; height:0; z-index:4; }
.planner-close-rail .dialog-close { top:14px; right:16px; background:var(--pale); }
.draft-bookmark { display:none; width:13px; height:20px; flex:none; }
.draft-bookmark svg { display:block; width:100%; height:100%; }
.has-visit-draft .draft-bookmark { display:inline-flex; }
#mainNav .has-visit-draft { gap:9px; }
.mobile-actions .has-visit-draft { gap:9px; }
.vehicle-fields label,.concern-label { position:relative; }
.vehicle-fields input,.concern-label textarea { transition:background-color .3s,border-color .3s,box-shadow .3s; }
.vehicle-fields label:focus-within,.concern-label:focus-within { color:var(--olive-dark); }
.vehicle-fields input:focus,.concern-label textarea:focus { border-color:var(--olive); background-color:#fffaf0; box-shadow:inset 0 -2px var(--olive); }
.vehicle-fields .has-writing input,.concern-label.has-writing textarea { border-bottom-color:var(--olive); }
.concern-label textarea { background-image:repeating-linear-gradient(transparent 0 21.4px,#c8b89933 21.4px 22.4px); background-position:0 12px; background-attachment:local; }
.note-character-count { display:block; margin:-7px 0 15px; text-align:right; color:var(--muted); font:11px/1.3 var(--sans); }
.note-character-count[hidden] { display:none; }
.note-character-count.is-near-limit { color:#8b3228; }
.takeaway-slip { position:relative; margin:28px 0 19px; padding-top:8px; background:#fff9ec; border:1px solid #cbbb9c; border-top:1px dashed #bca98a; box-shadow:5px 6px 0 #d7c7aa55,0 10px 24px #4c382011; transform-origin:50% 8%; }
.takeaway-slip::after { content:""; position:absolute; right:-1px; bottom:-1px; width:21px; height:21px; background:linear-gradient(135deg,#d6c6a5 49%,var(--pale) 51%); pointer-events:none; }
.takeaway-slip .visit-summary { border:0; margin:0; padding:37px 20px 24px; background:transparent; line-height:1.9; }
.takeaway-stamp { position:absolute; top:-13px; right:16px; display:grid; padding:6px 12px 7px; gap:2px; color:var(--olive); background:var(--pale); border:3px double currentColor; transform:rotate(5deg); text-align:center; }
.takeaway-stamp span { font:8px/1.2 var(--sans); letter-spacing:.12em; }
.takeaway-stamp strong { font:16px/1.2 var(--note); font-weight:normal; }
.notes-actions { display:grid; grid-template-columns:1.15fr 1fr .8fr; gap:9px; }
.notes-actions button { position:relative; justify-content:center; border:1px solid #ad9876; box-shadow:2px 3px 0 #d0bea166; transition:transform .2s,box-shadow .2s,background .25s; }
.notes-actions button:active { transform:translateY(2px); box-shadow:0 1px 0 #d0bea166; }
.notes-actions button[data-result=done] { background:#e5e3c8; color:var(--olive-dark); border-color:var(--olive); }
.notes-actions button[data-result=done] [data-icon] { opacity:.65; }
.notes-actions button[aria-busy=true] { cursor:progress; }
#copyStatus:not(:empty) { margin-top:12px; padding-left:10px; border-left:2px solid var(--olive); color:var(--olive-dark); }
@media(hover:hover) and (pointer:fine) {
  .odometer-control { cursor:grab; }
  .odometer-control.is-pressed { cursor:grabbing; }
  .notes-actions button:hover { transform:translateY(-2px) rotate(-.35deg); box-shadow:3px 5px 0 #d0bea166; }
}
@media(max-width:580px) {
  .takeaway-slip .visit-summary { padding:34px 15px 22px; font-size:12px; }
  .notes-actions { gap:6px; }
  .notes-actions button { padding:10px 7px; gap:5px; font-size:11px; }
  .notes-actions svg { width:15px; height:15px; }
}
.reduce-motion .vehicle-fields input,.reduce-motion .concern-label textarea,.reduce-motion .notes-actions button { transition:none; }
@media(forced-colors:active) { .takeaway-slip,.takeaway-stamp { border-color:CanvasText; } .notes-actions button[data-result=done] { outline:2px solid Highlight; } }
@media print { .takeaway-stamp,.draft-bookmark,.note-character-count { display:none!important; } .takeaway-slip { border:0; box-shadow:none; margin:0; padding:0; } .takeaway-slip::after { display:none; } .takeaway-slip .visit-summary { padding:15px 0; font-size:12pt; } }



/* Keep complete notebook scenes inside their original paper photograph. */
.workshop-photo .notebook-photo-stack{aspect-ratio:4/5;background:var(--pale)}
.workshop-photo[data-active-step="2"] .notebook-photo-stack,.workshop-photo[data-active-step="3"] .notebook-photo-stack{aspect-ratio:4/3}
.workshop-photo .notebook-photo-stack .notebook-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.workshop-photo .notebook-photo:not(.is-current){visibility:hidden}
.workshop-photo[data-image-state="loading"] .notebook-photo,.workshop-photo[data-image-state="error"] .notebook-photo{visibility:hidden}
.workshop-photo[data-image-state="loading"] .photo-status,.workshop-photo[data-image-state="error"] .photo-status{position:absolute;inset:12px 12px 76px;display:grid;place-items:center;margin:0;padding:18px;text-align:center;background:var(--pale);font:12px/1.5 var(--sans)}
@media(max-width:580px){
  .notebook-panel>.workshop-photo{width:100%;max-width:410px;margin:13px 0 20px;padding:8px 8px 13px;align-self:auto}
  .notebook-panel>.workshop-photo figcaption{font-size:17px;padding:11px 3px 0;line-height:1.3}
  .notebook-panel>.workshop-photo .photo-status{font:11px/1.4 var(--sans)}
  .notebook-panel>.workshop-photo .studio-photo-marks{inset:-8px;width:calc(100% + 16px);height:calc(100% + 16px)}
}
