/* Vokabel-Champion · Webseite · © 2026 Raphael Boullet */
@font-face{font-family:'Bangers';font-display:swap;font-weight:400;src:url(../fonts/bangers-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Bangers';font-display:swap;font-weight:400;src:url(../fonts/bangers-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Rubik';font-display:swap;font-weight:400;src:url(../fonts/rubik-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Rubik';font-display:swap;font-weight:500;src:url(../fonts/rubik-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Rubik';font-display:swap;font-weight:700;src:url(../fonts/rubik-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Rubik';font-display:swap;font-weight:800;src:url(../fonts/rubik-latin-800-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Rubik';font-display:swap;font-weight:400;src:url(../fonts/rubik-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1EFF,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Rubik';font-display:swap;font-weight:500;src:url(../fonts/rubik-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1EFF,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Rubik';font-display:swap;font-weight:700;src:url(../fonts/rubik-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1EFF,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Rubik';font-display:swap;font-weight:800;src:url(../fonts/rubik-latin-ext-800-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1EFF,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --ink:#0B2545;--night:#04122A;--panel:#0E2A4D;--line:#1F4370;--bg:#F3F7FC;--surface:#fff;
  --muted:#3E5C80;--soft:#B9D3EE;--softer:#D6E4F2;--accent:#FDD000;--accent-hover:#FFE14D;--on-accent:#1A1400;
  --gold-text:#8A6F00;--glow:#7DF3FF;--teal:#1A8CA8;--ok:#1E8A4C;--err:#B42318;
  --display:'Bangers',Impact,sans-serif;--body:'Rubik',system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--bg);color:var(--ink);font:400 18px/1.6 var(--body);-webkit-font-smoothing:antialiased}
img,video{max-width:100%;display:block}
a{color:var(--ink)}a:hover{color:#1A4E8C}
:focus-visible{outline:3px solid var(--teal);outline-offset:3px;border-radius:6px}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--accent);color:var(--on-accent);padding:10px 16px;border-radius:10px;font-weight:800}
.skip:focus{left:8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Kopf */
.top{background:var(--night);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.top nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding-top:14px;padding-bottom:14px}
.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font:30px/1 var(--display);letter-spacing:1.5px}
.brand:hover{color:#fff}.brand img{width:42px;height:42px;border-radius:11px}
.brand .bt{white-space:nowrap}.brand .bt span{color:var(--accent)}
.menu{display:flex;flex-wrap:wrap;align-items:center;gap:6px 22px;margin:0;padding:0;list-style:none;font-weight:500;font-size:16px}
.menu a{color:var(--softer);text-decoration:none;padding:8px 0;display:inline-block}
.menu a:hover{color:var(--accent)}
.menu a.btn{color:var(--on-accent);padding:10px 22px;display:inline-flex;align-items:center;font-weight:800;box-shadow:none}
.menu a.btn:hover{color:var(--on-accent)}
@media (max-width:600px){.top nav{flex-wrap:nowrap}.menu li:not(:last-child){display:none}.top nav{padding-left:16px;padding-right:16px;gap:10px}.brand{font-size:21px;gap:8px;letter-spacing:1px}.brand img{width:34px;height:34px;border-radius:9px}.menu a.btn{padding:8px 14px;font-size:15px;min-height:40px;white-space:nowrap}}
@media (max-width:900px){.menu li.opt{display:none}}

/* Knöpfe */
.btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:14px 26px;border-radius:999px;font:800 18px/1 var(--body);text-decoration:none;border:0;cursor:pointer}
.btn svg{width:20px;height:20px;flex:none}
.btn-y{background:var(--accent);color:var(--on-accent);box-shadow:0 10px 30px rgba(253,208,0,.3)}
.btn-y:hover{background:var(--accent-hover);color:var(--on-accent)}
.btn-o{color:#fff;border:2px solid rgba(255,255,255,.6);font-weight:700}
.btn-o:hover{color:var(--accent);border-color:var(--accent)}
.btn-sm{min-height:44px;padding:10px 20px;font-size:16px}
.btn-line{background:none;color:var(--ink);border:2px solid var(--ink);font-weight:700}

/* Abschnitte */
.dark{background:var(--night);color:#fff}
.rays{background-color:var(--night);background-image:radial-gradient(circle at 72% 45%,rgba(253,208,0,.17),transparent 55%),repeating-conic-gradient(from 0deg at 72% 45%,rgba(253,208,0,.055) 0 7deg,transparent 7deg 14deg);color:#fff}
.sec{padding-top:96px;padding-bottom:96px}
.kicker{margin:0;font-weight:800;font-size:14px;letter-spacing:3px;text-transform:uppercase;color:#1A4E8C}
.dark .kicker,.rays .kicker{color:var(--glow)}
h1,h2{font-family:var(--display);font-weight:400;letter-spacing:1.5px;line-height:1}
h2{margin:12px 0 0;font-size:clamp(44px,6vw,64px)}
h2 em,h1 em{font-style:normal;color:var(--gold-text)}
.dark h2 em,.rays h2 em,.rays h1 em{color:var(--accent)}
.lead{margin:16px 0 0;font-size:19px;color:var(--muted);max-width:42rem}
.dark .lead,.rays .lead{color:var(--soft)}
.phone{background:#0E1B2E;border-radius:40px;padding:9px;box-shadow:0 30px 70px rgba(4,18,42,.4),0 0 0 2px #2B5687}
.phone img{border-radius:31px;width:100%;height:auto}
.check{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.check li{display:flex;gap:12px;align-items:flex-start}
.check li::before{content:"";flex:none;width:22px;height:22px;margin-top:4px;background:var(--glow);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E") center/contain no-repeat}
.check.teal li::before{background:var(--teal)}

/* Hero */
.hero .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:56px;padding-top:72px;padding-bottom:96px}
.hero-txt{flex:1 1 460px;min-width:0}
.badge{display:inline-block;margin:0;background:var(--accent);color:var(--on-accent);font-weight:800;font-size:14px;letter-spacing:3px;text-transform:uppercase;padding:9px 18px;border-radius:999px}
.hero h1{margin:24px 0 0;font-size:clamp(60px,8vw,96px);line-height:.95;letter-spacing:2px;text-shadow:0 6px 0 #000}
.hero .lead{font-size:21px;max-width:34rem;color:var(--softer)}
.cta{margin-top:34px;display:flex;flex-wrap:wrap;gap:14px}
.trust{margin:36px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:10px 28px;font-size:16px;color:var(--soft)}
.trust li{display:flex;align-items:center;gap:8px}
.trust li::before{content:"✓";color:var(--glow);font-weight:800}
.hero-art{flex:1 1 400px;min-width:0;display:flex;justify-content:center;align-items:flex-end}
.hero-art .phone:first-child{width:250px;transform:rotate(-5deg) translateY(30px);margin-right:-40px;z-index:1}
.hero-art .phone:last-child{width:290px;transform:rotate(4deg);z-index:2;position:relative}
@media (max-width:560px){.hero-art .phone:first-child{width:170px;margin-right:-30px}.hero-art .phone:last-child{width:200px}}

.langs{background:var(--accent);color:var(--on-accent)}
.langs .wrap{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 36px;padding-top:20px;padding-bottom:20px;font-weight:800;font-size:20px}
.langs .wrap span:first-child{font-weight:500}

/* Schritte */
.steps{margin-top:52px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:28px}
.step{background:var(--surface);border-radius:28px;padding:32px 32px 0;box-shadow:0 10px 30px rgba(11,37,69,.08);overflow:hidden;display:flex;flex-direction:column}
.step-h{display:flex;align-items:center;gap:14px}
.hex{width:52px;height:58px;flex:none;background:var(--accent);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);display:flex;align-items:center;justify-content:center;font:34px var(--display);color:var(--on-accent)}
.step h3{margin:0;font-size:24px;font-weight:800}
.step p{margin:14px 0 0;font-size:17px;color:var(--muted)}
.step .phone{width:220px;margin:28px auto -110px;border-radius:34px}

/* Online / App */
.ways{margin-top:44px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:28px}
.way{border-radius:28px;padding:36px;display:flex;flex-direction:column;gap:18px;background:var(--surface);box-shadow:0 10px 30px rgba(11,37,69,.08)}
.way.ink{background:var(--ink);color:#fff}
.way-h{display:flex;align-items:center;gap:16px}
.way-h .ic{width:60px;height:60px;flex:none;border-radius:18px;display:flex;align-items:center;justify-content:center;background:#E6F1FB}
.way.ink .way-h .ic{background:var(--accent)}
.way h3{margin:0;font-size:26px;font-weight:800}
.way-h p{margin:2px 0 0;font-size:15px;color:var(--muted)}
.way.ink .way-h p,.way.ink ul{color:var(--softer)}
.way ul{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:8px;font-size:17px}
.way .btn{align-self:flex-start;margin-top:auto}
.stores{margin-top:auto;display:flex;flex-wrap:wrap;gap:14px}
.store{display:flex;align-items:center;gap:12px;min-width:200px;min-height:60px;padding:10px 20px;border-radius:14px;border:2px dashed var(--glow);color:#fff;text-decoration:none}
.store[aria-disabled="true"]{cursor:default}
.store small{display:block;font-size:12px;color:var(--soft)}.store b{display:block;font-size:19px;line-height:1.15}

/* Funktionen */
.feat{margin-top:60px;display:flex;flex-wrap:wrap;align-items:center;gap:56px}
.feat-txt{flex:1 1 420px;min-width:0}
.feat h3{margin:0;font-size:34px;font-weight:800}
.feat-txt>p{margin:14px 0 0;font-size:19px;color:var(--soft)}
.cards{margin-top:36px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:18px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:24px}
.card svg{width:32px;height:32px}
.card h4{margin:12px 0 0;font-size:20px;font-weight:800}
.card p{margin:8px 0 0;font-size:16px;line-height:1.5;color:var(--soft)}
.feat-pair{flex:0 0 auto;display:flex;gap:22px;margin:0 auto}
.feat-pair .phone{width:240px}
.feat-pair .phone:first-child{transform:rotate(3deg)}.feat-pair .phone:last-child{transform:rotate(-2deg) translateY(40px)}
@media (max-width:560px){.feat-pair{gap:14px}.feat-pair .phone{width:calc(50vw - 40px)}}
.hero,.dark,.call{overflow-x:clip}
.feat .solo{flex:0 0 290px;transform:rotate(-3deg);margin:0 auto}
.rev{flex-wrap:wrap-reverse}

/* Video */
.video{display:flex;flex-wrap:wrap;align-items:center;gap:56px}
.video-txt{flex:1 1 380px;min-width:0}
.video video{width:min(340px,100%);height:auto;aspect-ratio:9/16;object-fit:cover;margin:0 auto;border-radius:28px;box-shadow:0 30px 70px rgba(4,18,42,.35);background:#000}

/* Eltern / Lehrkräfte */
.duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:28px}
.duo article{border-radius:28px;padding:40px}
.duo article:first-child{background:#FFF8D6}.duo article:last-child{background:#E6F1FB}
.duo h2{font-size:48px;margin:0}
.duo ul{margin:22px 0 0;padding-left:22px;display:flex;flex-direction:column;gap:12px}
.duo .more{display:inline-block;margin-top:24px;font-weight:800}

/* Datenschutz-Kacheln */
.tiles{margin-top:44px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:22px}
.tile{background:var(--surface);border-radius:24px;padding:28px;box-shadow:0 10px 30px rgba(11,37,69,.06)}
.tile b{display:block;font-size:20px}.tile p{margin:10px 0 0;font-size:16px;color:var(--muted)}

/* Test-Aufruf */
.call .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:44px;padding-top:88px;padding-bottom:88px}
.call-txt{flex:1 1 520px;min-width:0}
.call h2{font-size:clamp(48px,6vw,72px);text-shadow:0 6px 0 #000;margin:0}
.qr{background:#fff;border-radius:26px;padding:20px;text-align:center;color:var(--ink);margin:0}
.qr img{width:190px;height:190px}.qr figcaption{margin-top:10px;font-weight:800;font-size:15px}

/* FAQ */
.faq{max-width:880px}
.faq h2{text-align:center}
.faq-list{margin-top:36px;display:flex;flex-direction:column;gap:12px}
.faq details{background:var(--surface);border-radius:20px;padding:20px 24px;box-shadow:0 6px 20px rgba(11,37,69,.06)}
.faq summary{cursor:pointer;font-weight:800;font-size:19px;list-style:none;display:flex;justify-content:space-between;gap:16px;min-height:32px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:26px;color:var(--teal);line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:12px 0 0;font-size:17px;color:var(--muted)}

/* Fuß */
.foot{background:var(--night);color:var(--soft);font-size:15px}
.foot .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;padding-top:36px;padding-bottom:36px}
.foot a{color:var(--softer)}.foot nav{display:flex;flex-wrap:wrap;gap:22px}
.foot .brandline{display:flex;align-items:center;gap:12px}.foot .brandline img{width:34px;height:34px;border-radius:9px}

/* Unterseiten */
.page{max-width:820px;margin:0 auto;padding:64px 24px 96px}
.page h1{margin:0;font-size:clamp(52px,7vw,72px);letter-spacing:2px;overflow-wrap:anywhere;hyphens:auto}
.page h2{font-family:var(--body);font-weight:800;font-size:24px;letter-spacing:0;line-height:1.3;margin:36px 0 0}
.page .box{margin-top:20px;background:var(--surface);border-radius:24px;padding:28px 32px;box-shadow:0 10px 30px rgba(11,37,69,.06)}
.page .box h2{margin:0;font-size:21px}.page .box p{margin:12px 0 0}
.page .short{margin-top:28px;background:#FFF8D6;border-radius:24px;padding:24px 30px}
.page .short h2{margin:0;font-size:21px}.page .short ul{margin:10px 0 0;padding-left:22px}
.stand{margin-top:36px;font-size:15px;color:var(--muted)}
.todo{background:#FFF1C2;border-radius:6px;padding:0 4px}

/* Kontakt */
.contact{max-width:1200px;margin:0 auto;padding:64px 24px 96px;display:flex;flex-wrap:wrap;gap:52px;align-items:flex-start}
.contact-txt{flex:1 1 330px;min-width:0}
.contact-txt h1{margin:12px 0 0;font-size:clamp(52px,7vw,72px)}
.contact-txt .check{margin-top:30px;font-size:17px}
.contact-txt #loeschen{margin-top:38px}.contact-txt #loeschen+.check{margin-top:14px}
.form-card{flex:1 1 540px;min-width:0;background:var(--surface);border-radius:28px;padding:36px;box-shadow:0 14px 40px rgba(11,37,69,.08)}
.form{display:flex;flex-direction:column;gap:20px}
.row2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:20px}
.fld{display:flex;flex-direction:column;gap:8px;font-weight:700;font-size:16px}
.fld .opt{font-weight:400;color:var(--muted)}
.fld input,.fld select,.fld textarea{font:400 17px/1.4 var(--body);color:var(--ink);background:#fff;border:2px solid var(--softer);border-radius:14px;padding:12px 15px;min-height:50px;width:100%}
.fld textarea{resize:vertical;min-height:150px}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 4px rgba(26,140,168,.15)}
.fld .hint{font-weight:400;font-size:14px;color:var(--muted)}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:16px;color:var(--muted)}
.consent input{width:22px;height:22px;margin:3px 0 0;flex:none;accent-color:var(--ink)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form .btn{align-self:flex-start}
.form .btn[disabled]{opacity:.6;cursor:wait}
.msg{margin:0;padding:14px 18px;border-radius:14px;font-size:16px}
.msg.err{background:#FDECEA;color:var(--err)}
.done{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:20px 0}
.done .ok{width:80px;height:80px;border-radius:50%;background:var(--ok);display:flex;align-items:center;justify-content:center}
.done h2{margin:0;font-size:56px}.done p{margin:0;font-size:19px;color:var(--muted)}
[hidden]{display:none!important}
.mt{margin-top:26px}
.white{background:#fff}

/* Für wen? (Webseite 1.4) */
.voices .cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.voice{margin:0;display:flex;flex-direction:column;gap:22px}
.voice .say{margin:0;font-size:18px;line-height:1.55;color:#fff}
.voice .who{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:16px;border-top:1px solid var(--line)}
.voice .av{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font:22px/1 var(--display);letter-spacing:1px;color:var(--on-accent);background:var(--accent);flex:none}
.voice .av.t{background:var(--glow)}.voice .av.p{background:#FF9F6B}
.voice b{display:block;font-weight:800;color:#fff;font-size:16px}
.voice small{display:block;color:var(--soft);font-size:14px;line-height:1.4}
/* Über das Projekt (Webseite 1.5) */
.about .lead{max-width:860px}
.facts{margin:32px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:14px}
.facts div{background:var(--surface);border-radius:18px;padding:18px 22px;box-shadow:0 6px 20px rgba(11,37,69,.06)}
.facts dt{font-weight:800;font-size:14px;letter-spacing:2px;text-transform:uppercase;color:#1A4E8C}
.facts dd{margin:6px 0 0;font-size:17px;line-height:1.5;color:var(--ink)}
@media (max-width:359px){.brand{font-size:18px}.brand img{width:30px;height:30px}.menu a.btn{padding:8px 11px;font-size:14px}}
