.skip-link[data-v-c8ef788b]{color:color-mix(in srgb, var(--color-ink) 40%, transparent);text-underline-offset:2px;margin-bottom:.75rem;font-size:.72rem;text-decoration:underline}.skip-link[data-v-c8ef788b]:hover{color:var(--color-taupe)}.eyebrow[data-v-c8ef788b]{font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--color-taupe);min-height:1.2em;margin:0 0 1rem;font-size:.75rem;font-weight:500;animation:.4s fade-swap-c8ef788b}@keyframes fade-swap-c8ef788b{0%{opacity:0;transform:translateY(-.25rem)}to{opacity:1;transform:translateY(0)}}.stage[data-v-c8ef788b]{flex-direction:column;align-items:center;width:100%;display:flex;position:relative}.ambient-blob[data-v-c8ef788b]{filter:blur(2.5rem);opacity:.35;pointer-events:none;z-index:0;border-radius:50%;position:absolute}.ambient-blob--a[data-v-c8ef788b]{background:#a78379;width:12rem;height:12rem;top:-2rem;left:-3rem}.ambient-blob--b[data-v-c8ef788b]{background:#74665e;width:10rem;height:10rem;bottom:-1rem;right:-3rem}.frame[data-v-c8ef788b]{z-index:1;aspect-ratio:9/17;background:#f7f2eb;border:6px solid #fff;border-radius:1.75rem;width:15rem;transition:transform .5s;animation:.8s cubic-bezier(.16,1,.3,1) both frame-enter-c8ef788b;position:relative;overflow:hidden;box-shadow:0 1px #00000008,0 30px 60px -25px #2f2a2573}@keyframes frame-enter-c8ef788b{0%{opacity:0;transform:translateY(1.5rem)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}.frame--scanning[data-v-c8ef788b]{animation:1.1s ease-in-out infinite subtle-pulse-c8ef788b}@keyframes subtle-pulse-c8ef788b{0%,to{transform:scale(1)}50%{transform:scale(1.015)}}.viewfinder[data-v-c8ef788b]{z-index:2;filter:drop-shadow(0 1px 3px #00000059);opacity:0;pointer-events:none;border:2px solid #ffffffeb;width:1.4rem;height:1.4rem;animation:.4s forwards viewfinder-in-c8ef788b;position:absolute}.viewfinder--tl[data-v-c8ef788b]{border-bottom:none;border-right:none;border-top-left-radius:.4rem;animation-delay:50ms;top:.9rem;left:.9rem}.viewfinder--tr[data-v-c8ef788b]{border-bottom:none;border-left:none;border-top-right-radius:.4rem;animation-delay:.15s;top:.9rem;right:.9rem}.viewfinder--bl[data-v-c8ef788b]{border-top:none;border-right:none;border-bottom-left-radius:.4rem;animation-delay:.15s;bottom:.9rem;left:.9rem}.viewfinder--br[data-v-c8ef788b]{border-top:none;border-left:none;border-bottom-right-radius:.4rem;animation-delay:.25s;bottom:.9rem;right:.9rem}@keyframes viewfinder-in-c8ef788b{0%{opacity:0;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.reveal-glow[data-v-c8ef788b]{z-index:0;background:radial-gradient(circle, color-mix(in srgb, var(--color-taupe) 45%, transparent) 0%, transparent 70%);opacity:0;pointer-events:none;border-radius:50%;width:22rem;height:22rem;animation:1.3s ease-out forwards glow-pulse-c8ef788b;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.7)}@keyframes glow-pulse-c8ef788b{0%{opacity:0;transform:translate(-50%,-50%)scale(.7)}35%{opacity:.6}to{opacity:0;transform:translate(-50%,-50%)scale(1.15)}}.frame-img[data-v-c8ef788b]{object-fit:cover;opacity:1;width:100%;height:100%;transition:opacity .8s;position:absolute;inset:0}.frame-img--out[data-v-c8ef788b]{opacity:0}.frame-img--result[data-v-c8ef788b]{opacity:1;clip-path:inset(0 0 100%);transition:clip-path 1.1s cubic-bezier(.65,0,.35,1)}.frame-img--result.frame-img--in[data-v-c8ef788b]{clip-path:inset(0 0 0%)}.frame-shine[data-v-c8ef788b]{pointer-events:none;background:linear-gradient(115deg,#0000 40%,#ffffff8c 50%,#0000 60%) 0 0/250% 250%;animation:1.1s shine-sweep-c8ef788b;position:absolute;inset:0}@keyframes shine-sweep-c8ef788b{0%{background-position:120% 0}to{background-position:-20% 0}}.scan-sweep[data-v-c8ef788b]{background:linear-gradient(to bottom, transparent, color-mix(in srgb, var(--color-taupe) 35%, transparent), transparent);pointer-events:none;height:30%;animation:1.1s ease-in-out infinite scan-down-c8ef788b;position:absolute;left:0;right:0}@keyframes scan-down-c8ef788b{0%{top:-30%}to{top:100%}}.palette-row[data-v-c8ef788b]{opacity:0;gap:.5rem;height:1.1rem;margin-top:1rem;transition:opacity .5s,transform .5s;display:flex;transform:translateY(-.5rem)}.palette-row--visible[data-v-c8ef788b]{opacity:1;transform:translateY(0)}.palette-dot[data-v-c8ef788b]{border-radius:50%;width:1.1rem;height:1.1rem;box-shadow:0 2px 6px -2px #00000040}.variant-row[data-v-c8ef788b]{perspective:60rem;gap:.75rem;min-height:5rem;margin-top:1.5rem;display:flex}.variant-card[data-v-c8ef788b]{opacity:0;transform-origin:bottom;flex-direction:column;align-items:center;gap:.4rem;transition:opacity .55s,transform .55s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative;transform:translateY(.75rem)scale(.92)rotateX(-55deg)}.variant-row--visible .variant-card[data-v-c8ef788b]{opacity:1;transform:translateY(0)scale(1)rotateX(0)}.variant-card--chosen[data-v-c8ef788b]{transform:scale(1.12)rotateX(0)!important}.variant-card--faded[data-v-c8ef788b]{opacity:.35!important;transform:scale(.88)rotateX(0)!important}.variant-swatch[data-v-c8ef788b]{border:1px solid #0000000f;border-radius:.85rem;width:3.25rem;height:3.25rem;position:relative;overflow:hidden;box-shadow:0 6px 16px -8px #2f2a2559}.variant-card--chosen .variant-swatch[data-v-c8ef788b]{box-shadow:0 0 0 3px var(--color-taupe), 0 8px 20px -8px #2f2a2573}.variant-swatch-accent[data-v-c8ef788b]{height:40%;position:absolute;bottom:0;left:0;right:0}.variant-check[data-v-c8ef788b]{background:var(--color-taupe);width:1.15rem;height:1.15rem;color:var(--color-cream);border-radius:50%;justify-content:center;align-items:center;font-size:.65rem;line-height:1;animation:.4s cubic-bezier(.34,1.56,.64,1) both check-pop-c8ef788b;display:flex;position:absolute;top:-.4rem;right:-.4rem;box-shadow:0 3px 8px -2px #2f2a2580}@keyframes check-pop-c8ef788b{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}.variant-label[data-v-c8ef788b]{font-family:var(--font-sans);font-size:.68rem;font-weight:500}.done-panel[data-v-c8ef788b]{text-align:center;opacity:0;pointer-events:none;margin-top:1.75rem;transition:opacity .6s,transform .6s;transform:translateY(.75rem)}.done-panel--visible[data-v-c8ef788b]{opacity:1;pointer-events:auto;transform:translateY(0)}.done-icon[data-v-c8ef788b]{background:var(--color-taupe);width:2.5rem;height:2.5rem;color:var(--color-cream);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 1rem;font-size:1.15rem;display:flex;box-shadow:0 8px 20px -8px #2f2a2580}.done-panel--visible .done-icon[data-v-c8ef788b]{animation:.5s cubic-bezier(.34,1.56,.64,1) .15s both check-pop-c8ef788b}.done-headline[data-v-c8ef788b]{font-family:var(--font-display);color:var(--color-ink);margin:0 0 .5rem;font-size:1.35rem;line-height:1.25}.done-sub[data-v-c8ef788b]{color:color-mix(in srgb, var(--color-ink) 60%, transparent);max-width:22rem;margin:0 0 1.25rem;font-size:.85rem}.done-actions[data-v-c8ef788b]{flex-direction:column;align-items:center;gap:.6rem;display:flex}.btn-primary[data-v-c8ef788b]{background:var(--color-taupe);width:100%;max-width:18rem;color:var(--color-cream);border-radius:999px;padding:.85rem 1.5rem;font-size:.92rem;font-weight:500;transition:background .2s;display:inline-block}.btn-primary[data-v-c8ef788b]:hover{background:var(--color-taupe-soft)}.btn-secondary[data-v-c8ef788b]{color:var(--color-taupe);text-underline-offset:2px;font-size:.85rem;text-decoration:underline}.replay-link[data-v-c8ef788b]{color:color-mix(in srgb, var(--color-ink) 40%, transparent);margin-top:1rem;font-size:.72rem}.replay-link[data-v-c8ef788b]:hover{color:var(--color-taupe)}@media (prefers-reduced-motion:reduce){.frame[data-v-c8ef788b],.frame--scanning[data-v-c8ef788b],.frame-shine[data-v-c8ef788b],.scan-sweep[data-v-c8ef788b],.viewfinder[data-v-c8ef788b],.reveal-glow[data-v-c8ef788b],.variant-check[data-v-c8ef788b],.done-icon[data-v-c8ef788b],.eyebrow[data-v-c8ef788b]{animation:none!important}.frame-img[data-v-c8ef788b],.palette-row[data-v-c8ef788b],.variant-card[data-v-c8ef788b],.done-panel[data-v-c8ef788b]{transition:none!important}}.no-transition[data-v-c8ef788b] *{transition:none!important;animation:none!important}.hero-ring[data-astro-cid-mferexfr]{border:1px solid color-mix(in srgb, var(--color-taupe) 18%, transparent);border-radius:50%;position:absolute}.hero-ring--a[data-astro-cid-mferexfr]{width:26rem;height:26rem;animation:26s ease-in-out infinite drift;top:-8rem;right:-10rem}.hero-ring--b[data-astro-cid-mferexfr]{border-color:color-mix(in srgb, var(--color-taupe) 12%, transparent);width:18rem;height:18rem;animation:32s ease-in-out infinite reverse drift;bottom:-10rem;left:-8rem}@keyframes drift{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(1.5rem)scale(1.04)}}@media (prefers-reduced-motion:reduce){.hero-ring[data-astro-cid-mferexfr]{animation:none}}
