/* Shared review changes: independent hero dart, art, timing game and following CTA. */
.hero-art{animation:none!important;transform:none!important;will-change:auto}
.hero-flight-layer{position:absolute;inset:0;z-index:2;pointer-events:none}
.hero-dart-anchor{position:absolute;left:0;top:0;width:0;height:0;will-change:transform}
.hero-flight-dart{position:absolute;right:0;top:0;width:var(--dart-size,330px);height:auto;aspect-ratio:320/140;transform:translateY(-50%);overflow:visible;stroke:none;filter:drop-shadow(0 0 5px var(--accent)) drop-shadow(0 0 12px color-mix(in srgb,var(--second) 45%,transparent))}
.dart-flight-top{fill:var(--accent);stroke:var(--gold);stroke-width:2}
.dart-flight-bottom{fill:var(--second);stroke:var(--gold);stroke-width:2}
.dart-flight-shadow{fill:var(--ink);stroke:var(--accent);stroke-width:2}
.dart-shaft{fill:var(--ink);stroke:var(--gold);stroke-width:1.5}
.dart-shine{fill:none;stroke:var(--ivory);stroke-width:2;opacity:.8}
.dart-grip{fill:none;stroke:var(--ink);stroke-width:2.5;opacity:.8}
.scroll-shot-hint{display:flex;align-items:center;gap:10px;color:var(--fg);font-size:11px;font-weight:700;margin-top:18px;letter-spacing:.015em;pointer-events:none;width:max-content;max-width:100%;padding:5px 12px 5px 7px;border:1px solid var(--border);border-radius:99px;background:color-mix(in srgb,var(--bg) 90%,transparent)}
.scroll-shot-hint span{display:grid;place-items:center;width:21px;height:27px;border:1px solid var(--border);border-radius:20px;color:var(--second)}
.hero-explore{display:none!important}
.follow-booking{position:fixed;inset:0 0 auto;z-index:65;background:color-mix(in srgb,var(--bg) 94%,transparent);border-bottom:1px solid var(--border);backdrop-filter:blur(18px);box-shadow:0 5px 24px color-mix(in srgb,var(--black) 10%,transparent)}
.follow-booking[hidden]{display:none}
.follow-booking-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px}
.follow-label{display:flex;flex-direction:column;line-height:1.3;gap:3px}
.follow-label strong{font-family:var(--font-display);font-weight:900;font-size:19px;letter-spacing:-.035em;word-spacing:.06em}
.follow-label small{font-size:10px;color:var(--muted)}
.follow-booking .button{min-height:42px;font-size:15px;padding:9px 21px;gap:13px;white-space:nowrap}
.follow-booking .button svg{width:18px;height:18px}
html.has-follow-booking{scroll-padding-top:88px}
.social-item{padding-top:15px;overflow:hidden}
.feature-art{display:block;width:94px;max-width:112%;height:94px;object-fit:contain;margin:0 auto 14px;filter:drop-shadow(0 6px 7px color-mix(in srgb,var(--black) 20%,transparent));transition:transform .35s var(--ease)}
.social-item:hover .feature-art{transform:translateY(-5px) rotate(-5deg)}
.social-item:nth-child(2):hover .feature-art{transform:translateY(-5px) rotate(4deg)}
.score-demo,.score-demo.visible{transform:none}
.demo-board{transform:none}
.score-demo-header{letter-spacing:.1em;font-size:10px}
.demo-caption{font-size:12px;line-height:1.45}
.demo-board-wrap{margin-top:19px;margin-bottom:14px}
.demo-dart{fill:none;stroke:none}
.score-demo.hit .demo-dart{animation:mini-dart-in .5s var(--ease) forwards}
.score-demo.hit .score-pop{animation:score-pop 2s .25s var(--ease) both}
.score-demo[data-bullseye=false] .target-ripple{display:none}
.score-demo[data-bullseye=false] .score-pop{color:var(--fg)}
.demo-score-counts{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);padding:10px 0 13px;border-top:1px solid var(--border)}
.demo-score-counts b{color:var(--fg);font-variant-numeric:tabular-nums}
.timing-game{padding:14px 0 0;border-top:1px solid var(--border)}
.timing-labels{display:flex;align-items:center;justify-content:space-between;font-size:9px;font-weight:800;letter-spacing:.06em;color:var(--muted);margin-bottom:12px}
.timing-labels strong{color:var(--second);font-size:10px;letter-spacing:.06em}
.timing-track{height:18px;position:relative;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 23%,var(--bg)),var(--soft) 40%,var(--soft) 60%,color-mix(in srgb,var(--accent) 23%,var(--bg)));border:1px solid var(--border);border-radius:99px;margin:0 7px;isolation:isolate}
.timing-track:after{content:'';position:absolute;left:50%;top:-4px;width:1px;height:24px;background:var(--fg);opacity:.25;z-index:-1}
.timing-zone{position:absolute;left:46%;width:8%;inset-block:-3px;border:1px solid var(--gold);border-radius:3px;background:var(--gold);box-shadow:0 0 15px color-mix(in srgb,var(--gold) 30%,transparent)}
.timing-needle{position:absolute;top:-8px;left:0;width:4px;height:32px;border-radius:2px;background:var(--fg);box-shadow:0 0 0 2px var(--bg);transform:translateX(-50%);will-change:left}
.timing-needle:before{content:'';position:absolute;top:-4px;left:-3px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--fg)}
.timing-hint{font-size:11px;text-align:center;line-height:1.5;min-height:35px;margin:14px 0 12px;color:var(--muted)}
.demo-throw{min-height:48px;color:var(--ink);background:var(--second);border-color:transparent;position:relative}
.demo-throw:hover{filter:brightness(1.08)}
.demo-throw:disabled{opacity:.65}
.score-demo[data-phase=aiming] .demo-throw{background:var(--accent);color:var(--ink);box-shadow:0 0 20px color-mix(in srgb,var(--accent) 23%,transparent)}
.score-demo[data-phase=aiming] .timing-track{border-color:var(--accent)}
.score-demo.hit{transform:none}
html[data-design=neon] .demo-throw{background:var(--gold)}
@keyframes mini-dart-in{from{opacity:0;transform:translate(-130px,-40px) scale(1.2)}to{opacity:1;transform:translate(0,0) scale(1)}}
@media(min-width:600px){.feature-art{width:140px;height:140px}.social-item{padding-top:24px}.follow-label strong{font-size:23px}.follow-label small{font-size:12px}.follow-booking .button{font-size:17px;min-height:46px;padding-inline:28px}.follow-booking-inner{min-height:74px}.demo-caption{font-size:14px}}
@media(min-width:900px){.feature-art{width:170px;height:170px;margin-bottom:22px}.social-item{padding-top:25px}.scroll-shot-hint{font-size:12px;margin-top:25px}.score-demo{padding:25px}.demo-board-wrap{width:77%;max-width:310px}.dartsee-layout{grid-template-columns:1.1fr .9fr;gap:8%}.timing-labels{font-size:10px}.timing-hint{font-size:12px}.follow-booking-inner{min-height:76px}}
@media(max-width:359px){.feature-art{width:78px;height:78px}.social-item{padding-top:12px}.follow-label strong{font-size:17px}.follow-label small{font-size:9px}.follow-booking .button{padding-inline:15px;min-height:40px;font-size:14px;gap:8px}.follow-booking-inner{min-height:62px;gap:10px}.demo-caption{font-size:11px}}
html[data-motion=paused] .hero-impact{display:none}
html[data-motion=paused] .score-demo.hit .demo-dart{animation:none;opacity:1}
@media(prefers-reduced-motion:reduce){.hero-impact{display:none}.hero-dart-anchor{will-change:auto}.score-demo.hit .demo-dart{opacity:1;animation:none}}
