@font-face{font-family:'Archivo';font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(/fonts/archivo-var.woff2) format('woff2')}
:root{--bg:#f4f4f4;--paper:#fff;--ink:#0e0b2b;--blue:#1f00ff;--blue2:#4a33ff;--line:rgba(31,0,255,.22);--hair:rgba(14,11,43,.14);--grad:linear-gradient(95deg,#b15af8 0%,#ff8951 100%);--warn:#b3261e;
 --w:1240px;--r:4px;--disp:'Archivo',system-ui,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 'Archivo',system-ui,sans-serif;font-stretch:100%;
 background-image:linear-gradient(rgba(31,0,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(31,0,255,.055) 1px,transparent 1px);background-size:56px 56px;background-position:-1px -1px}
img{max-width:100%;height:auto;display:block}
a{color:var(--blue);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.wrap{max-width:var(--w);margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-9999px;top:8px;background:var(--blue);color:#fff;padding:10px 14px;z-index:99}.skip:focus{left:8px}
h1,h2,h3{font-family:var(--disp);line-height:1.02;margin:0 0 .5em;letter-spacing:-.01em}
.display{font-size:clamp(3.1rem,11.5vw,9.6rem);font-weight:850;font-stretch:68%;text-transform:uppercase;line-height:.88;color:var(--blue);letter-spacing:-.015em;margin:.1em 0 .35em}
.display.sm{font-size:clamp(2.6rem,8.2vw,6.6rem)}
.display em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.h2{font-size:clamp(2rem,5.4vw,3.9rem);font-weight:850;font-stretch:70%;text-transform:uppercase;color:var(--blue);line-height:.95}
.h3{font-size:1.5rem;font-weight:800;font-stretch:75%;text-transform:uppercase;color:var(--blue)}
.kicker,.lbl,dt{font:700 .8rem/1.2 'Archivo',sans-serif;font-stretch:100%;letter-spacing:.09em;text-transform:uppercase;color:var(--blue)}
.lead{font-size:clamp(1.12rem,2.1vw,1.32rem);line-height:1.5;max-width:40em}
p{margin:0 0 1em}

/* Kopf */
.top{position:sticky;top:0;z-index:40;background:rgba(244,244,244,.92);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--line)}
.topin{display:flex;align-items:center;gap:20px;height:68px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font:800 1.32rem/1 var(--disp);font-stretch:72%;text-transform:uppercase;letter-spacing:.01em}
.brand img{width:44px;height:44px}.brand b{color:var(--blue)}
.quick{display:none;margin-left:auto;gap:22px}
.quick a{color:var(--ink);text-decoration:none;font-weight:600;font-size:.98rem}.quick a:hover,.quick a[aria-current]{color:var(--blue)}
.menubtn{margin-left:auto;display:flex;align-items:center;gap:10px;background:var(--blue);color:#fff;border:0;border-radius:var(--r);height:44px;padding:0 16px;font:700 .95rem 'Archivo',sans-serif;text-transform:uppercase;letter-spacing:.06em;cursor:pointer}
.menubtn i{width:18px;height:10px;position:relative;transition:transform .3s}
.menubtn i::before,.menubtn i::after{content:"";position:absolute;left:0;right:0;border-top:2px solid #fff;transition:transform .3s,top .3s}
.menubtn i::before{top:0}.menubtn i::after{top:8px}
.menubtn[aria-expanded=true] i::before{top:4px;transform:rotate(45deg)}.menubtn[aria-expanded=true] i::after{top:4px;transform:rotate(-45deg)}
@media(min-width:1000px){.quick{display:flex}.menubtn{margin-left:8px}}
.menu{position:fixed;inset:68px 0 0;z-index:39;background:var(--blue);color:#fff;overflow:auto;padding:28px 20px 40px}
.menu[hidden]{display:none}
.menu ol{list-style:none;margin:0 auto;padding:0;max-width:var(--w)}
.menu li{border-bottom:1px solid rgba(255,255,255,.28)}
.menu li a{display:flex;align-items:baseline;gap:18px;color:#fff;text-decoration:none;font:850 clamp(2rem,6.5vw,4.4rem)/1.08 var(--disp);font-stretch:68%;text-transform:uppercase;padding:10px 0}
.menu li a span{font:700 .9rem 'Archivo';font-stretch:100%;letter-spacing:.08em;opacity:.8;min-width:2.2em}
.menu li a:hover,.menu li a[aria-current]{color:#ffd2bd}
.menufoot{max-width:var(--w);margin:26px auto 0;display:flex;flex-wrap:wrap;gap:22px}.menufoot a{color:#fff;font-weight:600}
body.menu-open{overflow:hidden}
.crumbs{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:16px 0 0;margin:0;font-size:.92rem}
.crumbs li+li::before{content:"/";margin-right:6px;color:var(--blue)}
.crumbs a{color:var(--ink)}

/* Hero */
.hero{padding:34px 0 30px}
.herogrid{display:grid;gap:28px;align-items:start}
@media(min-width:900px){.herogrid{grid-template-columns:1.25fr 1fr;gap:48px}}
.toppick{background:var(--paper);border:1px solid var(--blue);border-radius:var(--r);padding:22px;position:relative}
.toppick .tp{display:flex;gap:14px;align-items:center;margin:12px 0 4px}
.toppick h2{font-size:1.7rem;font-weight:850;font-stretch:72%;text-transform:uppercase;margin:0;color:var(--ink)}
.toppick .tp p{margin:2px 0 0;font-size:.98rem}
.huge{font:900 clamp(4.2rem,15vw,7.6rem)/.86 var(--disp);font-stretch:62%;color:var(--blue);margin:16px 0 4px;letter-spacing:-.02em}
.hugecap{font-weight:700;font-size:1.06rem;margin:0 0 14px}
.toppick .lt{margin-bottom:6px}
.fine{font-size:.9rem;margin:10px 0 0}

/* Kennzahlen-Zeilen */
.kf{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));margin:16px 0;border-top:1px solid var(--hair)}
.kf>div{padding:10px 14px 10px 0;border-bottom:1px solid var(--hair)}
.kf>div+div{padding-left:14px;border-left:1px solid var(--hair)}
.kf dt{margin-bottom:5px}
.kf dd{margin:0;font-weight:800;font-size:1.08rem;line-height:1.25}
.kf .hl dd{color:var(--blue);font-size:1.5rem}
.byline{max-width:520px}

/* Laufband */
.loop{overflow:hidden;background:var(--blue);color:#fff;border-block:1px solid var(--blue);padding:14px 0;margin:14px 0 0}
.looptrack{display:flex;width:max-content;animation:loop 38s linear infinite}
.looptrack span{display:flex;align-items:center}
.looptrack b{font:850 clamp(1.6rem,4vw,2.6rem)/1 var(--disp);font-stretch:66%;text-transform:uppercase;padding:0 22px;white-space:nowrap}
.looptrack i{font-style:normal;color:#ffb38f;font-size:1.3rem}
@keyframes loop{to{transform:translateX(-50%)}}

/* Abschnitte */
.sec{padding:44px 0 8px}
.sechead{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:6px 24px;margin-bottom:18px}.sechead .h2{margin:0}.sechead p{margin:0}
.notice{margin:34px 0 0;padding:18px 20px;background:var(--paper);border-left:6px solid var(--blue);border-radius:var(--r)}
.notice strong{display:block;font:850 1.25rem/1.1 var(--disp);font-stretch:75%;text-transform:uppercase;color:var(--blue);margin-bottom:6px}
.notice p{margin:0}
.notice.warn{border-left-color:var(--warn)}.notice.warn strong{color:var(--warn)}
.after{margin-top:16px}
.arrow{font-weight:700}.arrow::after{content:" →"}

/* Karten */
.cards{display:grid;gap:18px}
@media(min-width:720px){.cards{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.cards{grid-template-columns:repeat(3,1fr)}}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:20px;display:flex;flex-direction:column;transition:border-color .25s,transform .25s}
.card:hover{border-color:var(--blue);transform:translateY(-3px)}
.cardhead{display:flex;align-items:center;gap:12px}
.cn h2,.cn h3{font-size:1.5rem;font-weight:850;font-stretch:72%;text-transform:uppercase;margin:0}
.cn a{color:var(--ink);text-decoration:none}.cn a:hover{color:var(--blue)}
.cn p{margin:0;font-size:.95rem;font-weight:600;color:var(--blue)}
.num{display:inline-grid;place-items:center;flex:none;width:44px;height:44px;border:1px solid var(--blue);color:var(--blue);font:800 1rem 'Archivo';position:relative;overflow:hidden;background:var(--paper)}
.num::after{content:"";position:absolute;left:-30%;top:50%;width:160%;border-top:1px solid var(--line);transform:rotate(-45deg)}
.lt{flex:none;width:var(--s);height:var(--s);border-radius:var(--r);background:#0e0b2b;display:grid;place-items:center;padding:7px}
.lt img{width:100%;height:100%;object-fit:contain}
.big{margin:18px 0 0;display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}
.bn{font:900 clamp(3.6rem,9vw,4.6rem)/.84 var(--disp);font-stretch:62%;color:var(--blue);letter-spacing:-.02em}
.bt{font-weight:700;font-size:1rem;line-height:1.25;max-width:13em;padding-bottom:4px}
.card .kf{grid-template-columns:auto auto 1fr;margin-top:18px}
.kf>.wide{grid-column:1/-1;padding-left:0!important;border-left:0!important;display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.kf>.wide dt{margin:0}
.cardact{margin-top:auto;padding-top:16px;display:grid;gap:10px;justify-items:center}
.more{font-weight:700}
.copy{all:unset;cursor:pointer;display:inline-flex;align-items:baseline;gap:8px}
.copy code{font:800 1.02rem ui-monospace,Menlo,monospace;color:var(--ink);word-break:break-all}
.copy span{font-size:.85rem;font-weight:700;color:var(--blue);text-decoration:underline}
.copy:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.copy.ok span{color:#0a7a3a}

/* Buttons */
.cta{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:54px;padding:0 20px;border-radius:var(--r);background:var(--grad);color:#120a24;text-decoration:none;font:800 1.08rem 'Archivo';text-transform:uppercase;letter-spacing:.03em;transition:filter .2s,transform .2s;background-size:140% 100%;background-position:0 0}
.cta:hover{background-position:100% 0;transform:translateY(-1px)}
.cta i{font-style:normal;font-size:1.3rem;transition:transform .25s}.cta:hover i{transform:translateX(4px)}

/* Tabellen */
.tablewrap{overflow-x:auto;background:var(--paper);border:1px solid var(--line);border-radius:var(--r)}
table{border-collapse:collapse;width:100%}
.cmp{min-width:960px;font-size:.98rem}
.cmp th,.cmp td{padding:13px 14px;text-align:left;border-bottom:1px solid var(--hair);vertical-align:top}
.cmp thead th{font:700 .78rem 'Archivo';letter-spacing:.08em;text-transform:uppercase;color:var(--blue);border-bottom:1px solid var(--blue)}
.cmp tbody tr:last-child>*{border-bottom:0}
.cmp tbody th a{color:var(--ink);font-weight:800}
.kv{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);max-width:860px}
.kv th,.kv td{padding:13px 16px;border-bottom:1px solid var(--hair);text-align:left;vertical-align:top}
.kv tr:last-child>*{border-bottom:0}
.kv th{width:38%;font:700 .82rem 'Archivo';letter-spacing:.07em;text-transform:uppercase;color:var(--blue)}
.kv td{font-weight:600}
.kv code{font:800 1rem ui-monospace,Menlo,monospace}

/* Schritte */
.steps{list-style:none;padding:0;margin:0;display:grid;gap:0;border-top:1px solid var(--blue)}
@media(min-width:900px){.steps{grid-template-columns:repeat(3,1fr)}.steps li+li{border-left:1px solid var(--line)}}
.steps li{padding:22px 22px 22px 0;border-bottom:1px solid var(--line)}
@media(min-width:900px){.steps li+li{padding-left:22px}}
.steps .num{width:64px;height:64px;font-size:1.4rem;margin-bottom:16px}
.steps h3{font-size:1.6rem;font-weight:850;font-stretch:72%;text-transform:uppercase;color:var(--ink);margin:0 0 8px}
.steps p{margin:0}

/* Kategorien */
.catgrid{display:grid;gap:0;border-top:1px solid var(--blue)}
@media(min-width:720px){.catgrid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.catgrid{grid-template-columns:repeat(3,1fr)}}
.catgrid a{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:14px;align-items:center;padding:18px 12px 18px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);transition:background .2s,padding .2s}
.catgrid a:hover{background:var(--paper);padding-left:12px}
.catgrid .num{grid-row:span 2}
.catgrid b{font:850 1.5rem/1 var(--disp);font-stretch:72%;text-transform:uppercase;color:var(--blue)}
.catgrid em{font-style:normal;font-weight:600}

/* Bewertung */
.scores{display:grid;gap:0;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);max-width:860px}
.sc{display:grid;grid-template-columns:1fr auto auto;grid-template-areas:"l w v" "b b b";gap:6px 14px;padding:14px 16px;border-bottom:1px solid var(--hair)}
.sc:last-child{border-bottom:0}
.scl{grid-area:l;font-weight:700}.scw{grid-area:w;font-weight:600;color:var(--blue)}.sc b{grid-area:v;font-size:1.1rem}
.bar{grid-area:b;height:6px;background:rgba(31,0,255,.1);position:relative;border-radius:3px;overflow:hidden}
.bar>span{position:absolute;inset:0 auto 0 0;background:var(--blue);border-radius:3px;transform-origin:0 50%}
.pc{display:grid;gap:28px}@media(min-width:900px){.pc{grid-template-columns:1fr 1fr}}
.plus,.minus{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.plus li,.minus li{padding:12px 0 12px 30px;border-bottom:1px solid var(--line);position:relative;font-weight:600}
.plus li::before,.minus li::before{position:absolute;left:0;top:9px;font:900 1.3rem/1 'Archivo';color:var(--blue)}
.plus li::before{content:"+"}.minus li::before{content:"–";color:var(--warn)}

/* Rechner */
.calc{display:grid;gap:24px;background:var(--paper);border:1px solid var(--blue);border-radius:var(--r);padding:22px}
@media(min-width:900px){.calc{grid-template-columns:1fr 1fr;padding:30px;gap:40px}}
.calcf{display:grid;gap:14px;align-content:start}
.calcf .two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.calcf label{display:grid;gap:6px;font-weight:700;font-size:.98rem}
.calcf input,.calcf select{font:600 1.08rem 'Archivo';color:var(--ink);background:var(--bg);border:1px solid var(--hair);border-bottom:2px solid var(--blue);border-radius:var(--r) var(--r) 0 0;padding:12px;width:100%;min-height:48px}
.calcr .kf{margin-top:0;grid-template-columns:1fr 1fr}
.calcr .kf>div:nth-child(3){padding-left:0;border-left:0}
.calcr .kf dd{font:900 clamp(2rem,5vw,2.8rem)/1 var(--disp);font-stretch:66%}
.calcr .kf .hl dd{color:var(--blue);font-size:clamp(2rem,5vw,2.8rem)}
.calcr output.neg{color:var(--warn)}
.calcr p{font-size:.98rem;margin-top:14px}

/* FAQ */
.faq{border-top:1px solid var(--blue);max-width:900px}
.qa{border-bottom:1px solid var(--line)}
.qa h3{margin:0}
.qa button{all:unset;box-sizing:border-box;display:flex;justify-content:space-between;gap:18px;align-items:center;width:100%;padding:18px 0;cursor:pointer;font:800 1.18rem/1.3 'Archivo';color:var(--ink)}
.qa button:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.qa button i{flex:none;width:30px;height:30px;border:1px solid var(--blue);position:relative;border-radius:50%}
.qa button i::before,.qa button i::after{content:"";position:absolute;left:50%;top:50%;width:12px;border-top:2px solid var(--blue);transform:translate(-50%,-50%);transition:transform .3s}
.qa button i::after{transform:translate(-50%,-50%) rotate(90deg)}
.qa button[aria-expanded=true] i{background:var(--blue)}
.qa button[aria-expanded=true] i::before,.qa button[aria-expanded=true] i::after{border-color:#fff;transform:translate(-50%,-50%) rotate(0)}
.ans{overflow:hidden}.ans p{margin:0 0 18px;max-width:46em}

/* Fließtext */
.prose{max-width:780px}
.prose h2{font-size:clamp(1.6rem,3.6vw,2.3rem);font-weight:850;font-stretch:72%;text-transform:uppercase;color:var(--blue);margin:1.4em 0 .4em}
.prose h3{font-size:1.25rem;margin:1.2em 0 .3em}
.prose ul{padding-left:1.2em}.prose li{margin:.3em 0}
.prose .kv{margin:10px 0 18px}
.artimg{margin:10px 0 0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--paper)}
.artimg img{width:100%;height:auto}
.prose ol{padding-left:1.3em}.prose .kf{max-width:640px}
.missing{background:#ffe9e0;color:var(--warn);font-weight:700;padding:1px 6px;border-radius:3px}

/* Fuß */
.foot{margin-top:70px;background:var(--ink);color:#e9e7ff;padding:44px 0 28px}
.foot a{color:#fff}
.age{display:flex;gap:16px;align-items:center;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:18px}
.age b{flex:none;display:grid;place-items:center;width:56px;height:56px;border:2px solid #fff;border-radius:50%;font:900 1.2rem 'Archivo'}
.age p{margin:0}
.ggl{margin:18px 0 0;max-width:62em}
.fgrid{display:grid;gap:26px;margin-top:30px}@media(min-width:800px){.fgrid{grid-template-columns:repeat(4,1fr)}}
.fgrid h2{font:800 1.15rem 'Archivo';font-stretch:80%;text-transform:uppercase;letter-spacing:.04em;color:#fff;margin-bottom:10px}
.fgrid ul{list-style:none;padding:0;margin:0}.fgrid li{margin:7px 0}
.fgrid a{text-decoration:none}.fgrid a:hover{text-decoration:underline}
.legal{margin:30px 0 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.2)}

/* Animation */
.split-line{overflow:hidden;padding-bottom:.04em}
.hero .display{animation:rise .9s cubic-bezier(.2,.8,.2,1) both}
@keyframes rise{from{clip-path:inset(0 0 100% 0);transform:translateY(.18em)}to{clip-path:inset(0 0 -10% 0);transform:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
