/* Raster shell motion. Deliberately isolated from product route and modal CSS. */
.dino-hatch{position:relative;width:100%;height:100%;min-height:0;overflow:hidden;isolation:isolate;contain:layout paint;touch-action:manipulation;--hatch-ink:#394a49;--hatch-muted:#73847c}
.dino-hatch>canvas{display:block;width:100%;height:100%;position:absolute;inset:0;pointer-events:none;contain:strict}
.dino-hatch-caption{position:absolute;z-index:2;left:20px;right:20px;bottom:14px;min-height:25px;color:var(--hatch-ink);font-size:15px;font-weight:750;text-align:center;line-height:1.4;text-wrap:balance;pointer-events:none;transition:opacity .25s}
.dino-hatch[data-phase="reveal"] .dino-hatch-caption{opacity:0}
.dino-hatch-loading{position:absolute;left:18px;right:18px;bottom:18px;margin:0;text-align:center;font-size:13px;color:var(--hatch-muted);line-height:1.5}
.dino-hatch-loading[hidden]{display:none}
.dino-hatch-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.dino-hatch[data-error="true"] .dino-hatch-loading{color:#925d47}
.dino-hatch-tap-target{position:absolute;inset:0;z-index:3;display:block;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.dino-hatch-tap-target[hidden]{display:none}
.dino-hatch-tap-target:focus-visible{outline:3px solid #71bbaa;outline-offset:-7px}
.dino-hatch-tap-hint{position:absolute;left:var(--hatch-hint-x,64%);top:var(--hatch-hint-y,52%);width:96px;height:96px;pointer-events:none;transform:translate(-20%,-14%);animation:dino-hatch-finger 1.65s ease-in-out infinite}
.dino-hatch-tap-hint img{position:absolute;inset:0;width:96px;height:96px;object-fit:contain;filter:drop-shadow(0 4px 3px #496a4530)}
.dino-hatch-tap-rings,.dino-hatch-tap-rings:before{position:absolute;left:8px;top:7px;width:34px;height:34px;border:3px solid #fff9e9;border-radius:50%;box-shadow:0 0 0 2px #69a99466;animation:dino-hatch-ring 1.65s ease-out infinite}
.dino-hatch-tap-rings:before{content:'';left:-3px;top:-3px;animation-delay:.23s;box-shadow:none}
.dino-hatch[data-taps]:not([data-taps="0"]) .dino-hatch-tap-hint{display:none}
.dino-hatch-tap-dots{position:absolute;top:var(--hatch-dots-y,72%);left:50%;display:flex;gap:7px;transform:translate(-50%,-50%);pointer-events:none}
.dino-hatch-tap-dots i{display:block;width:7px;height:7px;border:1px solid #82a88b;background:#fff8e9b8;border-radius:50%;box-shadow:0 1px 3px #3d704b1a;transition:background .15s,transform .15s}
.dino-hatch-tap-dots i[data-filled="true"]{background:#65af9c;transform:scale(1.12)}
.dino-hatch[data-reduced-motion="true"] .dino-hatch-tap-hint,.dino-hatch[data-reduced-motion="true"] .dino-hatch-tap-rings,.dino-hatch[data-reduced-motion="true"] .dino-hatch-tap-rings:before{animation:none}
.dino-hatch[data-reduced-motion="true"] .dino-hatch-tap-rings{opacity:.65}
.dino-hatch[data-reduced-motion="true"] .dino-hatch-tap-dots i{transition:none}
@keyframes dino-hatch-finger{0%,100%{transform:translate(-13%,-6%) rotate(-4deg)}38%,58%{transform:translate(-20%,-14%) rotate(0)}}
@keyframes dino-hatch-ring{0%,24%{opacity:0;transform:scale(.55)}38%{opacity:.85}75%,100%{opacity:0;transform:scale(1.6)}}
.hatch-v3 .hatch-top{justify-content:center}
@media(prefers-reduced-motion:reduce){.dino-hatch-caption{transition:none}.dino-hatch-tap-hint,.dino-hatch-tap-rings,.dino-hatch-tap-rings:before{animation:none}.dino-hatch-tap-dots i{transition:none}}
