.hero{z-index:0;background:var(--paper);height:100vh;min-height:48.75rem;position:sticky;top:0}.hero:has(.hero-inner[data-mode=scan]){min-height:52rem}.hero .hero-inner{transform-origin:50% 0;background:radial-gradient(68.75rem 28.75rem at 72% -5%, #5b6fb029 0%, #5b6fb000 70%), radial-gradient(56.25rem 25rem at 10% 100%, #1b22360f 0%, #1b223600 70%), var(--paper-2);color:var(--ink);position:absolute;inset:0;overflow:hidden}.hero .hero-veil{pointer-events:none;background:radial-gradient(51.25rem 32.5rem at 50% 62%,#fffffff2 0%,#ffffffb3 55%,#fff0 100%);position:absolute;inset:0}.hero .hero-content{left:var(--pad-x);right:var(--pad-x);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.375rem;display:flex;position:absolute;top:4.5rem;bottom:5.25rem}.hero .hero-title{text-wrap:balance;max-width:61.25rem;padding-bottom:.375rem}.hero .hero-lead{max-width:38.75rem;color:var(--ink-72);margin:-.25rem 0 .5rem;font-size:1rem;line-height:1.6}.hero .scan{width:100%;max-width:36.25rem;margin:0;position:relative}.hero .scan .turnstile{z-index:3;margin-top:.625rem;position:absolute;top:100%;left:0;right:0}.hero .scan-error{text-align:center;color:var(--peri-900);margin-top:.625rem;font-size:.8125rem;display:block}.hero .scan-note{text-align:center;color:var(--ink-65);margin-top:.75rem;font-size:.8125rem;display:block}.hero .hero-content>:not(.scan-screen){transition:opacity .35s ease, transform .5s var(--ease-out)}.hero .hero-rating,.hero .hero-hint{transition:opacity .35s}.hero .hero-inner[data-mode=scan] .hero-content{top:5.5rem;bottom:2rem}.hero .hero-inner[data-mode=scan] .hero-content>:not(.scan-screen){opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s ease, transform .5s var(--ease-out), visibility 0s linear .5s;transform:translateY(-1.5rem)scale(.98)}.hero .hero-inner[data-mode=scan] .hero-rating,.hero .hero-inner[data-mode=scan] .hero-hint{opacity:0;visibility:hidden;transition:opacity .35s,visibility 0s linear .35s}.hero .scan-screen{animation:scan-screen-in .6s var(--ease-out) .2s both;flex-direction:column;justify-content:center;align-items:center;gap:2.5rem;display:flex;position:absolute;inset:0}.hero .scan-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.75rem;width:100%;max-width:65rem;margin:0;padding:0;list-style:none;display:grid}.hero .scan-cell{text-align:left;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:1rem;min-height:6.25rem;padding:1rem;transition:opacity .4s;display:flex}.hero .scan-cell[data-state=wait]{opacity:.6}.hero .scan-cell[data-state=skipped]{opacity:.75}.hero .scan-cell-mark{font-variant-numeric:tabular-nums;border-radius:50%;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;font-size:.8125rem;display:flex;position:relative}.hero .scan-cell-mark svg{width:.875rem;height:.875rem}[data-state=wait]>:is(.hero .scan-cell-mark){border:1px solid #5b6fb02e;border-top-color:var(--peri-600);animation:.9s linear infinite scan-turn}[data-state=clean]>:is(.hero .scan-cell-mark){background:linear-gradient(135deg, var(--peri-100), #c7d0ee);color:var(--peri-900);animation:.45s cubic-bezier(.34,1.56,.64,1) both scan-mark-in}[data-state=skipped]>:is(.hero .scan-cell-mark){border:1px dashed var(--line-2);color:var(--ink-60)}[data-state=found]>:is(.hero .scan-cell-mark){background:var(--ink);color:var(--paper);animation:.45s cubic-bezier(.34,1.56,.64,1) both scan-mark-in}.hero .scan-cell-label{color:var(--ink);font-size:.875rem;line-height:1.3}.hero .scan-cancel{color:var(--ink-60);text-underline-offset:.1875rem;background:0 0;border:0;padding:.25rem .5rem;font-size:.8125rem;text-decoration:underline}@media (hover:hover){.hero .scan-cancel:hover{color:var(--ink)}}.hero .scan-actions{justify-content:center;gap:.5rem;margin-top:-.5rem;display:flex}.hero .scan-actions .btn{height:3rem;padding:0 1.25rem}.hero .scan-full{height:3rem;padding:0 1.25rem}.hero .hero-defs{position:absolute}.hero .hero-rating{z-index:2;align-items:center;gap:1rem;display:flex;position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%)}.hero .hero-raters{display:flex}.hero .hero-rater{animation:hero-slide .7s var(--ease-pop) .8s both;display:block;position:relative}.hero .hero-rater+.hero-rater{margin-left:-.75rem}.hero .hero-rater:nth-child(2){--from:-1.75rem}.hero .hero-rater:nth-child(3){--from:-3.5rem}.hero .hero-rater-face{border-radius:50%;width:2.5rem;height:2.5rem;animation:.55s cubic-bezier(.34,1.56,.64,1) both hero-pop;display:block;overflow:hidden;box-shadow:0 0 0 .1875rem #fff}.hero .hero-rater-face img{object-fit:cover;width:100%;height:100%}.hero .hero-rater:first-child .hero-rater-face{animation-delay:.35s}.hero .hero-rater:nth-child(2) .hero-rater-face{animation-delay:.43s}.hero .hero-rater:nth-child(3) .hero-rater-face{animation-delay:.51s}.hero .hero-rating-text{flex-direction:column;align-items:flex-start;gap:.25rem;display:flex}.hero .hero-stars{gap:.125rem;display:flex}.hero .hero-star{width:1rem;height:1rem;animation:.45s cubic-bezier(.34,1.56,.64,1) both hero-star}.hero .hero-star:first-child{animation-delay:1.4s}.hero .hero-star:nth-child(2){animation-delay:1.49s}.hero .hero-star:nth-child(3){animation-delay:1.58s}.hero .hero-star:nth-child(4){animation-delay:1.67s}.hero .hero-star:nth-child(5){animation-delay:1.76s}.hero .hero-trust{color:var(--ink);animation:hero-trust .7s var(--ease-out) 1.95s both;font-size:.875rem}.hero .hero-hint{left:var(--pad-x);color:var(--ink-70);white-space:nowrap;align-items:center;gap:.5rem;font-size:.8125rem;display:flex;position:absolute;bottom:2.25rem}.hero .hero-hint svg{width:1rem;height:1rem;translate:0 -.05rem}@keyframes scan-screen-in{0%{opacity:0;transform:translateY(1.5rem)}}@keyframes scan-turn{to{transform:rotate(1turn)}}@keyframes scan-mark-in{0%{opacity:0;transform:scale(.4)}}@keyframes hero-pop{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes hero-slide{0%{transform:translateX(var(--from,0))}to{transform:none}}@keyframes hero-star{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:none}}@keyframes hero-trust{0%{opacity:0;filter:blur(.375rem);transform:translateY(.625rem)}to{opacity:1;filter:none;transform:none}}@media (width<=1023px){.hero{flex-direction:column;height:auto;min-height:0;max-height:none;padding:7rem 1.25rem 2.5rem;display:flex;position:relative}.hero:has(.hero-inner[data-mode=scan]){min-height:48.75rem}.hero{background:radial-gradient(26.25rem 20rem at 50% 30%, #7c8ce024 0%, #7c8ce000 70%), var(--paper);overflow:hidden}.hero .hero-inner{background:0 0;flex-direction:column;flex:1;align-items:center;display:flex;position:static;overflow:visible}.hero .hero-dots{display:none}.hero .hero-dots-static{background-image:radial-gradient(#2e3a5e3d .04375rem,#0000 1px);background-size:.3125rem .3125rem;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000000e6 0%,#00000026 45% 75%,#000000b3 100%);mask-image:linear-gradient(#000000e6 0%,#00000026 45% 75%,#000000b3 100%)}.hero .hero-veil{background:radial-gradient(16.25rem 18.75rem at 50% 46%,#fffffff2 0%,#fff0 100%)}.hero .hero-content{gap:1.125rem;width:100%;max-width:32.5rem;position:relative;inset:auto}.hero .hero-title{padding-bottom:.25rem;font-size:2.75rem}.hero .hero-lead{margin:0;font-size:.9375rem;line-height:1.55}.hero .scan{margin-top:.375rem}.hero .scan-note{color:var(--ink-62);margin-top:1.125rem;font-size:.75rem}.hero .hero-inner[data-mode=scan] .hero-content{flex:1;justify-content:center;inset:auto}.hero .hero-inner[data-mode=scan] .hero-content>:not(.scan-screen),.hero .hero-inner[data-mode=scan] .hero-rating{display:none}.hero .scan-screen{gap:1.75rem;position:static}.hero .scan-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.hero .scan-cell{flex-direction:row;justify-content:flex-start;align-items:center;gap:.625rem;min-height:0;padding:.75rem}.hero .scan-cell-mark{flex-shrink:0}.hero .scan-cell-label{font-size:.8125rem}.hero .scan-actions{flex-direction:column;width:100%}.hero .scan-actions .btn{width:100%}.hero .hero-rating{gap:.875rem;margin-top:0;padding-top:2rem;position:relative;bottom:auto;left:auto;transform:none}.hero .hero-rater+.hero-rater{margin-left:-.625rem}.hero .hero-rater-face{width:2.25rem;height:2.25rem}.hero .hero-rating-text{gap:.1875rem}.hero .hero-star{width:.8125rem;height:.8125rem}.hero .hero-trust{font-size:.8125rem}}