@import url("fonts.css");

/* ============================================================
   Einbeingang - geteiltes Theme (Farbwelt der Speaker-Seite)
   Dunkel, edel, cinematisch. Smaragd als Marke, Gold als Akzent.
   ============================================================ */
:root{
  --brand:#00a86b; --brand-soft:#24c98a; --brand-dim:rgba(0,168,107,.16); --brand-line:rgba(0,168,107,.32);
  --gold:#d4af37; --gold-soft:#f0d060; --gold-dim:rgba(212,175,55,.16);
  --bg-0:#060606; --bg-1:#0c0c0c; --bg-2:#121212; --bg-3:#181818; --surface:#131313;
  --fg:#f4f2ee; --fg-2:#c9c6c0; --fg-3:#8f8c86; --fg-4:#5c5a55;
  --border:rgba(255,255,255,.08); --border-md:rgba(255,255,255,.14);
  --live:#ff3b5c;
  --radius:18px; --radius-lg:24px;
  --ease:cubic-bezier(.65,0,.35,1); --dur-fast:.3s; --dur-base:.6s; --dur-slow:1.1s;
  --container:34rem;
  --font-serif:'Playfair Display',Georgia,serif;
  --font-sans:'Inter',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{-webkit-text-size-adjust:100%;}
body{
  min-height:100vh;
  font-family:var(--font-sans);
  color:var(--fg);
  background:var(--bg-0);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  position:relative;
  overflow-x:hidden;
}
::selection{background:var(--brand);color:#04150d;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}

/* ---- Mesh-Gradient-Hintergrund (lebendig, langsam wandernd) ---- */
.aurora{position:fixed;inset:-30%;z-index:-2;pointer-events:none;filter:blur(60px) saturate(1.15);opacity:.95;
  background:
    radial-gradient(30rem 26rem at 12% 18%, rgba(0,168,107,.42), transparent 60%),
    radial-gradient(26rem 24rem at 88% 12%, rgba(212,175,55,.20), transparent 60%),
    radial-gradient(34rem 30rem at 78% 72%, rgba(36,201,138,.34), transparent 62%),
    radial-gradient(24rem 22rem at 22% 84%, rgba(0,168,107,.28), transparent 60%),
    radial-gradient(40rem 34rem at 50% 50%, rgba(212,175,55,.10), transparent 66%);
  background-color:var(--bg-0);
  animation:meshDrift 26s ease-in-out infinite alternate;}
.aurora::before,.aurora::after{content:"";position:absolute;inset:0;}
.aurora::before{mix-blend-mode:screen;opacity:.8;
  background:
    radial-gradient(22rem 22rem at 70% 20%, rgba(0,168,107,.30), transparent 60%),
    radial-gradient(20rem 20rem at 25% 55%, rgba(212,175,55,.14), transparent 62%),
    radial-gradient(26rem 24rem at 55% 90%, rgba(36,201,138,.26), transparent 60%);
  animation:meshDrift2 34s ease-in-out infinite alternate;}
.aurora::after{background:radial-gradient(65rem 55rem at 50% -12%, transparent, rgba(6,6,6,.5) 72%);}
@keyframes meshDrift{
  0%{transform:translate3d(-4%,-3%,0) scale(1) rotate(0deg);}
  50%{transform:translate3d(4%,2%,0) scale(1.08) rotate(4deg);}
  100%{transform:translate3d(-2%,4%,0) scale(1.04) rotate(-3deg);}
}
@keyframes meshDrift2{
  0%{transform:translate3d(3%,4%,0) scale(1.05) rotate(-2deg);}
  50%{transform:translate3d(-4%,-2%,0) scale(1) rotate(3deg);}
  100%{transform:translate3d(2%,-4%,0) scale(1.07) rotate(1deg);}
}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg, rgba(6,6,6,.15), rgba(6,6,6,.6) 62%, var(--bg-0));}

/* ---- Film-Grain-Overlay ---- */
.grain{position:fixed;inset:0;z-index:60;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}

/* ---- Spotlight-Cursor (folgt der Maus) ---- */
.spotlight{position:fixed;top:0;left:0;width:34rem;height:34rem;z-index:0;pointer-events:none;
  transform:translate3d(-50%,-50%,0);left:var(--mx,-999px);top:var(--my,-999px);
  background:radial-gradient(circle, rgba(0,168,107,.10), rgba(0,168,107,.04) 35%, transparent 60%);
  opacity:0;transition:opacity .4s ease;}
body.has-spot .spotlight{opacity:1;}

/* ---- Typografie ---- */
.serif{font-family:var(--font-serif);}
.eyebrow{font-family:var(--font-sans);font-size:.7rem;font-weight:600;letter-spacing:.26em;
  text-transform:uppercase;color:var(--brand);display:inline-flex;align-items:center;gap:.6rem;}
.eyebrow::before,.eyebrow::after{content:"";width:1.6rem;height:1px;background:var(--brand);display:inline-block;flex-shrink:0;}
.rule{height:1px;border:0;background:linear-gradient(90deg,transparent,var(--border-md),transparent);margin:1.4rem 0;}
.divider-gold{height:1px;border:0;width:3rem;background:linear-gradient(90deg,var(--gold),transparent);}

/* ---- Buttons (Pill, magnetisch + Shine) ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:var(--font-sans);font-size:.9rem;font-weight:600;line-height:1;cursor:pointer;
  padding:.85rem 1.5rem;border-radius:999px;border:1px solid transparent;
  transition:transform var(--dur-fast) var(--ease),background var(--dur-fast),box-shadow var(--dur-fast),border-color var(--dur-fast);
  position:relative;overflow:hidden;}
.btn-primary{background:var(--brand);color:#04150d;}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 34px rgba(0,168,107,.28);}
.btn-ghost{background:rgba(255,255,255,.04);border-color:var(--border-md);color:var(--fg);}
.btn-ghost:hover{border-color:var(--brand-line);color:var(--brand-soft);transform:translateY(-2px);}
.btn-danger{background:rgba(255,80,80,.14);border-color:rgba(255,80,80,.3);color:#ff9090;}
.btn-danger:hover{background:rgba(255,80,80,.24);}
.btn-sm{padding:.5rem 1rem;font-size:.8rem;}
.btn-full{width:100%;}
/* Shine-Sweep */
.shine::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.22) 48%,transparent 62%);
  transform:translateX(-120%);transition:transform .7s var(--ease);}
.shine:hover::after{transform:translateX(120%);}

/* ---- Footer / Legal (Startseite + Rechtstexte) ---- */
.legal-links{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap;margin-top:1.4rem;}
.legal-links a{font-size:.8rem;color:var(--fg-3);padding:.5rem .95rem;border-radius:999px;
  border:1px solid var(--border);transition:.2s;}
.legal-links a:hover{color:var(--fg);border-color:var(--brand-line);}
.site-foot{text-align:center;font-size:.72rem;color:var(--fg-4);margin-top:1rem;letter-spacing:.02em;}

/* ---- Rechtstexte (zentriert, im Startseiten-Look) ---- */
.legaldoc{max-width:40rem;margin:0 auto;padding:clamp(2rem,6vw,3.4rem) 1.25rem 2.6rem;position:relative;z-index:1;text-align:center;}
.legaldoc .avatar{display:block;width:86px;height:86px;border-radius:50%;margin:0 auto 1rem;overflow:hidden;
  border:1px solid var(--brand-line);box-shadow:0 0 0 6px rgba(0,168,107,.08),0 18px 50px rgba(0,0,0,.55);transition:transform var(--dur-fast) var(--ease);}
.legaldoc .avatar:hover{transform:translateY(-2px);}
.legaldoc .avatar img{width:100%;height:100%;object-fit:cover;}
.legaldoc .who{font-family:var(--font-serif);font-size:clamp(1.5rem,6vw,2rem);font-weight:700;letter-spacing:-.02em;margin:.5rem 0 .9rem;}
.legaldoc .who em{font-style:italic;color:var(--brand-soft);}
.legaldoc .doc-title{font-family:var(--font-serif);font-size:clamp(1.9rem,7vw,2.7rem);font-weight:700;letter-spacing:-.02em;margin-top:.2rem;}
.legaldoc .sub{color:var(--fg-3);font-size:.85rem;margin-bottom:1.6rem;}
.legaldoc .box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.15rem 1.25rem;margin-top:.75rem;text-align:left;
  transition:border-color var(--dur-fast),box-shadow var(--dur-fast),transform var(--dur-fast) var(--ease);}
.legaldoc .box:hover{border-color:var(--brand-line);box-shadow:0 10px 30px rgba(0,0,0,.35),0 0 22px rgba(0,168,107,.1);transform:translateY(-2px);}
.legaldoc .box h2{font-size:.95rem;font-weight:700;margin-bottom:.6rem;color:var(--fg);display:flex;align-items:center;gap:.55rem;}
.legaldoc .box h2::before{content:"";width:.5rem;height:.5rem;border-radius:2px;background:var(--brand);flex-shrink:0;}
.legaldoc .box p{color:var(--fg-2);font-size:.9rem;font-weight:300;line-height:1.75;}
.legaldoc .box p + p{margin-top:.55rem;}
.legaldoc .box ul{color:var(--fg-2);font-size:.9rem;font-weight:300;line-height:1.85;padding-left:1.15rem;margin-top:.5rem;}
.legaldoc .mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--fg-2);background:rgba(0,0,0,.25);
  border:1px solid var(--border);padding:.8rem 1rem;border-radius:11px;font-size:.85rem;line-height:1.8;margin-top:.5rem;}

/* ---- Reduced Motion ---- */
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;}
  .aurora{animation:none;}
  .spotlight{display:none;}
}
