@font-face { font-family:"Archivo Black"; font-style:normal; font-weight:900; font-display:swap;
  src:url("../fonts/archivo-black.woff2") format("woff2"); }
@font-face { font-family:"Inter"; font-style:normal; font-weight:400; font-display:swap;
  src:url("../fonts/inter-400.woff2") format("woff2"); }
@font-face { font-family:"Inter"; font-style:normal; font-weight:500; font-display:swap;
  src:url("../fonts/inter-500.woff2") format("woff2"); }
@font-face { font-family:"Inter"; font-style:normal; font-weight:600; font-display:swap;
  src:url("../fonts/inter-600.woff2") format("woff2"); }
@font-face { font-family:"Inter"; font-style:normal; font-weight:700; font-display:swap;
  src:url("../fonts/inter-700.woff2") format("woff2"); }
@font-face { font-family:"Inter"; font-style:normal; font-weight:800; font-display:swap;
  src:url("../fonts/inter-800.woff2") format("woff2"); }

/* ===== KLINIKFUCHS homepage — design tokens ===== */
:root {
  --orange:#F47C20; --orange-dark:#e06d14; --black:#141414; --cream:#FBF7EF; --teal:#1B8A7A;
  --ink:#19212e; --muted:#5d6b7a; --line:#e9edf2;
  --maxw:1140px;
  --shadow-sm:0 1px 2px rgba(16,24,40,.05), 0 1px 3px rgba(16,24,40,.05);
  --shadow-md:0 6px 16px rgba(16,24,40,.06), 0 14px 34px rgba(16,24,40,.07);
  --shadow-lg:0 24px 60px rgba(16,24,40,.13);
  --font:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --display:"Archivo Black","Arial Black",var(--font);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; font-family:var(--font); color:var(--ink); background:#fff; line-height:1.6;
  letter-spacing:-.011em; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility; }
img { max-width:100%; display:block; }
a { color:inherit; }
.container { max-width:var(--maxw); margin:0 auto; }

/* ===== logo wordmark ===== */
.kf-logo { display:inline-flex; font-family:var(--display); font-weight:900;
  letter-spacing:-.5px; line-height:1; border-radius:8px; overflow:hidden; text-decoration:none; }
.kf-logo .klinik { background:#fff; color:var(--black); padding:7px 9px; }
.kf-logo .fuchs  { background:var(--orange); color:#fff; padding:7px 9px; }
.kf-logo-stack { display:inline-flex; flex-direction:column; align-items:center; gap:7px;
  font-family:var(--display); font-weight:900; letter-spacing:-1px; line-height:.95; }
.kf-logo-stack .klinik { color:var(--black); }
.kf-logo-stack .fuchs  { background:var(--orange); color:#fff; padding:5px 18px; border-radius:40px; }

/* ===== buttons ===== */
.kf-store { display:inline-flex; align-items:center; gap:8px; padding:13px 22px; border-radius:12px;
  font-size:15px; font-weight:600; text-decoration:none; transition:transform .15s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease; }
.kf-store.primary { background:var(--black); color:#fff; box-shadow:var(--shadow-md); }
.kf-store.primary:hover { transform:translateY(-2px); box-shadow:var(--shadow-lg); }
.kf-store.ghost { background:#fff; color:var(--ink); border:1.5px solid var(--line); }
.kf-store.ghost:hover { border-color:#cdd5dd; transform:translateY(-2px); }
.kf-appstore { display:inline-block; line-height:0; transition:transform .15s ease, filter .15s ease; }
.kf-appstore:hover { transform:translateY(-2px); filter:brightness(1.08); }
.kf-appstore img { height:50px; width:auto; }

/* trust / stats band */
.kf-stats { display:flex; justify-content:center; flex-wrap:wrap; padding:28px 36px; border-top:1px solid var(--line);
  border-bottom:1px solid var(--line); background:#fff; }
.kf-stat { padding:6px 40px; text-align:center; }
.kf-stat + .kf-stat { border-left:1px solid var(--line); }
.kf-stat b { display:block; font-size:30px; font-weight:800; color:var(--ink); letter-spacing:-1px; line-height:1; }
.kf-stat span { display:block; margin-top:7px; font-size:13px; color:var(--muted); font-weight:500; }

/* audience / für wen */
.kf-audgrid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; max-width:1000px; margin:40px auto 0; text-align:left; }
.kf-audcard { background:#fff; border:1px solid var(--line); border-radius:16px; padding:22px; box-shadow:var(--shadow-sm);
  transition:transform .15s ease, box-shadow .15s ease; }
.kf-audcard:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); }
.kf-audcard .ic { width:44px; height:44px; border-radius:12px; background:#fff3e8; color:var(--orange); display:flex;
  align-items:center; justify-content:center; margin-bottom:14px; }
.kf-audcard .ic svg { width:22px; height:22px; }
.kf-audcard b { display:block; font-size:16px; color:var(--ink); margin-bottom:5px; }
.kf-audcard p { font-size:13.5px; color:var(--muted); margin:0; line-height:1.55; }
@media (max-width:860px){ .kf-audgrid { grid-template-columns:1fr; } .kf-stat { padding:6px 22px; } .kf-stat b { font-size:25px; } }
.kf-label { display:inline-block; font-size:11.5px; font-weight:700; letter-spacing:1px; text-transform:uppercase;
  color:var(--orange); background:#fff3e8; border:1px solid #fbe0c8; padding:6px 13px; border-radius:30px; margin:0 0 16px; }

/* ===== nav ===== */
.kf-nav { position:sticky; top:0; z-index:50; display:flex; align-items:center; justify-content:space-between;
  padding:14px 36px; background:rgba(255,255,255,.82); backdrop-filter:saturate(180%) blur(14px);
  -webkit-backdrop-filter:saturate(180%) blur(14px); border-bottom:1px solid var(--line); }
.kf-navlinks { display:flex; gap:28px; align-items:center; font-size:14.5px; font-weight:500; color:var(--ink); }
.kf-navlinks a { text-decoration:none; transition:color .15s ease; }
.kf-navlinks a:hover { color:var(--orange); }
.kf-lang { border:1px solid var(--line); border-radius:8px; padding:5px 11px; font-size:13px; font-weight:600; text-decoration:none; }
.kf-navcta { background:var(--orange); color:#fff !important; padding:10px 18px; border-radius:10px; font-weight:600; font-size:14px;
  text-decoration:none; box-shadow:var(--shadow-sm); transition:background .15s ease, transform .15s ease; }
.kf-navcta:hover { background:var(--orange-dark); transform:translateY(-1px); }
.kf-burger { display:none; background:none; border:0; font-size:24px; cursor:pointer; }

/* ===== hero ===== */
.kf-hero { background:radial-gradient(120% 90% at 50% 0%, var(--cream) 0%, #fdfbf7 45%, #fff 100%);
  padding:72px 36px 56px; text-align:center; }
.kf-hero .kf-logo-stack { margin:0 auto 24px; }
.kf-badge { display:inline-block; font-size:12px; font-weight:600; letter-spacing:.3px; text-transform:uppercase;
  background:#fff; border:1px solid #f1ddc6; color:var(--orange); padding:7px 15px; border-radius:30px; margin-bottom:24px;
  box-shadow:var(--shadow-sm); }
.kf-h1 { font-size:52px; line-height:1.04; font-weight:800; margin:0 auto 20px; letter-spacing:-1.8px; color:var(--ink); max-width:15ch; }
.kf-hsub { font-size:18.5px; color:var(--muted); line-height:1.55; margin:0 auto 30px; max-width:48ch; }
.kf-cta { display:flex; gap:12px; flex-wrap:wrap; justify-content:center; }
.kf-devices { display:flex; align-items:flex-end; justify-content:center; gap:0; margin-top:60px; }
.kf-shotimg { border-radius:34px; box-shadow:var(--shadow-lg); width:160px; height:auto; border:7px solid #14141b;
  background:#14141b; position:relative; z-index:1; transition:transform .25s ease; }
.kf-shotimg.big { width:200px; z-index:3; margin:0 -22px; }
.kf-devices > .kf-shotimg:first-child { transform:rotate(-8deg); transform-origin:bottom center; z-index:2; }
.kf-devices > .kf-shotimg:last-child { transform:rotate(8deg); transform-origin:bottom center; z-index:2; }
.kf-devices:hover > .kf-shotimg:first-child { transform:rotate(-8deg) translateX(-6px); }
.kf-devices:hover > .kf-shotimg:last-child { transform:rotate(8deg) translateX(6px); }
.kf-swipe-hint { display:none; text-align:center; font-size:12px; color:#aeb6bf; margin:14px 0 0; }

/* ===== audience strip ===== */
.kf-aud { padding:26px 36px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); text-align:center; background:#fcfdfe; }
.kf-aud .lbl { font-size:11.5px; color:#9aa5b1; font-weight:700; letter-spacing:1.2px; text-transform:uppercase; margin-bottom:14px; }
.kf-aud .row { display:flex; gap:12px; flex-wrap:wrap; justify-content:center; }
.kf-aud .pill { font-size:13.5px; font-weight:500; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:30px; padding:8px 16px; box-shadow:var(--shadow-sm); }

/* ===== sections ===== */
.kf-sec { padding:72px 36px; }
.kf-sec.alt { background:#f5f8fc; }
#podcast { background:linear-gradient(180deg,#fdf8ef,#fffdf9); }
#gewinnkarten { background:linear-gradient(180deg,#f2faf7,#fbfefd); }
#gewinnkarten .kf-label { color:var(--teal); background:#e7f5f1; border-color:#cfeae3; }
.kf-center { text-align:center; max-width:640px; margin:0 auto 8px; }
.kf-title { font-size:36px; font-weight:800; letter-spacing:-1px; margin:0 0 14px; color:var(--ink); line-height:1.12; }
.kf-lead { font-size:17px; color:var(--muted); line-height:1.6; margin:0; }

/* ===== how-it-works rows ===== */
.kf-row { display:grid; grid-template-columns:220px 1fr; gap:48px; align-items:center; max-width:960px; margin:52px auto 0; }
.kf-row.rev { grid-template-columns:1fr 220px; }
.kf-shotwrap { display:flex; justify-content:center; }
.kf-shot { width:210px; aspect-ratio:9/18.6; border-radius:36px; border:7px solid #14141b; background:#14141b;
  box-shadow:var(--shadow-lg); display:flex; align-items:center; justify-content:center; overflow:hidden;
  font-size:13px; color:#bbb; text-align:center; padding:0; }
.kf-shot img { width:100%; height:100%; object-fit:cover; border-radius:29px; }
.kf-step { font-size:12px; font-weight:700; color:var(--orange); letter-spacing:1.4px; }
.kf-row h3 { font-size:25px; margin:12px 0 12px; color:var(--ink); letter-spacing:-.5px; font-weight:700; }
.kf-row p { font-size:15.5px; color:var(--muted); margin:0; line-height:1.6; }
.kf-row .tag { display:inline-block; margin-top:12px; margin-right:6px; font-size:12px; background:#fff;
  border:1px solid #e6e6e6; color:#666; border-radius:30px; padding:5px 13px; }
.kf-flist { list-style:none; margin:14px 0 0; padding:0; }
.kf-flist li { position:relative; padding-left:26px; margin-bottom:9px; font-size:14.5px; color:var(--muted); line-height:1.5; }
.kf-flist li::before { content:""; position:absolute; left:0; top:3px; width:16px; height:16px; border-radius:50%;
  background:rgba(27,138,122,.12) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%231B8A7A' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/10px no-repeat; }
.kf-flist li b { color:var(--ink); font-weight:600; }
/* learning techniques grid */
.kf-techgrid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; max-width:1000px; margin:40px auto 0; }
.kf-tech { background:#fff; border:1px solid var(--line); border-radius:16px; padding:22px; box-shadow:var(--shadow-sm);
  transition:transform .15s ease, box-shadow .15s ease; }
.kf-tech:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); }
.kf-tech .ic { width:46px; height:46px; border-radius:13px; background:#eef7f4; color:var(--teal); display:flex;
  align-items:center; justify-content:center; margin-bottom:14px; }
.kf-tech .ic svg { width:23px; height:23px; }
.kf-tech b { display:block; font-size:15px; margin-bottom:6px; color:var(--ink); font-weight:700; }
.kf-tech p { font-size:13.5px; color:var(--muted); margin:0; line-height:1.55; }
@media (max-width:860px){ .kf-techgrid { grid-template-columns:1fr; } }

/* free emphasis + reward-card (Gewinnkarten) system */
.kf-free-badge { display:inline-block; background:var(--teal); color:#fff; font-weight:800; font-size:13px;
  letter-spacing:.3px; padding:7px 16px; border-radius:30px; margin-bottom:16px; }
.kf-free-note { font-size:13.5px; color:var(--teal); font-weight:700; margin:14px 0 0; }
.kf-cardtiers { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin:6px 0 4px; }
.kf-tier { width:56px; height:78px; border-radius:9px; display:flex; align-items:flex-end; justify-content:center;
  padding-bottom:7px; font-size:10px; font-weight:800; letter-spacing:.3px; color:#fff; box-shadow:0 6px 16px rgba(0,0,0,.14); }
.kf-tier.w { background:linear-gradient(160deg,#ffffff,#e9e9e9); color:#777; border:1px solid #e0e0e0; }
.kf-tier.b { background:linear-gradient(160deg,#5b9bd5,#2f6fb0); }
.kf-tier.v { background:linear-gradient(160deg,#a06cd5,#6f3fb0); }
.kf-tier.g { background:linear-gradient(160deg,#f6c34a,#e09f1e); }
.kf-unlock-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; max-width:720px; margin:34px auto 0; }
.kf-unlock { background:#fff; border:1px solid var(--line); border-radius:16px; overflow:hidden; box-shadow:var(--shadow-sm);
  transition:transform .15s ease, box-shadow .15s ease; }
.kf-unlock:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); }
.kf-unlock img { width:100%; height:auto; display:block; background:#f3f3f3; }
.kf-unlock b { display:block; font-size:13.5px; margin:13px 14px 3px; color:var(--ink); font-weight:700; }
.kf-unlock span { display:block; font-size:11.5px; color:var(--muted); margin:0 14px 14px; line-height:1.45; }
@media (max-width:860px){ .kf-unlock-grid { grid-template-columns:1fr 1fr; } }

/* podcast sample player */
.kf-podcast { max-width:580px; margin:34px auto 0; background:#fff; border:1px solid var(--line); border-radius:18px;
  padding:22px 24px; box-shadow:var(--shadow-md); }
.kf-podcast-head { display:flex; align-items:center; gap:14px; margin-bottom:18px; }
.kf-podcast-ic { width:50px; height:50px; border-radius:14px; background:#eef7f4; color:var(--teal); display:flex; align-items:center;
  justify-content:center; flex:0 0 auto; }
.kf-podcast-ic svg { width:25px; height:25px; }
.kf-podcast-head b { display:block; font-size:16px; color:var(--ink); font-weight:700; }
.kf-podcast-head span { font-size:13px; color:var(--muted); }
.kf-podcast audio { width:100%; display:block; }

/* demo videos (3 modes, phone frames) */
.kf-vidgrid { display:flex; justify-content:center; gap:30px; flex-wrap:wrap; margin-top:42px; }
.kf-vidcard { margin:0; text-align:center; }
.kf-vidcard video { width:222px; max-width:72vw; height:auto; border:8px solid #14141b; border-radius:38px;
  background:#14141b; box-shadow:var(--shadow-lg); display:block; }
.kf-vidcard figcaption { margin-top:15px; font-size:14.5px; font-weight:600; color:var(--ink); }
.kf-vidcard figcaption span { display:block; font-size:12px; font-weight:500; color:var(--muted); margin-top:2px; }

/* praxisspiel gallery */
.kf-praxisgrid { display:flex; justify-content:center; gap:24px; flex-wrap:wrap; margin-top:42px; }
.kf-pshot { width:200px; border:7px solid #14141b; border-radius:32px; overflow:hidden; background:#14141b;
  box-shadow:var(--shadow-lg); transition:transform .2s ease; }
.kf-pshot:hover { transform:translateY(-4px); }
.kf-pshot img { width:100%; height:auto; display:block; border-radius:25px; }
@media (max-width:560px){ .kf-pshot { width:44vw; } }

/* language flag pills */
.kf-langpills { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin:24px auto 4px; max-width:720px; }
.kf-langpill { display:inline-flex; align-items:center; gap:8px; font-size:14px; font-weight:500; color:var(--ink);
  background:#fff; border:1px solid var(--line); border-radius:30px; padding:7px 15px; box-shadow:var(--shadow-sm); }
.kf-langpill .fl { font-size:17px; line-height:1; }

/* collapsible learning-techniques grid */
.kf-techgrid.collapsed .kf-tech:nth-child(n+7) { display:none; }
.kf-tech-more { display:block; margin:26px auto 0; background:#fff; border:1.5px solid var(--line); color:var(--ink);
  font-weight:600; font-size:14px; padding:11px 24px; border-radius:11px; cursor:pointer;
  transition:border-color .15s ease, transform .15s ease; }
.kf-tech-more:hover { border-color:#cdd5dd; transform:translateY(-1px); }

/* sticky download bar */
.kf-sticky { position:fixed; left:0; right:0; bottom:0; z-index:60; background:rgba(255,255,255,.92);
  backdrop-filter:saturate(180%) blur(12px); -webkit-backdrop-filter:saturate(180%) blur(12px);
  border-top:1px solid var(--line); box-shadow:0 -6px 24px rgba(16,24,40,.08);
  transform:translateY(110%); transition:transform .28s ease; }
.kf-sticky.show { transform:translateY(0); }
.kf-sticky-inner { max-width:var(--maxw); margin:0 auto; display:flex; align-items:center; justify-content:space-between;
  gap:14px; padding:11px 22px; }
.kf-sticky-label { font-size:14px; font-weight:600; color:var(--ink); }
.kf-sticky-label b { color:var(--teal); }
.kf-sticky-btn { background:var(--orange); color:#fff; font-weight:600; font-size:14px; padding:10px 22px;
  border-radius:10px; text-decoration:none; box-shadow:var(--shadow-sm); transition:background .15s ease, transform .15s ease;
  white-space:nowrap; }
.kf-sticky-btn:hover { background:var(--orange-dark); transform:translateY(-1px); }
@media (max-width:480px){ .kf-sticky-inner { padding:10px 14px; } .kf-sticky-label { font-size:12.5px; }
  .kf-sticky-btn { padding:9px 16px; } }

/* ===== module accordion ===== */
details.kf-reiter { max-width:820px; margin:34px auto 0; text-align:center; }
details.kf-reiter > summary { list-style:none; cursor:pointer; display:inline-flex; align-items:center; gap:10px;
  background:var(--black); color:#fff; font-weight:600; font-size:15px; padding:15px 28px; border-radius:13px;
  box-shadow:var(--shadow-md); transition:transform .15s ease; }
details.kf-reiter > summary:hover { transform:translateY(-2px); }
details.kf-reiter > summary::-webkit-details-marker { display:none; }
details.kf-reiter > summary .chev { transition:transform .2s; }
details.kf-reiter[open] > summary .chev { transform:rotate(180deg); }
.kf-modgrid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-top:30px; text-align:left; }
.kf-mod { border:1px solid var(--line); border-radius:16px; padding:20px; background:#fff; box-shadow:var(--shadow-sm);
  transition:transform .15s ease, box-shadow .15s ease; }
.kf-mod:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); }
.kf-mod p { font-size:13.5px; color:var(--muted); margin:11px 0 0; line-height:1.55; }
/* per-module wordmark logo — set --c to the module colour */
.kf-mlogo { display:inline-flex; font-family:var(--display); font-weight:900; letter-spacing:-.4px;
  line-height:1; font-size:16px; border:1.5px solid var(--c); border-radius:8px; overflow:hidden; }
.kf-mlogo .a { background:#fff; color:var(--c); padding:6px 9px; }
.kf-mlogo .b { background:var(--c); color:#fff; padding:6px 9px; }

/* ===== final cta ===== */
.kf-final { background:linear-gradient(135deg,#F47C20 0%, #ec6f12 55%, #db6410 100%); color:#fff; text-align:center; padding:76px 36px; }
.kf-final h3 { color:#fff; font-size:38px; margin:0 0 12px; letter-spacing:-1px; font-weight:800; line-height:1.1; }
.kf-final p { opacity:.94; font-size:17px; margin:0 0 28px; }
.kf-final .kf-store.primary { background:#fff; color:var(--black); }
.kf-final .kf-store.primary:hover { background:#fff; }
.kf-final .kf-store.ghost { border-color:rgba(255,255,255,.7); color:#fff; background:transparent; }

/* ===== footer ===== */
.kf-foot { background:var(--black); color:#aaa; padding:44px 36px 26px; }
.kf-foot-top { display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:24px; padding-bottom:28px; border-bottom:1px solid #2a2a2a; max-width:var(--maxw); margin:0 auto; }
.kf-foot .kf-logo .klinik { background:transparent; color:#fff; padding-left:0; }
.kf-foot h5 { color:#fff; font-size:13px; margin:0 0 10px; }
.kf-foot a { display:block; color:#aaa; margin-bottom:7px; text-decoration:none; font-size:13px; }
.kf-foot .badges { display:flex; gap:8px; margin-top:12px; }
.kf-foot .badge { font-size:11px; font-weight:700; border:1px solid #3a3a3a; border-radius:8px; padding:7px 10px; color:#ddd; text-decoration:none; }
.kf-foot-bot { display:flex; justify-content:space-between; align-items:center; padding-top:18px; font-size:12px; color:#777; flex-wrap:wrap; gap:10px; max-width:var(--maxw); margin:0 auto; }
.kf-foot-bot .social { display:flex; gap:12px; }
.kf-foot-bot .social a { width:28px; height:28px; border:1px solid #3a3a3a; border-radius:50%; display:flex; align-items:center; justify-content:center; text-decoration:none; }
.kf-foot-lang { border:1px solid #3a3a3a; border-radius:8px; padding:5px 10px; color:#ddd; text-decoration:none; }

/* ===== blog / ratgeber ===== */
.kf-article { max-width:740px; margin:0 auto; padding:48px 24px 72px; }
.kf-article .back { display:inline-block; font-size:13px; font-weight:600; color:var(--muted); text-decoration:none; margin-bottom:18px; }
.kf-article .back:hover { color:var(--orange); }
.kf-article h1 { font-size:34px; letter-spacing:-.8px; line-height:1.16; margin:0 0 10px; color:var(--ink); }
.kf-article .kf-meta { color:var(--muted); font-size:13px; margin-bottom:26px; }
.kf-article .kf-lead-p { font-size:18.5px; line-height:1.6; color:var(--muted); margin:0 0 8px; }
.kf-article h2 { font-size:22px; margin-top:38px; letter-spacing:-.4px; color:var(--ink); }
.kf-article h3 { font-size:17px; margin-top:26px; color:var(--ink); }
.kf-article p, .kf-article li { font-size:16px; line-height:1.72; color:#33373d; }
.kf-article ul, .kf-article ol { padding-left:22px; }
.kf-article li { margin-bottom:7px; }
.kf-article a { color:var(--orange); }
.kf-cta-box { margin:42px 0 0; background:linear-gradient(180deg,var(--cream),#fffdf9); border:1px solid #f1ddc6;
  border-radius:18px; padding:28px; text-align:center; }
.kf-cta-box h3 { margin:0 0 6px; font-size:20px; }
.kf-cta-box p { margin:0 0 16px; color:var(--muted); }
.kf-bloggrid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; max-width:900px; margin:42px auto 64px; }
.kf-blogcard { display:block; background:#fff; border:1px solid var(--line); border-radius:16px; padding:26px;
  text-decoration:none; box-shadow:var(--shadow-sm); transition:transform .15s ease, box-shadow .15s ease; }
.kf-blogcard:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); }
.kf-blogcard .tag { display:inline-block; margin-bottom:12px; font-size:11px; font-weight:700; letter-spacing:.8px;
  text-transform:uppercase; color:var(--orange); }
.kf-blogcard h3 { margin:0 0 8px; font-size:18.5px; color:var(--ink); letter-spacing:-.3px; line-height:1.25; }
.kf-blogcard p { margin:0; font-size:14px; color:var(--muted); line-height:1.55; }
.kf-blog-intro { max-width:740px; margin:0 auto; padding:48px 24px 0; text-align:center; }
.kf-blog-intro h1 { font-size:36px; letter-spacing:-.8px; margin:0 0 10px; }
.kf-blog-intro p { color:var(--muted); font-size:17px; line-height:1.6; }
@media (max-width:680px){ .kf-bloggrid { grid-template-columns:1fr; } }

/* ===== legal pages ===== */
.kf-legal { max-width:760px; margin:0 auto; padding:50px 24px 80px; }
.kf-legal h1 { font-size:32px; letter-spacing:-.5px; }
.kf-legal h2 { font-size:20px; margin-top:32px; }
.kf-legal h3 { font-size:16px; margin-top:22px; }
.kf-legal p, .kf-legal li { color:#333; font-size:15px; line-height:1.65; }
.kf-legal code { background:#f3f3f3; border-radius:4px; padding:1px 5px; font-size:13px; }
.kf-legal table { width:100%; border-collapse:collapse; margin:14px 0; font-size:13.5px; }
.kf-legal th, .kf-legal td { border:1px solid #e5e5e5; padding:8px 10px; text-align:left; vertical-align:top; }
.kf-legal th { background:#faf7f1; font-weight:700; }

/* ===== responsive ===== */
@media (max-width:860px) {
  .kf-nav { padding:14px 18px; }
  .kf-navlinks { display:none; }
  .kf-navlinks.open { display:flex; position:absolute; top:60px; left:0; right:0; background:#fff;
    flex-direction:column; gap:16px; padding:18px; border-bottom:1px solid var(--line); z-index:20; }
  .kf-burger { display:block; }
  .kf-h1 { font-size:32px; }
  .kf-hsub { font-size:16px; }
  .kf-sec { padding:40px 20px; }
  .kf-modgrid { grid-template-columns:1fr; }
  .kf-foot-top { grid-template-columns:1fr 1fr; }
  .kf-devices { gap:10px; }
  .kf-shotimg { width:110px; } .kf-shotimg.big { width:132px; }
}

/* how-it-works rows: stack only on real phones, screenshot above text */
@media (max-width:640px) {
  .kf-row, .kf-row.rev { grid-template-columns:1fr; gap:16px; }
  .kf-row .kf-shotwrap { order:-1; }

  /* hero screenshots become a swipe carousel: one large, others peek beside */
  .kf-devices { margin-top:30px; gap:14px; overflow-x:auto; scroll-snap-type:x mandatory;
    scroll-padding:0; padding:6px 19vw; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
  .kf-devices::-webkit-scrollbar { display:none; }
  .kf-shotimg, .kf-shotimg.big { width:62vw; height:auto; max-width:none; flex:0 0 62vw; scroll-snap-align:center; }
  .kf-devices > .kf-shotimg:first-child, .kf-devices > .kf-shotimg:last-child, .kf-shotimg.big { transform:none; margin:0; }
  .kf-swipe-hint { display:block; }
}

/* legal/support pages: keep the single back-home nav link visible on mobile */
.kf-navlinks--inline { display:flex !important; position:static !important; flex-direction:row !important; padding:0 !important; border:0 !important; background:none !important; }

/* FAQ (Startseite) */
.kf-faq { max-width:760px; margin:36px auto 0; text-align:left; }
.kf-faq details { background:#fff; border:1px solid var(--line); border-radius:14px; padding:16px 22px; margin-bottom:12px; box-shadow:var(--shadow-sm); }
.kf-faq summary { cursor:pointer; font-weight:700; font-size:16px; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:12px; }
.kf-faq summary::-webkit-details-marker { display:none; }
.kf-faq summary .chev { transition:transform .2s; color:var(--orange); flex-shrink:0; }
.kf-faq details[open] summary .chev { transform:rotate(180deg); }
.kf-faq details p { margin:12px 0 4px; color:var(--muted); font-size:15px; line-height:1.65; }
.kf-faq details a { color:var(--orange-dark); }

/* Ratgeber-Teaser (Startseite) */
.kf-bloggrid--home { margin:42px auto 8px; }
.kf-blogmore { display:inline-block; margin-top:22px; font-weight:700; color:var(--orange-dark); text-decoration:none; }
.kf-blogmore:hover { text-decoration:underline; }
