/* Premium layer: glass, blur, aurora, motion. Loaded after style.css */
:root{--blue:#2f6fe4;--glass:rgba(255,255,255,.55);--glass-b:rgba(255,255,255,.75);--aur-o:.3}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--blue:#6ea0ff;--glass:rgba(23,32,68,.5);--glass-b:rgba(255,255,255,.14);--aur-o:.5}}
:root[data-theme="dark"]{--blue:#6ea0ff;--glass:rgba(23,32,68,.5);--glass-b:rgba(255,255,255,.14);--aur-o:.5}
@property --ang{syntax:"<angle>";inherits:false;initial-value:0deg}
html{background:var(--bg)}
body{background:transparent}
/* Aurora background */
.aurora{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.aurora i{position:absolute;border-radius:50%;filter:blur(90px);opacity:var(--aur-o);will-change:transform;animation:drift 24s ease-in-out infinite alternate}
.aurora i:nth-child(1){width:46vmax;height:46vmax;left:-12vmax;top:-10vmax;background:#2f6fe4}
.aurora i:nth-child(2){width:38vmax;height:38vmax;right:-10vmax;top:18vh;background:#7b5cff;animation-duration:29s}
.aurora i:nth-child(3){width:32vmax;height:32vmax;left:28vw;bottom:-16vmax;background:#f2c230;animation-duration:33s}
@keyframes drift{to{transform:translate3d(8vmax,6vmax,0) scale(1.15)}}
.progress{position:fixed;top:0;left:0;width:100%;height:3px;z-index:60;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,#2f6fe4,#7b5cff,#f2c230)}
/* Header */
header.top{background:var(--glass);backdrop-filter:blur(18px) saturate(170%);-webkit-backdrop-filter:blur(18px) saturate(170%);border:1px solid var(--glass-b);border-top:0;border-radius:0 0 18px 18px}
nav a:not(.cta-nav){position:relative}
nav a:not(.cta-nav)::after{content:"";position:absolute;left:0;right:0;bottom:-.25rem;height:2px;background:var(--tag);transform:scaleX(0);transition:transform .25s}
nav a:not(.cta-nav):hover::after{transform:scaleX(1)}
/* Hero */
.hero{padding:3.5rem 0 4.5rem}
.hero h1{font-size:clamp(2.6rem,7vw,4.8rem);line-height:1.02}
.badge{display:inline-flex;align-items:center;gap:.55rem;padding:.4rem .9rem;border-radius:999px;background:var(--glass);border:1px solid var(--glass-b);backdrop-filter:blur(10px);font-weight:600;font-size:.92rem;margin-bottom:1.2rem}
.badge::before{content:"";width:.55rem;height:.55rem;border-radius:50%;background:#2fd27a;animation:ping 2s infinite}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(47,210,122,.6)}100%{box-shadow:0 0 0 .7rem rgba(47,210,122,0)}}
.gtext{background:linear-gradient(100deg,#2f6fe4,#7b5cff,#ff7a59,#7b5cff,#2f6fe4);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 7s linear infinite}
@keyframes shine{to{background-position:200% center}}
@keyframes rise{from{opacity:0;transform:translateY(26px);filter:blur(8px)}}
.hero>div:first-child>*{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
.hero>div:first-child>:nth-child(2){animation-delay:.08s}.hero>div:first-child>:nth-child(3){animation-delay:.18s}.hero>div:first-child>:nth-child(4){animation-delay:.28s}
.hero-car{position:relative;isolation:isolate;padding:.6rem;border-radius:24px;background:var(--glass);border:1px solid var(--glass-b);backdrop-filter:blur(14px);box-shadow:0 30px 60px -30px rgba(20,40,120,.55);transition:transform .25s ease-out}
.hero-car::before{content:"";position:absolute;inset:-3px;z-index:-1;border-radius:27px;background:conic-gradient(from var(--ang),#2f6fe4,#7b5cff,#f2c230,#2f6fe4);filter:blur(20px);opacity:.55;animation:spin 8s linear infinite}
@keyframes spin{to{--ang:360deg}}
.hero-car .car-track{border-radius:16px}.hero-car .slide{border-radius:16px;border:0}
.car-btn{background:rgba(255,255,255,.28);color:#fff;border:1px solid rgba(255,255,255,.55);backdrop-filter:blur(10px);box-shadow:0 6px 18px rgba(0,0,0,.25)}
.slide figcaption{backdrop-filter:blur(8px)}
/* Buttons */
.btn{position:relative;overflow:hidden}
.btn.primary{border:0;background:linear-gradient(120deg,#1b2a5c,#2f6fe4);box-shadow:0 10px 26px -10px rgba(47,111,228,.85)}
.btn.primary::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);transition:left .6s}
.btn.primary:hover::after{left:130%}
.btn.ghost{background:var(--glass);backdrop-filter:blur(10px);border-color:var(--glass-b)}
.cta-nav{box-shadow:0 8px 20px -8px rgba(242,194,48,.8)}
.wa{animation:ring 2.6s infinite}
@keyframes ring{0%{box-shadow:0 4px 14px rgba(0,0,0,.25),0 0 0 0 rgba(37,211,102,.55)}70%,100%{box-shadow:0 4px 14px rgba(0,0,0,.25),0 0 0 16px rgba(37,211,102,0)}}
/* Marquee */
.marquee{overflow:hidden;margin:0 -1.25rem;background:var(--glass);border-block:1px solid var(--glass-b);backdrop-filter:blur(12px);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mq{display:flex;gap:3rem;width:max-content;padding:1rem 0;animation:mq 34s linear infinite}
.mq span{font:700 1rem "Familjen Grotesk",system-ui,sans-serif;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.mq span::before{content:"\2726";color:var(--tag);margin-right:3rem}
.marquee:hover .mq{animation-play-state:paused}
@keyframes mq{to{transform:translateX(-50%)}}
/* Sections and glass cards */
section{border-top:0;padding:4.5rem 0}
section h2::after{content:"";display:block;width:3.4rem;height:4px;margin-top:.7rem;border-radius:4px;background:linear-gradient(90deg,var(--blue),var(--tag))}
.items{grid-template-columns:repeat(3,1fr);gap:1.2rem}
@media(max-width:900px){.items{grid-template-columns:1fr}}
.items>div,.types>div,.steps li,.contact form,.info,.vshot,.vnote,.chip,.stat{background:var(--glass);border:1px solid var(--glass-b);border-radius:18px;backdrop-filter:blur(14px) saturate(150%);-webkit-backdrop-filter:blur(14px) saturate(150%);box-shadow:0 14px 34px -18px rgba(20,40,120,.4);transition:transform .25s,box-shadow .25s,border-color .25s,opacity .7s,filter .7s}
.items>div{padding:1.5rem;display:flex;flex-direction:column;align-items:flex-start}
.items p{margin-bottom:.2rem}
.types>div{box-shadow:inset 0 3px 0 var(--tag),0 14px 34px -18px rgba(20,40,120,.4)}
.contact form,.info{padding:1.6rem}
.steps li::before{background:linear-gradient(135deg,var(--tag),#ff9d3d)}
.items>div:hover,.types>div:hover,.steps li:hover{transform:translateY(-6px);border-color:var(--blue);box-shadow:0 22px 44px -18px rgba(47,111,228,.55)}
.shot,.slide{border-radius:18px;border-color:var(--glass-b)}
#g-certs .shot{background:#fff}
input,select,textarea{background:var(--glass);backdrop-filter:blur(8px);border-color:var(--glass-b);transition:box-shadow .2s,border-color .2s}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 4px rgba(47,111,228,.22)}
.cta-box{background:linear-gradient(120deg,#1b2a5c,#2f6fe4 70%,#7b5cff);border:0;border-radius:22px;box-shadow:0 24px 50px -24px rgba(47,111,228,.8)}
.chip.on{background:linear-gradient(120deg,#1b2a5c,#2f6fe4);border-color:transparent}
footer{border-top:0;background:linear-gradient(180deg,transparent,rgba(27,42,92,.14))}
/* Cursor spotlight */
.spot{position:relative}
.spot::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(300px circle at var(--mx,50%) var(--my,50%),rgba(130,165,255,.28),transparent 60%)}
.spot:hover::after{opacity:1}
/* Staggered blur-in reveal */
.js .pop{opacity:0;transform:translateY(24px) scale(.97);filter:blur(7px);transition-delay:var(--d,0ms)}
.js .pop.in{opacity:1;transform:none;filter:none}
.js .pop.in:hover{transition-delay:0ms}
@media(max-width:560px){.aurora i{filter:blur(60px)}.hero-car{transform:none!important}}
@media(prefers-reduced-motion:reduce){.aurora i,.gtext,.hero-car::before,.mq,.wa,.badge::before,.hero>div:first-child>*{animation:none!important}.js .pop{opacity:1;transform:none;filter:none;transition:none}}

/* About page */
.two-col{display:grid;grid-template-columns:1.2fr .8fr;gap:2.5rem;align-items:start}
@media(max-width:820px){.two-col{grid-template-columns:1fr}}
.prose p{margin:0 0 1rem;color:var(--muted);max-width:40rem}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.stat{padding:1.3rem}
.stat b{display:block;font:700 2.6rem/1 "Familjen Grotesk",system-ui,sans-serif;margin-bottom:.4rem;background:linear-gradient(100deg,var(--blue),#7b5cff);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat span{color:var(--muted);font-size:.98rem}
.certrow{display:flex;gap:1.5rem;flex-wrap:wrap;align-items:center}
.certrow img{height:120px;width:auto;background:#fff;border-radius:16px;padding:.6rem;border:1px solid var(--glass-b);box-shadow:0 14px 34px -18px rgba(20,40,120,.4)}
.cta-box .btns{display:flex;gap:.7rem;flex-wrap:wrap}
.cta-box .btn.alt{background:transparent;color:var(--on-indigo);border-color:rgba(255,255,255,.6)}
.page .badge{margin-top:.8rem}
footer a{font-weight:600}
