:root{--v-grad-1:#0ea472;--v-grad-2:#0d9488;--v-grad-3:#065f46;--v-ink:#052e22;--v-mint:#a7f3d0;--v-shadow-lg:0 24px 60px -12px rgba(6,55,40,.28);--v-radius:18px}
.v-gradient-text{background:linear-gradient(100deg,#34d399,#0d9488 55%,#a7f3d0);-webkit-background-clip:text;background-clip:text;color:transparent}
button,.button{transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s ease}
.button:hover{transform:translateY(-2px);box-shadow:0 12px 28px -10px rgba(0,0,0,.3)}
.product-card{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease;transform-style:preserve-3d;will-change:transform;border-radius:14px}
.product-card:hover{box-shadow:var(--v-shadow-lg)}
[data-v-tilt]{transform:perspective(900px) rotateX(var(--v-rx,0deg)) rotateY(var(--v-ry,0deg)) translateY(var(--v-ty,0))}
.product-card .card-gallery img,.product-card img{transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.product-card:hover .card-gallery img{transform:scale(1.05)}
@media (prefers-reduced-motion:no-preference){
.v-reveal{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s cubic-bezier(.2,.8,.2,1)}
.v-reveal.v-in{opacity:1;transform:none}
.v-reveal-stagger>*{opacity:0;transform:translateY(16px);transition:opacity .45s ease,transform .45s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--v-i,0)*55ms)}
.v-reveal-stagger.v-in>*{opacity:1;transform:none}
}
.v-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(8px);font-size:13px;letter-spacing:.04em;text-transform:uppercase}
.v-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 30px;border-radius:999px;font-weight:600;font-size:15px;text-decoration:none;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s ease,background .25s ease;cursor:pointer}
.v-btn--primary{background:linear-gradient(120deg,var(--v-grad-1),var(--v-grad-2));color:#fff;box-shadow:0 10px 30px -8px rgba(14,164,114,.55)}
.v-btn--primary:hover{transform:translateY(-3px);box-shadow:0 18px 40px -8px rgba(14,164,114,.65);color:#fff}
.v-btn--ghost{background:rgba(255,255,255,.06);color:#fff;border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(6px)}
.v-btn--ghost:hover{transform:translateY(-3px);background:rgba(255,255,255,.14);color:#fff}
.v-logo{display:block}
.v-logo text{fill:currentColor}