/* NEXT MOVE — wood, lacquer, brass, and a little gravity. */
@media (hover:hover) and (pointer:fine) {
  html, body, .site-frame, .site-frame *, button, a, summary, [role="tab"] {
    cursor:url("assets/brass-pointer.svg") 3 2, auto;
  }
  a:hover, button:hover, summary:hover, [role="tab"]:hover {
    cursor:url("assets/brass-pointer-active.svg") 3 2, pointer;
  }
  input:not([type="checkbox"]):not([type="radio"]), .site-frame textarea, [contenteditable="true"],
  input:not([type="checkbox"]):not([type="radio"]):hover, textarea:hover {
    cursor:text;
  }
  select, option { cursor:url("assets/brass-pointer-active.svg") 3 2, pointer; }
}

.nm-motion-ready { --nm-ease:cubic-bezier(.19,.72,.24,1); }
.nm-motion-ready ::selection { color:#f7ead1;background:#8d1716; }
.nm-motion-ready .hero-car,.nm-motion-ready .hero-garage,.nm-motion-ready .hero-route,.nm-motion-ready .garage-light { pointer-events:none; }
.nm-motion-ready .chess-floor:after { pointer-events:none;z-index:2; }
.nm-floor-grid { position:absolute;inset:0;overflow:hidden;pointer-events:auto;z-index:1; }
.nm-floor-cell { position:absolute;pointer-events:auto;opacity:0;background:linear-gradient(135deg,#f8dda942,#f5c47a17 48%,#94171320);box-shadow:inset 0 0 0 1px #ffe6ac88,inset 0 0 18px #fbe1ac24;transition:opacity .75s ease; }
.nm-floor-cell.is-touched { opacity:1;transition-duration:.15s; }
.nm-floor-cell:before,.nm-floor-cell:after { content:"";position:absolute;width:9px;height:9px;border-color:#f1cf8c;border-style:solid;opacity:.8; }
.nm-floor-cell:before { top:7px;left:7px;border-width:1px 0 0 1px; }
.nm-floor-cell:after { bottom:7px;right:7px;border-width:0 1px 1px 0; }

.nm-motion-ready .hero-stage.nm-hero-preparing:not(.is-playing) .hero-car { opacity:0;transform:translate3d(1%,-90px,0) rotate(-4deg); }
.nm-motion-ready .hero-stage.nm-hero-preparing:not(.is-playing) .route-line { stroke-dasharray:var(--nm-route-length,1100);stroke-dashoffset:var(--nm-route-length,1100); }
.nm-motion-ready .hero-stage.nm-hero-preparing:not(.is-playing) .garage-light { opacity:.13; }
.nm-motion-ready #hero-stage.is-playing .hero-car { animation:nm-piece-lands 1.82s var(--nm-ease) both;will-change:transform; }
.nm-motion-ready #hero-stage.is-playing .route-line { stroke-dasharray:var(--nm-route-length,1100);animation:nm-red-route 1.67s .99s cubic-bezier(.35,0,.16,1) both; }
.nm-motion-ready #hero-stage.is-playing .route-start { transform-box:fill-box;transform-origin:center;animation:nm-route-seal .8s 1.02s var(--nm-ease) both; }
.nm-motion-ready #hero-stage.is-playing .garage-light { animation:nm-workshop-wakes 2.35s 1.53s ease both; }
.nm-motion-ready #hero-stage.is-playing .garage-plaque { animation:nm-plaque-warmth 2.2s 1.65s ease both; }
@keyframes nm-piece-lands {
  0% { opacity:0;transform:translate3d(1%,-98px,0) rotate(-5deg) scale(1.022); }
  15% { opacity:1; }
  52% { transform:translate3d(0,-7px,0) rotate(-.7deg) scale(1.003); }
  65% { transform:translate3d(0,3px,0) rotate(.35deg) scale(1,.994); }
  80% { transform:translate3d(0,-1.5px,0) rotate(-.12deg) scale(1); }
  100% { opacity:1;transform:translate3d(0,0,0) rotate(0) scale(1); }
}
@keyframes nm-red-route { from { stroke-dashoffset:var(--nm-route-length,1100); } to { stroke-dashoffset:0; } }
@keyframes nm-route-seal { 0% { transform:scale(.4);opacity:.2; } 50% { transform:scale(1.15);opacity:1; } 100% { transform:scale(1);opacity:1; } }
@keyframes nm-workshop-wakes { 0% { opacity:.12;transform:scale(.66); } 64% { opacity:1;transform:scale(1.08); } 100% { opacity:.86;transform:scale(1); } }
@keyframes nm-plaque-warmth { 0% { filter:brightness(.86); } 65% { filter:brightness(1.13); } 100% { filter:brightness(1); } }
.nm-motion-ready .nm-scene-paused *, .nm-motion-ready.nm-page-paused .hero-stage *, .nm-motion-ready.nm-page-paused .ready * { animation-play-state:paused!important; }

.nm-material { isolation:isolate; }
.nm-material-light { position:absolute;inset:0;border-radius:inherit;z-index:6;pointer-events:none;opacity:0;transition:opacity .6s ease;background:radial-gradient(ellipse 150px 95px at var(--nm-light-x,50%) var(--nm-light-y,50%),#fff3ce48 0,#e2b06d12 46%,transparent 76%);mix-blend-mode:soft-light; }
.paper-card>.nm-material-light { background:radial-gradient(ellipse 210px 150px at var(--nm-light-x,50%) var(--nm-light-y,50%),#fff9e560,#ecc59d13 50%,transparent 80%); }
.nm-material.is-lit>.nm-material-light { opacity:1; }

.nm-motion-ready .piece-art { transition:transform .65s cubic-bezier(.2,.78,.22,1);transform-origin:50% 88%; }
.nm-motion-ready .piece:hover .piece-art { transform:translateY(-6px) rotate(-1.2deg); }
.nm-motion-ready .piece.selected .piece-art { transform:translateY(-10px) rotate(-1.8deg); }
.nm-motion-ready .piece:nth-child(2):hover .piece-art,.nm-motion-ready .piece:nth-child(3):hover .piece-art { transform:translateY(-6px) rotate(1.2deg); }
.nm-motion-ready .piece.selected:nth-child(2) .piece-art,.nm-motion-ready .piece.selected:nth-child(3) .piece-art { transform:translateY(-10px) rotate(1.4deg); }
.nm-motion-ready .piece:before { transition:border-color .35s,box-shadow .35s; }
.nm-motion-ready .piece.selected:before { box-shadow:inset 0 0 0 3px #a4111408; }
.nm-motion-ready .piece-plaque { transition:box-shadow .4s,filter .4s; }
.nm-motion-ready .piece:hover .piece-plaque { filter:brightness(1.055);box-shadow:0 4px 7px #2d110b2e,inset 0 1px #ffe5b580; }
.nm-motion-ready .service-layout { position:relative; }
.nm-handoff { position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:9; }
.nm-handoff-track { fill:none;stroke:#a41114;stroke-width:1.5;stroke-linecap:round;opacity:0; }
.nm-handoff-bead { fill:#a41114;stroke:#ecd098;stroke-width:1.4;opacity:0; }
.nm-motion-ready .service-note { transform-origin:50% 0; }
.nm-motion-ready .pin-head { transform-origin:center 40%; }
.nm-motion-ready .step-tabs { position:relative; }
.nm-motion-ready .step-tabs button[aria-selected="true"]:after { display:none; }
.nm-motion-ready .step-tabs button { transition:color .3s,border-color .3s; }
.nm-tab-counter { position:absolute;bottom:-6px;left:0;width:12px;height:12px;background:radial-gradient(circle at 32% 24%,#e46745 0,#ad1f18 34%,#70120f 76%);border:1px solid #772018;border-radius:50%;box-shadow:0 2px 2px #3c180b55,inset 0 1px #f4aa7a;z-index:3;pointer-events:none;transition:transform .65s cubic-bezier(.2,.8,.2,1.04); }
.nm-tab-counter:after { content:"";position:absolute;inset:3px;border:1px solid #eeb37475;border-radius:50%; }
.nm-motion-ready .step-panel { transform-origin:0 22px; }
.nm-motion-ready .text-link,.nm-motion-ready .brass-button { transition:box-shadow .25s,filter .25s,background-color .25s; }
.nm-motion-ready .text-link:hover { text-decoration-thickness:2px;text-underline-offset:5px; }
.nm-motion-ready .brass-button:active { filter:brightness(.94);box-shadow:inset 0 2px 4px #4c24134a; }
.nm-motion-ready .faq summary span { transition:transform .4s var(--nm-ease); }
.nm-motion-ready .faq details[open] summary span { transform:rotate(90deg); }
.nm-motion-ready .faq details[open] p { animation:nm-answer-unfold .45s var(--nm-ease) both; }
@keyframes nm-answer-unfold { from { opacity:0;translate:0 -6px; } to { opacity:1;translate:0 0; } }

/* This replaces both old closing keyframes; a single owner drives the car. */
.nm-motion-ready .ready .road-car { animation:none; }
.nm-motion-ready .ready:not(.is-arrived) .road-car { opacity:0;transform:translate3d(-74px,-12px,0) rotate(-2.8deg); }
.nm-motion-ready .ready:not(.is-arrived) .ready-route { opacity:0;transform:rotate(11deg) scaleX(0);transform-origin:left center; }
.nm-motion-ready .ready.is-arrived .road-car { animation:nm-car-rolls 1.85s .12s cubic-bezier(.22,.7,.22,1) both; }
.nm-motion-ready .ready.is-arrived .ready-route { animation:nm-road-follows 1.5s .74s cubic-bezier(.3,0,.2,1) both;transform-origin:left center; }
@keyframes nm-car-rolls { 0% { opacity:0;transform:translate3d(-74px,-12px,0) rotate(-2.8deg); } 14% { opacity:1; } 76% { transform:translate3d(2px,1px,0) rotate(.24deg); } 100% { opacity:1;transform:translate3d(0,0,0) rotate(0); } }
@keyframes nm-road-follows { 0% { opacity:.3;transform:rotate(11deg) scaleX(0); } 100% { opacity:1;transform:rotate(11deg) scaleX(1); } }

@media (max-width:680px) {
  .nm-motion-ready .piece:hover .piece-art,.nm-motion-ready .piece.selected .piece-art,
  .nm-motion-ready .piece:nth-child(2):hover .piece-art,.nm-motion-ready .piece:nth-child(3):hover .piece-art,
  .nm-motion-ready .piece.selected:nth-child(2) .piece-art,.nm-motion-ready .piece.selected:nth-child(3) .piece-art { transform:translateY(-3px) rotate(-1deg); }
  .nm-floor-cell:before,.nm-floor-cell:after { width:6px;height:6px; }
}
@media (hover:none),(pointer:coarse) { .nm-material-light { display:none; } .nm-floor-grid { pointer-events:none; } }
.nm-motion-ready.nm-motion-off .nm-handoff,.nm-motion-ready.nm-motion-off .nm-floor-grid { display:none; }
.nm-motion-ready.nm-motion-off .hero-stage .hero-car,.nm-motion-ready.nm-motion-off .ready .road-car { animation:none!important;opacity:1!important;transform:none!important; }
.nm-motion-ready.nm-motion-off .hero-stage .route-line { animation:none!important;stroke-dashoffset:0!important; }
.nm-motion-ready.nm-motion-off .hero-stage .garage-light { animation:none!important;opacity:1!important;transform:none!important; }
.nm-motion-ready.nm-motion-off .ready .ready-route { animation:none!important;opacity:1!important;transform:rotate(11deg)!important; }
.nm-motion-ready.nm-motion-off .nm-tab-counter,.nm-motion-ready.nm-motion-off .piece-art { transition:none!important; }
@media (prefers-reduced-motion:reduce) {
  .nm-handoff,.nm-floor-grid { display:none!important; }
  .nm-motion-ready .hero-stage .hero-car,.nm-motion-ready .ready .road-car { animation:none!important;opacity:1!important;transform:none!important; }
  .nm-motion-ready .hero-stage .route-line { animation:none!important;stroke-dashoffset:0!important; }
  .nm-motion-ready .ready .ready-route { animation:none!important;opacity:1!important;transform:rotate(11deg)!important; }
  .nm-motion-ready .nm-tab-counter { transition:none!important; }
}
