:root{--ac:#3DF2C6}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:#0B0D12}
[hidden],.vq-show-sm[hidden]{display:none !important}
.vq-root{min-height:100vh}
a{color:#F2F4F8;text-decoration:none}a:hover{color:var(--ac)}
html{scroll-behavior:smooth}
::selection{background:var(--ac);color:#0B0D12}

@keyframes vq-draw{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@keyframes vq-pop{0%{transform:scale(0)}60%{transform:scale(1.5)}80%{transform:scale(.9)}100%{transform:scale(1)}}
@keyframes vq-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
@keyframes vq-spin{to{transform:rotate(360deg)}}
@keyframes vq-spin-rev{to{transform:rotate(-360deg)}}
@keyframes vq-rise{from{opacity:0;transform:translateY(40%)}to{opacity:1;transform:none}}
@keyframes vq-fade{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes vq-ghost-in{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}
@keyframes vq-marquee{to{transform:translateX(-50%)}}
@keyframes vq-ping{0%{transform:scale(.6);opacity:.9}100%{transform:scale(2.6);opacity:0}}
@keyframes vq-ring{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.5);opacity:0}}
@keyframes vq-land{0%{transform:scale(3);opacity:0}40%{opacity:1}70%{transform:scale(1);opacity:1}100%{transform:scale(1);opacity:0}}
@keyframes vq-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes vq-in{0%{opacity:0;transform:translateY(56px) scale(.98)}55%{opacity:1}100%{opacity:1;transform:none}}
@keyframes vq-dial{0%,6%{transform:rotate(0)}10%,22%{transform:rotate(-30deg)}26%,38%{transform:rotate(-60deg)}42%,54%{transform:rotate(-90deg)}58%,70%{transform:rotate(-120deg)}74%,86%{transform:rotate(-150deg)}90%,100%{transform:rotate(-180deg)}}

.vq-draw{animation:vq-draw 1.8s cubic-bezier(.6,0,.2,1) both}
.vq-pop{transform-box:fill-box;transform-origin:center;animation:vq-pop .8s 1.8s cubic-bezier(.3,1.6,.5,1) both}
.vq-in-l{display:inline-block;animation:vq-rise 1s cubic-bezier(.2,.9,.2,1) both}
.vq-l{display:inline-block;transition:transform .7s cubic-bezier(.2,1.5,.35,1),font-weight .5s ease,color .4s ease}
.vq-fade{animation:vq-fade .9s cubic-bezier(.2,.9,.2,1) both}
.vq-ghost-logo{animation:vq-ghost-in 2.4s .2s cubic-bezier(.2,.9,.2,1) both}
.vq-ghost-breathe{transform-origin:center;animation:vq-breathe 9s 2.6s ease-in-out infinite}
.vq-spin{animation:vq-spin 60s linear infinite}
.vq-spin-mid{animation:vq-spin 16s linear infinite}
.vq-marquee{animation:vq-marquee 32s linear infinite}
.vq-ping{transform-box:fill-box;transform-origin:center;animation:vq-ping 2.2s ease-out infinite}
.vq-ring{transform-box:fill-box;transform-origin:center;animation:vq-ring 1.8s ease-out infinite}
.vq-land{transform-box:fill-box;transform-origin:center;animation:vq-land 3.4s cubic-bezier(.3,1.3,.5,1) infinite}
.vq-dial{animation:vq-dial 9s cubic-bezier(.3,1.5,.5,1) infinite}
.vq-line{transform-origin:left center;animation:vq-grow 2.4s .3s cubic-bezier(.6,0,.2,1) both}
.vq-wheel{transition:transform .8s cubic-bezier(.25,1.6,.45,1)}
.vq-icon{transform-box:fill-box;transform-origin:center;transition:transform .8s cubic-bezier(.25,1.6,.45,1)}
.vq-par{transition:transform 1.4s cubic-bezier(.2,1.2,.3,1)}

.vq-card{background:#11141B;border:1px solid #1E232D;border-radius:28px;transition:transform .7s cubic-bezier(.2,1.6,.4,1),border-color .4s ease,background .4s ease}
.vq-card:hover{transform:translateY(-8px);border-color:color-mix(in oklab,var(--ac) 55%,#1E232D);background:#131721}
.vq-btn{transition:transform .6s cubic-bezier(.2,1.8,.4,1),box-shadow .4s ease}
.vq-btn:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 14px 40px -12px color-mix(in oklab,var(--ac) 70%,transparent)}
.vq-btn:active{transform:scale(.97)}
.vq-btn-arrow{transition:transform .6s cubic-bezier(.2,1.8,.4,1)}
.vq-btn:hover .vq-btn-arrow{transform:translateX(5px)}
.vq-ghost{transition:border-color .3s ease,transform .6s cubic-bezier(.2,1.8,.4,1)}
.vq-ghost:hover{border-color:var(--ac);transform:translateY(-3px)}
.vq-nav a{position:relative}
.vq-nav a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--ac);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.2,1.4,.4,1)}
.vq-nav a:hover::after{transform:scaleX(1)}
.vq-input:focus{outline:none;border-color:var(--ac)}
.vq-btn:focus-visible,.vq-ghost:focus-visible,.vq-nav a:focus-visible{outline:2px solid var(--ac);outline-offset:4px}

@supports (animation-timeline: view()){
.vq-rv{animation:vq-in linear both;animation-timeline:view();animation-range:entry 0% entry 200px}
.vq-line{animation:vq-grow linear both;animation-timeline:view();animation-range:entry 20% cover 55%}
}
@keyframes vq-wave{0%,24%,100%{transform:translateY(0);color:#F2F4F8}8%{transform:translateY(-0.12em);color:var(--ac)}16%{transform:translateY(0);color:#F2F4F8}}
@keyframes vq-menu{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
.vq-menu{animation:vq-menu .45s cubic-bezier(.2,1.3,.4,1) both}
.vq-show-sm{display:none !important}
.vq-touch-only{display:none}
@media (max-width:760px){.vq-hide-sm{display:none !important}.vq-show-sm{display:inline-flex !important}}
@media (hover:none){.vq-l{animation:vq-wave 4.5s ease-in-out infinite}.vq-hover-only{display:none}.vq-touch-only{display:inline}}
@media (prefers-reduced-motion: reduce){
*,*::before,*::after{animation:none !important;transition:none !important}
}

/* Språkväljare */
.vq-lang{display:flex;align-items:center;gap:4px;padding:4px;border:1px solid #2A303C;border-radius:999px;font-family:'JetBrains Mono',monospace;font-size:13px;letter-spacing:.1em}
.vq-lang-opt{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:36px;padding:0 12px;border-radius:999px;color:#9AA3B2;transition:background .3s ease,color .3s ease}
.vq-lang-opt:hover{color:#F2F4F8}
.vq-lang-opt[aria-current="page"],.vq-lang-opt[aria-current="page"]:hover{background:var(--ac);color:#0B0D12}
.vq-lang-opt:focus-visible{outline:2px solid var(--ac);outline-offset:2px}
.vq-lang-mobile{margin-top:8px;border-radius:18px;font-size:14px;letter-spacing:.04em}
.vq-lang-mobile .vq-lang-opt{flex:1;min-height:44px}
