/* Ibrahim Karakoc Design System — Tokens (aus system/tokens) */
@font-face{font-family:'Archivo';font-style:normal;font-weight:400 900;font-display:swap;src:url(fonts/archivo.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/jbmono-700.woff2) format('woff2')}
:root{
--navy-950:#0B111F;--navy-900:#131D33;--navy-800:#1C2946;--navy-700:#2A3A5E;--navy-300:#9AA5BF;
--black:#0A0B0E;--ink:#111317;--graphite:#24272D;--steel:#6B7079;--ash:#A9ADB4;--bone:#EDECE8;--paper:#F6F5F2;--white:#FFFFFF;
--blood:#D3261C;--blood-600:#A91C14;--gold:#C9A24A;
--bg:var(--black);--surface:var(--ink);--surface-raised:var(--graphite);
--fg-1:var(--white);--fg-2:#C9CCD2;--fg-3:var(--ash);
--accent:var(--blood);--accent-hover:#E8392E;--accent-press:var(--blood-600);
--border:rgba(255,255,255,.14);--border-strong:rgba(255,255,255,.4);--border-inverse:rgba(19,29,51,.18);
--scrim-bottom:linear-gradient(180deg,rgba(10,11,14,.15) 0%,rgba(10,11,14,.55) 45%,rgba(10,11,14,.95) 100%);
--font-display:'Archivo',ui-sans-serif,system-ui,sans-serif;--font-mono:'JetBrains Mono',ui-monospace,monospace;
--fs-hero:clamp(44px,8vw,112px);--fs-h2:clamp(34px,5vw,56px);--fs-h3:clamp(22px,2.4vw,30px);--fs-lead:clamp(18px,2vw,22px);--fs-body:17px;--fs-small:14px;--fs-label:12px;
--lh-tight:.92;--lh-snug:1.08;--lh-body:1.55;--tracking-display:-0.03em;--tracking-label:0.14em;
--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--space-10:144px;
--ease-hit:cubic-bezier(.2,.9,.1,1);--dur-fast:120ms;--dur:220ms;
--wrap:1120px;--gutter:clamp(16px,4vw,48px);
}
*,*::before,*::after{box-sizing:border-box;border-radius:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg-2);font-family:var(--font-display);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:var(--fg-1);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}
a:hover{color:var(--accent-hover)}
h1,h2,h3{font-weight:900;letter-spacing:var(--tracking-display);line-height:var(--lh-tight);color:var(--fg-1);margin:0}
h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3);line-height:var(--lh-snug)}
p{margin:0 0 1em}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.label{font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:var(--tracking-label);text-transform:uppercase;font-weight:700;color:var(--fg-3)}
.chamfer{clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px),0 8px)}
.tag{display:inline-block;font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:var(--tracking-label);text-transform:uppercase;font-weight:700;color:var(--fg-1);padding:7px 12px;box-shadow:inset 0 0 0 1px var(--border-strong);clip-path:polygon(4px 0,calc(100% - 4px) 0,100% 4px,100% calc(100% - 4px),calc(100% - 4px) 100%,4px 100%,0 calc(100% - 4px),0 4px)}
.red{color:var(--accent)}
.lead{font-size:var(--fs-lead);line-height:1.45;color:var(--fg-2)}

/* Buttons */
.btn{font-family:var(--font-display);font-weight:800;text-transform:uppercase;letter-spacing:.06em;line-height:1;display:inline-flex;align-items:center;gap:10px;border:0;cursor:pointer;text-decoration:none;font-size:15px;padding:14px 24px;clip-path:polygon(6px 0,calc(100% - 6px) 0,100% 6px,100% calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,0 calc(100% - 6px),0 6px);transition:background var(--dur-fast) var(--ease-hit),transform var(--dur-fast) var(--ease-hit);-webkit-tap-highlight-color:transparent}
.btn:active{transform:translateY(1px) scale(.98)}
.btn-primary{background:var(--accent);color:var(--white)}.btn-primary:hover{background:var(--accent-hover);color:var(--white)}.btn-primary:active{background:var(--accent-press)}
.btn-outline{background:transparent;color:var(--fg-1);box-shadow:inset 0 0 0 2px var(--border-strong)}.btn-outline:hover{background:rgba(255,255,255,.08);color:var(--fg-1)}
.btn-lg{font-size:18px;padding:20px 32px;clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px),0 8px)}
.btn[disabled]{opacity:.35;cursor:not-allowed}

/* Topbar + Fortschritt */
.progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--accent);z-index:30}
.topbar{position:absolute;top:0;left:0;right:0;z-index:5}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;padding-top:20px;padding-bottom:20px;gap:16px}
.topbar img{height:34px;width:auto}

/* Hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;color:var(--fg-1)}
.hero-bg{position:absolute;inset:0;background:url(img/ring-guard-dark.jpg) center 30%/cover no-repeat}
.hero::after{content:"";position:absolute;inset:0;background:var(--scrim-bottom)}
.hero .wrap{position:relative;z-index:1;padding-top:120px;padding-bottom:var(--space-8);width:100%}
.hero h1{font-size:var(--fs-hero);max-width:13ch;margin:var(--space-5) 0}
.hero .lead{max-width:40ch;color:var(--fg-1)}
.stats{display:flex;flex-wrap:wrap;gap:0;margin-top:var(--space-7);border-top:1px solid var(--border)}
.stat{padding:var(--space-5) var(--space-6) 0 0;margin-right:var(--space-6)}
.stat b{display:block;font-size:clamp(36px,5vw,56px);font-weight:900;letter-spacing:var(--tracking-display);line-height:1;color:var(--gold)}
.stat span{display:block;margin-top:8px}

/* Sektionen */
section{position:relative}
.sec{padding:var(--space-10) 0}
.sec-head{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4);margin-bottom:var(--space-8);max-width:760px}
.sec-head .num{font-family:var(--font-mono);font-weight:700;letter-spacing:var(--tracking-label);font-size:var(--fs-label);color:var(--fg-3)}
.paper{background:var(--paper);color:var(--navy-700)}
.paper h2,.paper h3{color:var(--navy-900)}
.paper .label,.paper .sec-head .num{color:var(--navy-700)}
.navy{background:var(--navy-900)}
.ink{background:var(--surface)}
.hr{height:1px;background:var(--border);border:0;margin:0}

/* Intro */
.intro{display:grid;grid-template-columns:1fr;gap:var(--space-7);align-items:start}
.intro .big{font-size:clamp(26px,3.4vw,40px);font-weight:900;letter-spacing:var(--tracking-display);line-height:1.05;color:var(--fg-1)}
.chapters{list-style:none;margin:0;padding:0;border-top:1px solid var(--border)}
.chapters a{display:flex;gap:var(--space-4);padding:14px 0;border-bottom:1px solid var(--border);text-decoration:none;color:var(--fg-1);font-weight:600}
.chapters a span{font-family:var(--font-mono);font-weight:700;font-size:var(--fs-label);letter-spacing:var(--tracking-label);color:var(--fg-3);padding-top:4px;min-width:28px}
.chapters a:hover{color:var(--accent-hover)}
@media(min-width:880px){.intro{grid-template-columns:1.3fr 1fr;gap:var(--space-9)}}

/* Quote */
.quote{border-left:4px solid var(--accent);padding:4px 0 4px var(--space-5);margin:var(--space-7) 0 0}
.quote p{font-size:clamp(24px,3vw,36px);font-weight:900;letter-spacing:var(--tracking-display);line-height:1.08;color:inherit;margin:0 0 12px}
.paper .quote p{color:var(--navy-900)}

/* Reaktions-Simulator */
.sim{margin-top:var(--space-7);background:var(--navy-900);color:var(--fg-2);padding:var(--space-6)}
.sim-tabs{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-6)}
.sim-tabs button[aria-pressed="true"]{background:var(--white);color:var(--navy-900);box-shadow:none}
.timeline{position:relative;display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--border-strong)}
.phase{padding:var(--space-4) var(--space-3) 0 0;border-left:1px solid var(--border);padding-left:var(--space-3);min-height:96px;transition:background var(--dur) var(--ease-hit)}
.phase .label{display:block;margin-bottom:6px;color:var(--navy-300)}
.phase strong{display:block;color:var(--fg-1);font-size:15px;line-height:1.25}
.phase.on{background:rgba(255,255,255,.06)}
.marker{position:absolute;top:-10px;height:18px;width:4px;background:var(--accent);transition:left 480ms var(--ease-hit)}
.sim-result{margin-top:var(--space-6);display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-4)}
.sim-result .verdict{font-size:clamp(30px,4vw,48px);font-weight:900;letter-spacing:var(--tracking-display);line-height:1;color:var(--fg-1)}
.sim-result p{margin:0;max-width:52ch}
@media(max-width:640px){.timeline{grid-template-columns:repeat(2,1fr)}.phase{border-bottom:1px solid var(--border);padding-bottom:var(--space-3)}.marker{display:none}}

/* Vorboten */
.signs{display:grid;grid-template-columns:1fr;border-top:1px solid var(--border)}
.sign{padding:var(--space-6) 0;border-bottom:1px solid var(--border);display:grid;grid-template-columns:auto 1fr;gap:var(--space-5)}
.sign .n{font-family:var(--font-mono);font-weight:700;font-size:clamp(44px,6vw,72px);line-height:.9;color:var(--steel)}
.sign h3{margin-bottom:var(--space-3)}
.sign p{margin:0}
.sign .look{margin-top:var(--space-3);color:var(--fg-1);font-weight:600}
@media(min-width:880px){.signs{grid-template-columns:repeat(3,1fr);border-top:0}.sign{grid-template-columns:1fr;border-bottom:0;border-top:2px solid var(--border-strong);padding:var(--space-5) var(--space-6) 0 0;margin-right:var(--space-5)}}

/* Lese-Trainer */
.quiz{display:grid;grid-template-columns:1fr;gap:0;background:var(--surface)}
.quiz-photo{min-height:320px;background:url(img/ring-guard-dark.jpg) center 25%/cover;position:relative}
.quiz-photo::after{content:"";position:absolute;inset:0;background:var(--scrim-bottom)}
.quiz-photo .paused{position:absolute;left:var(--space-5);bottom:var(--space-5);z-index:1;color:var(--fg-1)}
.quiz-photo .paused b{display:block;font-size:clamp(32px,4.4vw,52px);font-weight:900;letter-spacing:var(--tracking-display);line-height:.95;margin:6px 0 10px}
.quiz-body{padding:var(--space-6)}
.quiz-meta{display:flex;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5)}
.cues{list-style:none;padding:0;margin:0 0 var(--space-6);border-top:1px solid var(--border)}
.cues li{padding:12px 0;border-bottom:1px solid var(--border);color:var(--fg-1);display:flex;gap:var(--space-4)}
.cues li .label{min-width:84px;padding-top:4px}
.question{font-size:var(--fs-h3);font-weight:900;letter-spacing:var(--tracking-display);color:var(--fg-1);line-height:1.1;margin-bottom:var(--space-4)}
.options{display:grid;gap:var(--space-3)}
.opt{text-align:left;width:100%;justify-content:space-between;text-transform:none;letter-spacing:0;font-weight:700;font-size:17px}
.opt.right{background:var(--white);color:var(--navy-900);box-shadow:none}
.opt.wrong{box-shadow:inset 0 0 0 2px var(--accent);color:var(--fg-1)}
.feedback{margin-top:var(--space-5);border-left:4px solid var(--accent);padding-left:var(--space-4);display:none}
.feedback.show{display:block;animation:hit var(--dur) var(--ease-hit)}
.feedback b{color:var(--fg-1)}
.quiz-nav{margin-top:var(--space-5);display:flex;gap:var(--space-3);flex-wrap:wrap}
.quiz-done{display:none}
.quiz-done.show{display:block}
@media(min-width:880px){.quiz{grid-template-columns:.8fr 1.2fr}.quiz-photo{min-height:100%}}
@keyframes hit{from{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:none}}

/* Protokoll */
.steps{border-top:1px solid var(--border-inverse)}
.step{display:grid;grid-template-columns:1fr;gap:var(--space-4);padding:var(--space-7) 0;border-bottom:1px solid var(--border-inverse)}
.step .big-n{font-size:clamp(96px,16vw,200px);font-weight:900;letter-spacing:-0.05em;line-height:.8;color:var(--navy-900)}
.step h3{font-size:clamp(28px,3.6vw,44px);line-height:1}
.step .kw{font-family:var(--font-mono);font-weight:700;letter-spacing:var(--tracking-label);font-size:var(--fs-label);text-transform:uppercase;display:block;margin-bottom:var(--space-3)}
.step p{max-width:56ch}
.pro{margin-top:var(--space-4);background:var(--navy-900);color:var(--fg-2);padding:var(--space-5)}
.pro .label{color:var(--navy-300);display:block;margin-bottom:6px}
.pro strong{color:var(--white)}
@media(min-width:880px){.step{grid-template-columns:260px 1fr;gap:var(--space-8)}}

/* Trainings-Zähler */
.counter{margin-top:var(--space-8);background:var(--navy-900);color:var(--fg-2);padding:var(--space-6);display:grid;grid-template-columns:1fr;gap:var(--space-6)}
.counter h3{color:var(--white)}
.dots{display:grid;grid-template-columns:repeat(10,1fr);gap:6px;margin:var(--space-5) 0}
.dot{height:28px;background:rgba(255,255,255,.08);transition:background var(--dur) var(--ease-hit)}
.dot.hit{background:var(--white)}.dot.miss{background:transparent;box-shadow:inset 0 0 0 2px var(--accent)}
.c-stats{display:flex;gap:var(--space-7);flex-wrap:wrap}
.c-stats b{display:block;font-size:clamp(40px,5vw,64px);font-weight:900;letter-spacing:var(--tracking-display);line-height:1;color:var(--white)}
.c-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-5)}
.visual{display:flex;align-items:center;gap:var(--space-4);margin-top:var(--space-5);flex-wrap:wrap}
.visual .count{font-family:var(--font-mono);font-weight:700;font-size:28px;color:var(--white);min-width:2ch}
@media(min-width:880px){.counter{grid-template-columns:1.4fr 1fr;align-items:start}}

/* Warum */
.why{display:grid;grid-template-columns:1fr;gap:var(--space-7)}
.why-item{border-top:2px solid var(--border-strong);padding-top:var(--space-5)}
.why-item h3{margin-bottom:var(--space-4)}
.flow{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;margin-top:var(--space-7)}
.flow span{font-family:var(--font-mono);font-weight:700;font-size:var(--fs-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--fg-1);padding:10px 14px;box-shadow:inset 0 0 0 1px var(--border-strong)}
.flow i{font-style:normal;font-family:var(--font-mono);color:var(--fg-3)}
.flow span.end{background:var(--accent);box-shadow:none}
@media(min-width:880px){.why{grid-template-columns:1fr 1fr;gap:var(--space-8)}}

/* 7-Tage-Plan */
.plan-top{display:flex;justify-content:space-between;align-items:end;gap:var(--space-5);flex-wrap:wrap;margin-bottom:var(--space-5)}
.bar{height:8px;background:rgba(255,255,255,.1);margin-bottom:var(--space-6)}
.bar i{display:block;height:100%;width:0;background:var(--accent);transition:width 480ms var(--ease-hit)}
.block{border-top:2px solid var(--border-strong);padding:var(--space-5) 0 var(--space-6);display:grid;grid-template-columns:1fr;gap:var(--space-4)}
.block h3{font-size:22px}
.block p{margin:4px 0 0}
.days{display:flex;flex-wrap:wrap;gap:var(--space-3)}
.day{position:relative}
.day input{position:absolute;opacity:0;pointer-events:none}
.day label{display:flex;flex-direction:column;justify-content:center;min-width:104px;padding:14px 16px;cursor:pointer;box-shadow:inset 0 0 0 2px var(--border-strong);color:var(--fg-1);clip-path:polygon(6px 0,calc(100% - 6px) 0,100% 6px,100% calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,0 calc(100% - 6px),0 6px);transition:background var(--dur-fast) var(--ease-hit)}
.day label b{font-size:20px;font-weight:900;letter-spacing:var(--tracking-display)}
.day label:hover{background:rgba(255,255,255,.08)}
.day input:checked+label{background:var(--white);color:var(--navy-900);box-shadow:none}
.day input:checked+label .label{color:var(--navy-700)}
.day input:focus-visible+label{outline:2px solid var(--accent);outline-offset:3px}
@media(min-width:880px){.block{grid-template-columns:1fr 1fr;align-items:center}}

/* CTA */
.cta{position:relative;min-height:88svh;display:flex;align-items:flex-end;color:var(--fg-1)}
.cta-bg{position:absolute;inset:0;background:url(img/champion-belt-portrait.jpg) center 20%/cover no-repeat}
.cta::after{content:"";position:absolute;inset:0;background:var(--scrim-bottom)}
.cta .wrap{position:relative;z-index:1;padding-top:var(--space-10);padding-bottom:var(--space-9);width:100%}
.cta h2{font-size:clamp(40px,7vw,96px);max-width:12ch;margin:var(--space-5) 0}
.cta .lead{color:var(--fg-1);max-width:42ch;margin-bottom:var(--space-6)}

/* Footer */
footer{border-top:1px solid var(--border);padding:var(--space-6) 0}
footer .wrap{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap}
footer img{height:36px;width:auto}
footer nav{display:flex;gap:var(--space-5)}
footer nav a{font-family:var(--font-mono);font-weight:700;font-size:var(--fs-label);letter-spacing:var(--tracking-label);text-transform:uppercase;text-decoration:none;color:var(--fg-3)}
footer nav a:hover{color:var(--fg-1)}

/* Rechtstexte */
.legal{padding:var(--space-9) 0}
.legal .wrap{max-width:780px}
.legal h1{font-size:clamp(40px,6vw,72px);margin:var(--space-5) 0 var(--space-7)}
.legal h2{font-size:26px;line-height:1.1;margin:var(--space-7) 0 var(--space-3)}
.legal h3{font-size:19px;margin:var(--space-5) 0 var(--space-2)}
.legal ul{padding-left:20px}
.legal .ph{background:var(--accent);color:var(--white);padding:0 4px;font-weight:700}
.legal-top{border-bottom:1px solid var(--border)}
.legal-top .wrap{display:flex;justify-content:space-between;align-items:center;padding-top:20px;padding-bottom:20px;max-width:var(--wrap)}
.legal-top img{height:30px;width:auto}

/* Anleitungen */
.howto{margin-top:var(--space-6);border-top:2px solid var(--border-strong);padding-top:var(--space-4)}
.howto ol{list-style:none;margin:var(--space-3) 0 0;padding:0;counter-reset:h}
.howto li{counter-increment:h;display:grid;grid-template-columns:28px 1fr;gap:var(--space-3);padding:10px 0;border-bottom:1px solid var(--border);color:var(--fg-2)}
.howto li::before{content:"0" counter(h);font-family:var(--font-mono);font-weight:700;font-size:var(--fs-label);letter-spacing:var(--tracking-label);color:var(--fg-3);padding-top:5px}
.howto li b{color:var(--fg-1)}
.sim-hint{margin:0 0 var(--space-5);color:var(--fg-2);max-width:60ch}
.mini-steps{list-style:none;margin:var(--space-2) 0 0;padding:0;display:grid;gap:8px}
.mini-steps li{display:flex;gap:var(--space-3);align-items:center;color:var(--fg-1);font-weight:600}
.mini-steps span{font-family:var(--font-mono);font-weight:700;font-size:13px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px var(--border-strong);flex:none}
.need{background:var(--white);box-shadow:inset 0 0 0 1px var(--border-inverse);padding:var(--space-5) var(--space-6);margin-bottom:var(--space-7)}
.need ul{list-style:none;margin:var(--space-3) 0 0;padding:0}
.need li{padding:8px 0;border-bottom:1px solid var(--border-inverse)}
.need li:last-child{border-bottom:0}
.need b{color:var(--navy-900)}
#cPlan{margin-top:var(--space-4)}
.plan-note{font-size:var(--fs-small);color:var(--fg-3);max-width:62ch;margin:0}

@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
