/* Living ink. Original composition, pigment and typography remain the ground. */
.living-ink-canvas{position:fixed;inset:0;z-index:5;pointer-events:none;contain:strict}
.ink-reactive-type{--ink-x:-300px;--ink-y:-300px;--ink-color:var(--ink);background-image:radial-gradient(ellipse 125px 105px at var(--ink-x) var(--ink-y),var(--ink-color) 0%,var(--ink-color) 24%,var(--ink) 86%);background-clip:text;-webkit-background-clip:text;color:transparent}
.ink-reactive-type em,.ink-reactive-type .clear-word{color:inherit}
.ink-reactive-type .clear-word,.ink-reactive-type .red-underline,.ink-reactive-type .word-circle{color:var(--fragment-ink,var(--ink))}
.car-parallax{position:relative}
.car-clearcoat{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .5s;mask:url('assets/car.webp') center / 100% 100% no-repeat;-webkit-mask:url('assets/car.webp') center / 100% 100% no-repeat;mix-blend-mode:screen}
.car-clearcoat:before{content:'';position:absolute;inset:0;background:linear-gradient(111deg,transparent 0%,transparent calc(var(--coat-x,45%) - 18%),#ffe6e409 calc(var(--coat-x,45%) - 10%),#fff8 calc(var(--coat-x,45%) - 2%),#fff2 calc(var(--coat-x,45%) + 4%),transparent calc(var(--coat-x,45%) + 19%));clip-path:polygon(13% 5%,72% 5%,100% 36%,100% 72%,0% 72%,0% 15%)}
.car-parallax.is-brush-near .car-clearcoat{opacity:.68}
.hero.ink-arrival .car-clearcoat{animation:clearcoat-arrive 1.65s .55s backwards}
.hero.ink-arrival h1>span{animation:type-press .94s cubic-bezier(.22,.7,.2,1) both}
.hero.ink-arrival h1>span+span{animation-delay:.14s}
.hero.ink-arrival .car-note{animation:annotation-arrive .85s 1.4s both cubic-bezier(.19,1,.22,1)}
.hero.ink-arrival .hero-smallprint{animation:smallprint-arrive .7s 1.8s both}
@keyframes type-press{from{opacity:0;clip-path:inset(0 100% 0 0);filter:blur(1.3px)}60%{opacity:1;filter:blur(0)}to{opacity:1;clip-path:inset(-10% -2% -20% -2%);filter:blur(0)}}
@keyframes annotation-arrive{from{opacity:0;clip-path:inset(0 100% -35px 0);translate:0 7px}to{opacity:1;clip-path:inset(0 -10% -35px 0);translate:0 0}}
@keyframes smallprint-arrive{from{opacity:0}to{opacity:1}}
@keyframes clearcoat-arrive{0%{opacity:0;translate:-28% 0}25%{opacity:.8}80%{opacity:.35}100%{opacity:0;translate:35% 0}}
.motion-toggle{position:relative;display:inline-flex;gap:7px;align-items:center;min-height:40px;padding:10px 0;font:inherit;line-height:1.2;color:var(--muted)}
.motion-toggle svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:1.5}
.motion-toggle:hover,.motion-toggle:focus-visible{color:var(--red)}
/* Small decisions receive the same cut, press and release as the large ink. */
.desktop-nav a:after{height:5px;clip-path:polygon(0 46%,24% 15%,56% 27%,100% 0,96% 55%,65% 76%,18% 100%,2% 72%);transition:transform .44s var(--ease)}
.button:after{clip-path:polygon(0 9%,12% 3%,22% 9%,41% 0,55% 5%,76% 1%,88% 7%,100% 2%,100% 100%,0 100%)}
.text-link{position:relative}
.text-link:after{content:'';position:absolute;left:0;bottom:-2px;width:100%;height:4px;background:var(--red);clip-path:polygon(0 50%,22% 20%,52% 35%,100% 0,95% 70%,31% 100%,2% 80%);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease);pointer-events:none}
.text-link:hover:after,.text-link:focus-visible:after{transform:scaleX(1)}
.modal-shell[open]{transform-origin:50% 15%;animation:paper-settle .55s cubic-bezier(.2,.8,.2,1) both}
.modal-topline{border-bottom-color:var(--red)}
.booking-progress li{position:relative}
.booking-progress li[aria-current=step]{box-shadow:none}
.booking-progress li[aria-current=step]:after{content:'';position:absolute;bottom:-1px;left:0;right:12px;height:4px;background:var(--red);clip-path:polygon(0 45%,31% 5%,70% 25%,100% 0,96% 75%,19% 100%,0 80%);animation:ink-rule-in .55s var(--ease) both}
.booking-field input,.booking-field select,.booking-field textarea{transition:border-color .2s,box-shadow .2s,background-color .2s}
.booking-field:focus-within input,.booking-field:focus-within select,.booking-field:focus-within textarea{background:#fff;border-bottom-color:var(--red);box-shadow:inset 0 -2px var(--red)}
.booking-completed:not([hidden]) .booking-complete-mark{animation:ink-seal .6s .1s both cubic-bezier(.2,.8,.2,1)}
@keyframes paper-settle{from{opacity:.35;transform:translateY(14px) rotate(-.75deg)}72%{opacity:1;transform:translateY(-1px) rotate(.12deg)}to{opacity:1;transform:none}}
@keyframes ink-rule-in{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(-5% -2%)}}
@keyframes ink-seal{0%{opacity:0;transform:scale(1.28) rotate(-16deg)}60%{opacity:1;transform:scale(.94) rotate(3deg)}100%{opacity:1;transform:scale(1) rotate(0)}}
html{scrollbar-color:var(--ink) #f6f6f3;scrollbar-width:thin}
::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#f6f6f3}::-webkit-scrollbar-thumb{background:var(--ink);border:2px solid #f6f6f3}::-webkit-scrollbar-thumb:hover{background:var(--red)}
html.ink-motion-paused{scroll-behavior:auto!important}
html.ink-motion-paused *,html.ink-motion-paused *:before,html.ink-motion-paused *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html.ink-motion-paused .js-motion .reveal,html.ink-motion-paused.js-motion .reveal{opacity:1;transform:none}
html.ink-motion-paused .clear-word path{stroke-dashoffset:0}
html.ink-motion-paused .living-ink-canvas{display:none}
html.ink-motion-paused .ink-reactive-type{color:var(--ink);background:none}
@media(max-width:580px){.hero.ink-arrival h1>span{animation-duration:.75s}.motion-toggle{font-size:11px;min-height:44px}}
@media(max-width:360px){.diagnostics-spread .spread-copy h2{font-size:57px}.footer-brand .brand strong{font-size:26px}}
@media(prefers-reduced-motion:reduce){
 .living-ink-canvas{display:none!important}
 .ink-reactive-type{color:var(--ink);background:none}
 .car-clearcoat{display:none}
 .hero.ink-arrival h1>span,.hero.ink-arrival .car-note,.hero.ink-arrival .hero-smallprint{animation:none}
 .modal-shell[open],.booking-progress li[aria-current=step]:after,.booking-completed:not([hidden]) .booking-complete-mark{animation:none}
 .text-link:after,.booking-field input,.booking-field select,.booking-field textarea{transition:none}
}
@media(forced-colors:active){.living-ink-canvas,.car-clearcoat{display:none!important}.ink-reactive-type{color:CanvasText;background:none}}
@supports not ((background-clip:text) or (-webkit-background-clip:text)){.ink-reactive-type{color:var(--ink);background:none}}
