/* Website-Vorlagen der Hanper GmbH. Optik nach hanper.de: dunkles Glas, Akzent pro Betrieb (--c).
   Gilt nur unter body.wv. Schriften lokal (SIL OFL 1.1). */
@font-face{font-family:"HanperV2 DM Sans";src:url("/hanper/hpv2-assets/fonts/dm-sans-latin-var.woff2") format("woff2");font-weight:100 1000;font-display:swap}
@font-face{font-family:"HanperV2 Outfit";src:url("/hanper/hpv2-assets/fonts/outfit-latin-var.woff2") format("woff2");font-weight:100 900;font-display:swap}
body.wv{--c:#3b82f6;--c2:#2563eb;--bg:#252830;--bg2:#1e2229;--tx:#e8eaef;--mu:#9aa3b2;--gl:rgba(50,55,66,.55);--bd:rgba(255,255,255,.1);
  margin:0;min-height:100vh;color:var(--tx);font:16px/1.6 "HanperV2 DM Sans",system-ui,sans-serif;
  background:radial-gradient(900px 500px at 85% -10%,color-mix(in srgb,var(--c) 22%,transparent),transparent 70%),radial-gradient(700px 400px at -10% 30%,rgba(37,99,235,.12),transparent 70%),linear-gradient(180deg,var(--bg),var(--bg2));background-color:var(--bg2)}
:root:has(body.wv){background:#1e2229}
.wv *,.wv *::before,.wv *::after{box-sizing:border-box}
.wv a{color:#93c5fd}
.wv a:focus-visible,.wv button:focus-visible,.wv input:focus-visible,.wv select:focus-visible,.wv textarea:focus-visible,.wv summary:focus-visible{outline:3px solid #fbbf24;outline-offset:2px}
.wv h1,.wv h2,.wv h3{font-family:"HanperV2 Outfit","HanperV2 DM Sans",sans-serif;line-height:1.15;margin:0 0 .5em}
.wv h1{font-size:clamp(2rem,5vw,3.2rem);letter-spacing:-.02em}
.wv h2{font-size:clamp(1.5rem,3.4vw,2.1rem)}
.wv h3{font-size:1.15rem}
.wv .wrap{width:min(1120px,100% - 40px);margin-inline:auto}
.wv .draft{background:#fbbf24;color:#1f2937;font-size:13px;text-align:center;padding:6px 12px;font-weight:600}
.wv .head{position:sticky;top:0;z-index:50;backdrop-filter:blur(12px);background:rgba(30,34,41,.82);border-bottom:1px solid var(--bd)}
.wv .head-in{display:flex;align-items:center;gap:18px;min-height:66px}
.wv .logo{display:flex;align-items:center;gap:10px;color:var(--tx);text-decoration:none;font:700 1.05rem "HanperV2 Outfit",sans-serif;margin-right:auto}
.wv .logo svg{flex:none}
.wv .nav{display:flex;gap:18px}
.wv .nav a{color:var(--mu);text-decoration:none;font-weight:500}
.wv .nav a:hover{color:var(--tx)}
.wv .tel{color:var(--tx);text-decoration:none;font-weight:600;white-space:nowrap}
.wv .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 20px;border-radius:999px;border:0;cursor:pointer;
  color:#fff;text-decoration:none;font:600 15px "HanperV2 DM Sans",sans-serif;background:linear-gradient(135deg,var(--c),var(--c2));box-shadow:0 8px 24px color-mix(in srgb,var(--c) 35%,transparent)}
.wv .btn:hover{filter:brightness(1.08)}
.wv .btn.ghost{background:transparent;border:1px solid rgba(255,255,255,.3);box-shadow:none}
.wv .btn.small{min-height:40px;padding:8px 16px;font-size:14px}
.wv .hero{padding:72px 0 48px}
.wv .eyebrow{color:#93c5fd;font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:13px;margin:0 0 10px}
.wv .lead{font-size:1.15rem;color:#cbd5e1;max-width:720px}
.wv .ctas{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 22px}
.wv .trust{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px 22px;color:var(--mu);font-size:14px}
.wv .trust li::before{content:"✓ ";color:#4ade80}
.wv section.s{padding:56px 0}
.wv .glass{background:var(--gl);border:1px solid var(--bd);border-radius:22px;backdrop-filter:blur(10px);padding:26px}
.wv .wk-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.wv .wk-card{background:var(--gl);border:1px solid var(--bd);border-radius:16px;padding:20px}
.wv .wk-card p{margin:0;color:#cbd5e1}
.wv .steps{list-style:none;counter-reset:s;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.wv .steps li{counter-increment:s;background:var(--gl);border:1px solid var(--bd);border-radius:16px;padding:20px}
.wv .steps li::before{content:counter(s);display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--c),var(--c2));font-weight:700;margin-bottom:8px}
.wv .grid2{display:grid;grid-template-columns:1.3fr 1fr;gap:22px;align-items:start}
.wv form.anfrage label{display:block;font-size:14px;margin:12px 0 5px;color:#cbd5e1}
.wv form.anfrage input,.wv form.anfrage select,.wv form.anfrage textarea{width:100%;font:16px "HanperV2 DM Sans",sans-serif;color:var(--tx);background:#14171d;border:1px solid rgba(255,255,255,.16);border-radius:12px;padding:11px 12px}
.wv form.anfrage .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.wv form.anfrage .chk{display:flex;gap:10px;align-items:flex-start;font-size:13px}
.wv form.anfrage .chk input{width:auto;margin-top:4px}
.wv .msg{margin-top:12px;font-size:14px;min-height:20px}
.wv .msg.ok{background:#13261c;border:1px solid #22c55e;border-radius:12px;padding:12px;white-space:pre-wrap}
.wv .msg.err{color:#fca5a5}
.wv .wk-zeiten{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:0}
.wv .wk-zeiten dt{font-weight:600}.wv .wk-zeiten dd{margin:0;color:#cbd5e1}
.wv .wk-hint{color:var(--mu);font-size:14px}
.wv .wk-notfall{border-left:4px solid #f59e0b;background:rgba(245,158,11,.08);padding:10px 14px;border-radius:8px}
.wv .wk-faq details{border-bottom:1px solid var(--bd);padding:12px 0}
.wv .wk-faq summary{cursor:pointer;font-weight:600}
.wv .wk-faq p{color:#cbd5e1;margin:8px 0 0}
.wv .foot{border-top:1px solid var(--bd);padding:28px 0 90px;color:var(--mu);font-size:14px}
.wv .foot-in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px}
.wv .foot nav{display:flex;gap:16px;flex-wrap:wrap}
.wv .wk-stand{font-size:12px;color:var(--mu)}
.wv .ph{background:rgba(251,191,36,.15);color:#fcd34d;border:1px dashed #fbbf24;border-radius:6px;padding:0 6px}
.wv .legal{max-width:820px}
.wv .legal h2{margin-top:1.4em}
@media (max-width:860px){.wv .nav{display:none}.wv .grid2{grid-template-columns:1fr}}
@media (max-width:520px){.wv .tel{display:none}.wv form.anfrage .row{grid-template-columns:1fr}.wv .hero{padding:44px 0 32px}.wv .head .btn.small{padding:8px 12px}}
