/* ══════════════════════════════════════════════════════════════════════════
   Kältekammer KuDamm — Site-CSS
   Basis: startseite-premium.html (18.07.2026), extrahiert für Multi-Page.
   Fonts kommen aus fonts.css (lokal gehostet, kein Google-Aufruf).
   ══════════════════════════════════════════════════════════════════════════ */

/* ─── Tokens ───────────────────────────────────────────────── */
.kk-page{
  --ink:#0A0A0A; --paper:#FFFFFF; --mut:#6B6B6B; --line:#E7E7E7;
  --ink-dk:#080808; --paper-dk:#FFFFFF; --mut-dk:#8A8A8A; --line-dk:#232323;
  --cyan:#22D3EE; --cyan-ink:#0E7490; --cyan-soft:rgba(34,211,238,.14);
  --wa:#25D366; --wa-ink:#0B7A4B;

  --s1:8px; --s2:16px; --s3:24px; --s4:32px; --s6:48px;
  --s8:64px; --s12:96px; --s16:128px; --s20:160px;

  --ease:cubic-bezier(.22,.61,.36,1); --dur:240ms;

  font-family:'DM Sans',system-ui,-apple-system,sans-serif;
  color:var(--ink); background:var(--paper);
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
html,body{margin:0; padding:0;}
.kk-page *,.kk-page *::before,.kk-page *::after{box-sizing:border-box;}
.kk-page p,.kk-page h1,.kk-page h2,.kk-page h3{margin:0;}
.kk-page img{max-width:100%;}

.kk-wrap{max-width:1200px; margin:0 auto; padding-inline:var(--s3);}
@media(min-width:768px){ .kk-wrap{padding-inline:var(--s6);} }
.kk-wrap--narrow{max-width:860px;}

.kk-sec{padding-block:var(--s12);}
@media(min-width:768px){ .kk-sec{padding-block:var(--s20);} }
.kk-sec--dark{background:var(--ink-dk); color:var(--paper-dk);}
.kk-sec--dark .kk-kick{color:var(--mut-dk);}
.kk-sec--dark .kk-lead{color:#B4B4B4;}

/* ─── Typo ─────────────────────────────────────────────────── */
.kk-kick{
  display:inline-flex; align-items:center; gap:10px;
  font-family:'DM Mono',ui-monospace,monospace; font-size:11px; font-weight:500;
  letter-spacing:.2em; text-transform:uppercase; color:var(--mut);
  margin-bottom:var(--s4)!important;
}
.kk-kick::before{content:""; width:22px; height:1px; background:var(--cyan-ink);}
.kk-sec--dark .kk-kick::before{background:var(--cyan);}
.kk-h1{font-size:clamp(2.75rem,6.4vw,5.75rem); line-height:.96; font-weight:700; letter-spacing:-.045em; text-wrap:balance;}
.kk-h2{font-size:clamp(1.9rem,4.4vw,3.5rem); line-height:1.04; font-weight:700; letter-spacing:-.038em; text-wrap:balance;}
.kk-lead{font-size:clamp(1.0625rem,1.4vw,1.3125rem); line-height:1.6; color:#4A4A4A; max-width:52ch; margin-top:var(--s4)!important;}

/* ─── Buttons ──────────────────────────────────────────────── */
.kk-btn{
  position:relative; display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-height:54px; padding:0 30px; border-radius:999px;
  font-family:inherit; font-size:15px; font-weight:500; letter-spacing:-.01em; text-decoration:none;
  border:1px solid transparent; cursor:pointer; white-space:nowrap; overflow:hidden;
  transition:background-color var(--dur) var(--ease), color var(--dur) var(--ease),
             border-color var(--dur) var(--ease), transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.kk-btn:focus-visible{outline:2px solid var(--cyan-ink); outline-offset:3px;}
.kk-btn__arrow{width:0; opacity:0; transition:width var(--dur) var(--ease), opacity var(--dur) var(--ease); overflow:hidden;}
.kk-btn:hover .kk-btn__arrow{width:16px; opacity:1;}
.kk-btn--pri{background:var(--ink); color:var(--paper); border-color:var(--ink);}
.kk-btn--pri:hover{background:#000; color:#fff; transform:translateY(-2px); box-shadow:0 12px 30px rgba(0,0,0,.22);}
.kk-sec--dark .kk-btn--pri{background:var(--paper-dk); color:var(--ink-dk); border-color:var(--paper-dk);}
.kk-sec--dark .kk-btn--pri:hover{background:#fff; color:#000; transform:translateY(-2px); box-shadow:0 12px 34px rgba(0,0,0,.5);}
.kk-btn--wa{background:transparent; color:var(--wa-ink); border-color:var(--wa-ink);}
.kk-btn--wa:hover{background:var(--wa); border-color:var(--wa); color:#04351F; transform:translateY(-2px); box-shadow:0 12px 30px rgba(37,211,102,.28);}
.kk-sec--dark .kk-btn--wa{color:var(--wa); border-color:var(--wa);}
.kk-sec--dark .kk-btn--wa:hover{background:var(--wa); color:#04351F;}
.kk-btns{display:flex; gap:var(--s2); flex-wrap:wrap; margin-top:var(--s6);}

/* ─── Header ───────────────────────────────────────────────── */
.kk-hd{position:sticky; top:0; z-index:50; background:rgba(255,255,255,.82); backdrop-filter:saturate(180%) blur(16px); -webkit-backdrop-filter:saturate(180%) blur(16px); border-bottom:1px solid var(--line);}
.kk-hd::after{content:""; position:absolute; left:0; bottom:-1px; height:1px; width:100%; background:linear-gradient(90deg,transparent,var(--cyan),transparent); opacity:0; transition:opacity 600ms var(--ease);}
.kk-hd.is-stuck::after{opacity:.9;}
.kk-hd__in{display:flex; align-items:center; justify-content:space-between; gap:var(--s3); min-height:78px;}
.kk-hd__nm{font-size:17px; font-weight:700; letter-spacing:-.02em; line-height:1.2;}
.kk-hd__nm a{color:inherit; text-decoration:none;}
.kk-hd__sub{font-family:'DM Mono',monospace; font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--mut); margin-top:3px!important;}
.kk-hd__ax{display:flex; gap:10px;}
.kk-hd .kk-btn{min-height:46px; padding:0 22px; font-size:14px;}
@media(max-width:560px){ .kk-hd__ax .kk-btn--wa{display:none;} }

/* ─── Hero ─────────────────────────────────────────────────── */
.kk-hero{position:relative; overflow:hidden; padding-block:var(--s8) var(--s12);}
@media(min-width:960px){ .kk-hero{padding-block:var(--s12) var(--s16);} }
.kk-hero::before{content:""; position:absolute; z-index:0; top:-20%; right:-10%; width:60vw; height:60vw; max-width:700px; max-height:700px; border-radius:50%; background:radial-gradient(circle,var(--cyan-soft),transparent 65%); filter:blur(20px); pointer-events:none;}
.kk-hero__g{position:relative; z-index:1; display:grid; gap:var(--s8); align-items:center;}
@media(min-width:960px){ .kk-hero__g{grid-template-columns:1.05fr .95fr; gap:var(--s12);} }
.kk-fig{position:relative; margin:0; aspect-ratio:4/5; overflow:hidden; border-radius:6px; background:#111; box-shadow:0 40px 80px -30px rgba(0,0,0,.5);}
.kk-fig img{width:100%; height:100%; object-fit:cover; display:block; transform:scale(1.02); transition:transform 8s var(--ease);}
.kk-fig:hover img{transform:scale(1.07);}
.kk-fig__frame{position:absolute; inset:0; border:1px solid rgba(255,255,255,.14); border-radius:6px; pointer-events:none;}
.kk-fig__tag{position:absolute; left:var(--s3); bottom:var(--s3); z-index:2; display:inline-flex; align-items:center; gap:10px; font-family:'DM Mono',monospace; font-size:12px; letter-spacing:.12em; color:#fff; background:rgba(0,0,0,.5); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); padding:10px 16px; border-radius:999px; border:1px solid rgba(255,255,255,.12);}
.kk-fig__tag i{width:7px; height:7px; border-radius:50%; background:var(--cyan); box-shadow:0 0 10px var(--cyan);}

/* ─── Faktenleiste (3) ─────────────────────────────────────── */
.kk-facts{border-block:1px solid var(--line); background:#FBFBFB;}
.kk-facts__g{display:grid; grid-template-columns:1fr;}
@media(min-width:640px){ .kk-facts__g{grid-template-columns:repeat(3,1fr);} }
.kk-fact{position:relative; padding:var(--s6) var(--s3); border-bottom:1px solid var(--line);}
@media(min-width:640px){ .kk-fact{border-bottom:0; border-right:1px solid var(--line);} .kk-fact:last-child{border-right:0;} }
.kk-fact__v{font-family:'DM Mono',monospace; font-size:clamp(1.35rem,3vw,2.125rem); font-weight:500; letter-spacing:-.03em; white-space:nowrap;}
.kk-fact__l{font-size:13px; color:var(--mut); margin-top:var(--s2)!important;}

/* ─── Statement (zentriert) ────────────────────────────────── */
.kk-say{text-align:center;}
.kk-say .kk-kick{justify-content:center;}
.kk-say__h{font-size:clamp(2rem,4.8vw,3.75rem); line-height:1.05; font-weight:700; letter-spacing:-.04em; text-wrap:balance; margin-inline:auto; max-width:18ch;}
.kk-say__b{font-size:clamp(1.0625rem,1.4vw,1.25rem); line-height:1.6; color:#B4B4B4; max-width:50ch; margin:var(--s6) auto 0!important;}

/* ─── Founder / Personal Brand ─────────────────────────────── */
.kk-founder{display:grid; gap:var(--s8); align-items:center;}
@media(min-width:820px){ .kk-founder{grid-template-columns:.85fr 1.15fr; gap:var(--s12);} }
.kk-founder__fig{position:relative; margin:0; aspect-ratio:4/5; overflow:hidden; border-radius:6px; background:#111; max-width:420px; box-shadow:0 30px 70px -30px rgba(0,0,0,.6);}
.kk-founder__fig img{width:100%; height:100%; object-fit:cover; display:block; filter:grayscale(1) contrast(1.03);}
.kk-founder__fig::after{content:""; position:absolute; inset:0; border:1px solid rgba(255,255,255,.12); border-radius:6px; pointer-events:none;}
.kk-founder__role{font-family:'DM Mono',monospace; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--cyan); margin-top:var(--s3)!important;}
.kk-founder .kk-lead{color:#B4B4B4; margin-top:var(--s4)!important;}

/* ─── Werte 3-up ───────────────────────────────────────────── */
.kk-vals{display:grid; gap:1px; background:var(--line); border:1px solid var(--line); border-radius:6px; overflow:hidden; margin-top:var(--s8);}
@media(min-width:820px){ .kk-vals{grid-template-columns:repeat(3,1fr);} }
.kk-val{position:relative; background:var(--paper); padding:var(--s8) var(--s6); transition:transform var(--dur) var(--ease), background var(--dur) var(--ease);}
.kk-val::before{content:""; position:absolute; left:0; top:0; height:100%; width:2px; background:var(--cyan-ink); transform:scaleY(0); transform-origin:top; transition:transform var(--dur) var(--ease);}
.kk-val:hover{transform:translateY(-4px); background:#FBFBFB;}
.kk-val:hover::before{transform:scaleY(1);}
.kk-val__k{font-family:'DM Mono',monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--cyan-ink); margin-bottom:var(--s3)!important;}
.kk-val__t{font-size:22px; font-weight:600; letter-spacing:-.02em; line-height:1.2; margin-bottom:var(--s2)!important;}
.kk-val__b{font-size:15px; line-height:1.6; color:#565656;}

/* ─── Stimmen 3-up ─────────────────────────────────────────── */
.kk-qs{display:grid; gap:1px; background:var(--line); border:1px solid var(--line); border-radius:6px; overflow:hidden; margin-top:var(--s8);}
@media(min-width:820px){ .kk-qs{grid-template-columns:repeat(3,1fr);} }
.kk-q{background:var(--paper); padding:var(--s8) var(--s6); transition:transform var(--dur) var(--ease), background var(--dur) var(--ease);}
.kk-q:hover{transform:translateY(-4px); background:#FBFBFB;}
.kk-q__m{font-family:'DM Mono',monospace; font-size:26px; line-height:1; color:var(--cyan-ink); margin-bottom:var(--s3);}
.kk-q__t{font-size:17px; line-height:1.55; letter-spacing:-.01em;}
.kk-q__a{font-family:'DM Mono',monospace; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--mut); margin-top:var(--s6)!important;}

/* ─── Hinweis-Band (Eignung) ───────────────────────────────── */
.kk-note{display:grid; gap:var(--s4);}
@media(min-width:768px){ .kk-note{grid-template-columns:1fr 2fr; gap:var(--s12);} }
.kk-note__h{font-size:22px; font-weight:600; letter-spacing:-.02em;}
.kk-note__b{font-size:16px; line-height:1.7; color:#B4B4B4; max-width:56ch;}

/* ─── Schluss-CTA ──────────────────────────────────────────── */
.kk-fin{text-align:center;}
.kk-fin .kk-kick{justify-content:center;}
.kk-fin .kk-btns{justify-content:center;}
.kk-fin .kk-lead{margin-inline:auto;}

/* ─── Footer ───────────────────────────────────────────────── */
.kk-ft{background:var(--ink-dk); color:var(--paper-dk); padding-block:var(--s12) var(--s6);}
.kk-ft__g{display:grid; gap:var(--s8);}
@media(min-width:768px){ .kk-ft__g{grid-template-columns:1.7fr 1fr;} }
.kk-ft__nm{font-size:17px; font-weight:700; letter-spacing:-.02em;}
.kk-ft__d{font-size:15px; line-height:1.7; color:#9E9E9E; margin-top:var(--s2)!important; max-width:38ch;}
.kk-ft__h{font-family:'DM Mono',monospace; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--mut-dk); margin-bottom:var(--s3)!important;}
.kk-ft__l{list-style:none; padding:0; margin:0; display:grid; gap:4px;}
.kk-ft__l a{display:inline-flex; align-items:center; gap:10px; min-height:44px; color:#D4D4D4; text-decoration:none; font-size:15px; transition:color var(--dur) var(--ease);}
.kk-ft__l a:hover{color:var(--cyan);}
.kk-ft__l a:focus-visible{outline:2px solid var(--cyan); outline-offset:3px;}
.kk-ft__l svg{flex:none;}
.kk-ft__rule{border:0; border-top:1px solid var(--line-dk); margin:var(--s12) 0 var(--s6);}
.kk-ft__dis{font-size:13px; line-height:1.7; color:#7A7A7A; max-width:78ch;}
.kk-ft__bot{display:flex; flex-wrap:wrap; gap:var(--s1); align-items:center; margin-top:var(--s4);}
.kk-ft__bot a{display:inline-flex; align-items:center; min-height:44px; padding-inline:10px; color:#9E9E9E; text-decoration:none; font-size:13px; transition:color var(--dur) var(--ease);}
.kk-ft__bot a:first-child{padding-left:0;}
.kk-ft__bot a:hover{color:var(--paper-dk);}
.kk-ft__cp{font-size:13px; color:#5A5A5A; margin-left:auto!important;}
@media(max-width:640px){ .kk-ft__cp{margin-left:0!important; width:100%;} }

/* ─── Floating WhatsApp ────────────────────────────────────── */
.kk-float{position:fixed; right:20px; bottom:20px; z-index:60; display:inline-flex; align-items:center; gap:9px; min-height:54px; padding:0 22px; border-radius:999px; background:var(--wa); color:#04351F; text-decoration:none; font-size:15px; font-weight:600; letter-spacing:-.01em; box-shadow:0 6px 28px rgba(0,0,0,.22); transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);}
.kk-float:hover{transform:translateY(-3px); box-shadow:0 12px 36px rgba(37,211,102,.4);}
.kk-float:focus-visible{outline:2px solid #04351F; outline-offset:3px;}
.kk-float svg{flex:none;}

/* ─── Scroll-Reveal ────────────────────────────────────────── */
.kk-rv{opacity:0; transform:translateY(20px); transition:opacity .7s var(--ease), transform .7s var(--ease);}
.kk-rv.is-in{opacity:1; transform:none;}
@media(prefers-reduced-motion:reduce){
  .kk-page *{transition-duration:.01ms!important;}
  .kk-rv{opacity:1; transform:none;} .kk-fig img{transform:none;}
}

/* ══════════════════════════════════════════════════════════════════════════
   Rechts-/Textseiten (Impressum, Datenschutz, AGB, Kontakt, 404)
   ══════════════════════════════════════════════════════════════════════════ */
.kk-doc{padding-block:var(--s8) var(--s12);}
@media(min-width:768px){ .kk-doc{padding-block:var(--s12) var(--s16);} }
.kk-doc__h{font-size:clamp(2rem,4.4vw,3.25rem); line-height:1.05; font-weight:700; letter-spacing:-.04em;}
.kk-doc__meta{font-family:'DM Mono',monospace; font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--mut); margin-top:var(--s3)!important;}

.kk-prose{margin-top:var(--s8); font-size:16px; line-height:1.75; color:#333;}
.kk-prose h2{font-size:19px; font-weight:600; letter-spacing:-.015em; line-height:1.3; color:var(--ink); margin:var(--s8) 0 var(--s2)!important; padding-top:var(--s4); border-top:1px solid var(--line);}
.kk-prose h2:first-child{margin-top:0!important; padding-top:0; border-top:0;}
.kk-prose h3{font-size:16px; font-weight:600; color:var(--ink); margin:var(--s4) 0 var(--s1)!important;}
.kk-prose p{margin:0 0 var(--s2)!important;}
.kk-prose ul{margin:0 0 var(--s2); padding-left:1.15em;}
.kk-prose li{margin-bottom:6px;}
.kk-prose a{color:var(--cyan-ink); text-underline-offset:3px;}
.kk-prose a:hover{color:var(--ink);}
.kk-prose strong{font-weight:600; color:var(--ink);}
.kk-prose address{font-style:normal; line-height:1.7;}
.kk-prose dl{display:grid; gap:var(--s3); margin:0 0 var(--s3);}
@media(min-width:640px){ .kk-prose dl{grid-template-columns:180px 1fr; gap:var(--s2) var(--s4);} }
.kk-prose dt{font-family:'DM Mono',monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--mut); padding-top:5px;}
.kk-prose dd{margin:0;}
.kk-prose .kk-hours{font-variant-numeric:tabular-nums;}

/* ─── Eingebetteter Buchungskalender (Grib) ────────────────── */
/* Der Kalender lädt erst auf Klick — siehe assets/embed.js. */
.kk-embed{
  margin-top:var(--s8); border:1px solid var(--line); border-radius:6px;
  overflow:hidden; background:#FBFBFB;
}
.kk-embed iframe{
  display:block; width:100%; height:820px; border:0; background:#fff;
}
@media(max-width:640px){ .kk-embed iframe{height:640px;} }

/* Klickfläche vor dem Laden */
.kk-embed__load{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:var(--s2);
  width:100%; min-height:320px; padding:var(--s8) var(--s6);
  background:#FBFBFB; border:0; border-radius:6px; cursor:pointer;
  font-family:inherit; text-align:center;
  transition:background var(--dur) var(--ease);
}
.kk-embed__load:hover{background:#F4F4F4;}
.kk-embed__load:focus-visible{outline:2px solid var(--cyan-ink); outline-offset:-4px;}
.kk-embed__t{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:54px; padding:0 30px; border-radius:999px;
  background:var(--ink); color:var(--paper);
  font-size:15px; font-weight:500; letter-spacing:-.01em;
  transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.kk-embed__load:hover .kk-embed__t{transform:translateY(-2px); box-shadow:0 12px 30px rgba(0,0,0,.22);}
.kk-embed__h{
  max-width:56ch; font-size:13px; line-height:1.6; color:var(--mut);
}
/* dunkle Sektionen */
.kk-sec--dark .kk-embed{border-color:var(--line-dk); background:#111;}
.kk-sec--dark .kk-embed__load{background:#111;}
.kk-sec--dark .kk-embed__load:hover{background:#161616;}
.kk-sec--dark .kk-embed__t{background:var(--paper-dk); color:var(--ink-dk);}
.kk-sec--dark .kk-embed__h{color:#8A8A8A;}

/* Zusatzzeile unter dem Kalender */
.kk-embed-alt{
  margin-top:var(--s3); font-size:14px; color:var(--mut);
}
.kk-embed-alt a{color:var(--cyan-ink); text-underline-offset:3px;}
.kk-sec--dark .kk-embed-alt{color:#8A8A8A;}
.kk-sec--dark .kk-embed-alt a{color:var(--cyan);}
