/* ===========================================================
   Mut zur Geburt — Stylesheet
   Ausgelagert aus der urspruenglichen HTML-Datei.
   =========================================================== */

/* ─── LOKALE SCHRIFTEN (DSGVO-konform, kein Google-Server) ───
   Schriftdateien liegen in assets/fonts/. Pfad relativ zu dieser
   CSS-Datei: eine Ebene hoch (../), dann assets/fonts/.
   ----------------------------------------------------------- */
@font-face{
  font-family:'Playfair Display';font-style:normal;font-weight:400;
  font-display:swap;src:url('../assets/fonts/playfair-400.woff2') format('woff2');
}
@font-face{
  font-family:'Playfair Display';font-style:italic;font-weight:400;
  font-display:swap;src:url('../assets/fonts/playfair-400-italic.woff2') format('woff2');
}
@font-face{
  font-family:'Playfair Display';font-style:normal;font-weight:700;
  font-display:swap;src:url('../assets/fonts/playfair-700.woff2') format('woff2');
}
@font-face{
  font-family:'DM Sans';font-style:normal;font-weight:300;
  font-display:swap;src:url('../assets/fonts/dmsans-300.woff2') format('woff2');
}
@font-face{
  font-family:'DM Sans';font-style:normal;font-weight:400;
  font-display:swap;src:url('../assets/fonts/dmsans-400.woff2') format('woff2');
}
@font-face{
  font-family:'DM Sans';font-style:normal;font-weight:500;
  font-display:swap;src:url('../assets/fonts/dmsans-500.woff2') format('woff2');
}
@font-face{
  font-family:'DM Sans';font-style:normal;font-weight:600;
  font-display:swap;src:url('../assets/fonts/dmsans-600.woff2') format('woff2');
}

*{box-sizing:border-box;margin:0;padding:0;}

:root{
  --warm:#FFF8F0;
  --paper:#FEF3E5;
  --clay:#C05E35;
  --clay-l:#D4795A;
  --clay-d:#9A4624;
  --moss:#2E4034;
  --moss-l:#3F5847;
  --blush:#EDB99A;
  --blush-l:#F5D6C4;
  --ink:#1C2920;
  --muted:#8A8178;
}

html{scroll-behavior:smooth;}
body{
  background:var(--warm);
  color:var(--ink);
  font-family:'DM Sans',sans-serif;
  overflow-x:hidden;
}

/* ─── CURSOR ─────────────────────────────── */
.cursor{
  width:12px;height:12px;
  background:var(--clay);
  border-radius:50%;
  position:fixed;top:0;left:0;
  pointer-events:none;z-index:9999;
  transition:transform 0.15s ease, opacity 0.2s;
  mix-blend-mode:multiply;
}
.cursor-ring{
  width:36px;height:36px;
  border:1.5px solid var(--clay);
  border-radius:50%;
  position:fixed;top:0;left:0;
  pointer-events:none;z-index:9998;
  transition:transform 0.35s cubic-bezier(.19,1,.22,1), width 0.25s, height 0.25s, opacity 0.2s;
  opacity:0.55;
}

/* ─── NAV ─────────────────────────────────── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;justify-content:space-between;align-items:center;
  padding:22px 48px;
  transition:background 0.4s, padding 0.4s;
}
nav.scrolled{
  background:rgba(255,248,240,0.92);
  backdrop-filter:blur(12px);
  padding:16px 48px;
  border-bottom:1px solid rgba(192,94,53,0.15);
}
.logo{
  font-family:'Playfair Display';font-size:22px;font-weight:700;
  color:var(--moss);letter-spacing:-0.01em;
}
.logo span{color:var(--clay);font-style:italic;}
.nav-links{display:flex;gap:32px;align-items:center;}
.nav-links a{
  font-size:14px;font-weight:500;color:var(--ink);text-decoration:none;
  position:relative;padding-bottom:2px;
}
.nav-links a::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:1.5px;
  background:var(--clay);transform:scaleX(0);transform-origin:left;
  transition:transform 0.3s ease;
}
.nav-links a:hover::after{transform:scaleX(1);}
.nav-cta{
  font-size:14px;font-weight:600;color:var(--warm);background:var(--clay);
  padding:11px 24px;border-radius:40px;text-decoration:none;
  transition:background 0.25s, transform 0.2s;
}
.nav-cta:hover{background:var(--clay-d);transform:translateY(-1px);}

/* ─── HERO ─────────────────────────────────── */
.hero{
  min-height:100vh;display:flex;align-items:center;
  padding:120px 48px 80px;
  position:relative;overflow:hidden;
}
.hero-bg-circle{
  position:absolute;
  border-radius:50%;
  pointer-events:none;
}
.hbc1{width:600px;height:600px;background:var(--blush-l);top:-100px;right:-150px;opacity:0.5;}
.hbc2{width:350px;height:350px;background:var(--blush);bottom:-80px;right:80px;opacity:0.35;}

.hero-inner{max-width:1160px;margin:0 auto;width:100%;display:grid;grid-template-columns:1fr 440px;gap:80px;align-items:center;}

.hero-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:12px;letter-spacing:0.1em;text-transform:uppercase;color:var(--clay);
  font-weight:600;margin-bottom:24px;
}
.eyebrow-dot{width:6px;height:6px;border-radius:50%;background:var(--clay);}
.hero h1{
  font-family:'Playfair Display';font-size:68px;line-height:1.02;
  color:var(--moss);
}
.hero h1 em{color:var(--clay);font-style:italic;}
.hero-sub{font-size:18px;color:var(--muted);line-height:1.65;margin:28px 0 40px;max-width:500px;}

.hero-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;}
.btn-primary{
  display:inline-flex;align-items:center;gap:10px;
  font-size:15px;font-weight:600;color:var(--warm);
  background:var(--moss);padding:16px 30px;border-radius:40px;text-decoration:none;
  transition:background 0.25s, transform 0.2s, box-shadow 0.25s;
}
.btn-primary:hover{background:var(--ink);transform:translateY(-2px);box-shadow:0 8px 28px rgba(30,40,30,0.2);}
.btn-primary .arrow{transition:transform 0.25s;}
.btn-primary:hover .arrow{transform:translateX(4px);}
.btn-secondary{
  display:inline-flex;align-items:center;gap:8px;
  font-size:15px;font-weight:500;color:var(--moss);
  border:1.5px solid var(--moss);padding:15px 28px;border-radius:40px;text-decoration:none;
  transition:background 0.25s, color 0.25s, transform 0.2s;
}
.btn-secondary:hover{background:var(--moss);color:var(--warm);transform:translateY(-2px);}

/* HERO CARD STACK */
.hero-cards{position:relative;height:420px;}
.hcard{
  position:absolute;border-radius:24px;padding:28px;
  transition:transform 0.4s cubic-bezier(.19,1,.22,1);
}
.hcard:hover{transform:translateY(-8px) rotate(0deg) !important;}
.hcard-main{
  width:100%;background:var(--moss);color:var(--warm);
  top:0;left:0;
}
.hcard-main h3{font-family:'Playfair Display';font-size:22px;margin-bottom:8px;font-weight:400;}
.hcard-main p{font-size:14px;opacity:0.75;line-height:1.55;}
.hcard-stat{
  background:var(--clay);color:var(--warm);
  width:180px;bottom:30px;left:-20px;
  transform:rotate(-4deg);
  padding:20px 22px;
}
.hcard-stat .big{font-family:'Playfair Display';font-size:36px;line-height:1;}
.hcard-stat .label{font-size:12px;opacity:0.8;margin-top:4px;}
.hcard-note{
  background:var(--paper);border:1.5px solid var(--blush);
  width:200px;bottom:20px;right:-10px;
  transform:rotate(3deg);
  font-size:13px;color:var(--ink);
}
.hcard-note .tag{font-weight:600;color:var(--clay);font-size:11px;letter-spacing:0.05em;text-transform:uppercase;margin-bottom:8px;}
.hcard-note p{line-height:1.5;}

/* ─── TRUST BAR ─────────────────────────── */
.trust-bar{
  background:var(--moss);padding:20px 48px;
  display:flex;gap:0;overflow:hidden;
}
.trust-item{
  display:flex;align-items:center;gap:12px;padding:0 40px;
  border-right:1px solid rgba(255,255,255,0.12);color:rgba(255,255,255,0.75);
  font-size:14px;white-space:nowrap;
}
.trust-item:first-child{padding-left:0;}
.trust-item strong{color:#fff;font-weight:600;}
.trust-dot{width:5px;height:5px;border-radius:50%;background:var(--clay-l);flex-shrink:0;}

/* ─── SECTIONS ─────────────────────────── */
section{padding:100px 48px;}
.inner{max-width:1160px;margin:0 auto;}
.sec-label{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12px;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--clay);font-weight:600;margin-bottom:18px;
}
.sec-label::before{content:'';width:24px;height:1.5px;background:var(--clay);display:block;}
h2.sec-title{font-family:'Playfair Display';font-size:42px;line-height:1.08;color:var(--moss);max-width:600px;}
.sec-body{font-size:16px;color:var(--muted);margin-top:16px;max-width:540px;line-height:1.7;}

/* ─── THEMEN ─────────────────────────── */
.themes-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.5px;
  background:rgba(46,64,52,0.12);
  margin-top:56px;
  border:1.5px solid rgba(46,64,52,0.12);
}
.theme-tile{
  background:var(--warm);padding:32px 28px;
  transition:background 0.3s, color 0.3s;
  cursor:default;
  position:relative;overflow:hidden;
}
.theme-tile::before{
  content:'';position:absolute;
  bottom:0;left:0;right:0;height:3px;
  background:var(--clay);transform:scaleX(0);transform-origin:left;
  transition:transform 0.35s ease;
}
.theme-tile:hover{background:var(--moss);}
.theme-tile:hover .tt-num{color:rgba(255,255,255,0.3);}
.theme-tile:hover .tt-title{color:#fff;}
.theme-tile:hover .tt-body{color:rgba(255,255,255,0.7);}
.theme-tile:hover::before{transform:scaleX(1);}
.tt-num{font-family:'Playfair Display';font-size:13px;color:rgba(46,64,52,0.35);margin-bottom:14px;transition:color 0.3s;}
.tt-title{font-size:17px;font-weight:600;color:var(--moss);margin-bottom:8px;line-height:1.3;transition:color 0.3s;}
.tt-body{font-size:14px;color:var(--muted);line-height:1.6;transition:color 0.3s;}

/* ─── HEBAMMEN ─────────────────────────── */
section.hebammen-sec{background:var(--paper);}
.hebammen-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:60px;}
.hebamme{
  background:var(--warm);border-radius:24px;overflow:hidden;
  transition:transform 0.35s cubic-bezier(.19,1,.22,1), box-shadow 0.35s;
}
.hebamme:hover{transform:translateY(-6px);box-shadow:0 20px 60px rgba(46,64,52,0.12);}
.hebamme-img{
  aspect-ratio:3/4;background:var(--blush-l);
  display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;
}
.hebamme-img img{
  width:100%;height:100%;object-fit:cover;display:block;
}
.hebamme-img-overlay{
  position:absolute;inset:0;background:var(--moss);
  opacity:0;transition:opacity 0.3s;
  display:flex;align-items:center;justify-content:center;
}
.hebamme:hover .hebamme-img-overlay{opacity:0.65;}
.hebamme-img-overlay span{color:#fff;font-size:14px;font-weight:500;letter-spacing:0.04em;}
.hebamme-img-placeholder{color:var(--muted);font-size:13px;}
.hebamme-body{padding:28px 28px 32px;}
.hebamme-body h3{font-family:'Playfair Display';font-size:24px;color:var(--moss);margin-bottom:4px;}
.hebamme-tag{font-size:12px;text-transform:uppercase;letter-spacing:0.08em;font-weight:600;color:var(--clay);margin-bottom:14px;}
.hebamme-body p{font-size:14px;color:var(--muted);line-height:1.65;}

/* ─── TERMINE ─────────────────────────── */
.termine-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:12px;margin-top:56px;
}
.termin{
  border:1.5px solid rgba(46,64,52,0.15);border-radius:16px;
  padding:22px 20px;
  transition:border-color 0.25s, background 0.25s, transform 0.25s;
  cursor:default;
}
.termin:not(.voll):hover{
  background:var(--moss);border-color:var(--moss);
  transform:translateY(-4px);
}
.termin:not(.voll):hover .t-month{color:rgba(255,255,255,0.6);}
.termin:not(.voll):hover .t-dates{color:#fff;}
.termin:not(.voll):hover .t-badge{background:rgba(255,255,255,0.15);color:rgba(255,255,255,0.9);}
.termin.voll{opacity:0.4;pointer-events:none;}
.t-month{font-size:11px;text-transform:uppercase;letter-spacing:0.08em;color:var(--muted);margin-bottom:8px;transition:color 0.25s;}
.t-dates{font-family:'Playfair Display';font-size:19px;color:var(--moss);transition:color 0.25s;}
.t-badge{
  display:inline-block;margin-top:12px;
  font-size:11px;font-weight:600;padding:4px 10px;border-radius:20px;
  background:rgba(192,94,53,0.1);color:var(--clay);transition:background 0.25s, color 0.25s;
}
.termin.voll .t-badge{background:rgba(138,129,120,0.12);color:var(--muted);}

/* ─── PREISE / INFO ─────────────────────── */
.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:56px;}
.info-card{
  border:1.5px solid rgba(46,64,52,0.15);
  border-radius:20px;padding:36px 32px;
  transition:border-color 0.3s, transform 0.3s, background 0.3s;
}
.info-card:hover{border-color:var(--clay);transform:translateY(-4px);background:var(--paper);}
.info-big{font-family:'Playfair Display';font-size:48px;color:var(--clay);line-height:1;}
.info-label{font-size:13px;font-weight:600;color:var(--moss);margin:8px 0 6px;}
.info-desc{font-size:14px;color:var(--muted);line-height:1.6;}

/* ─── ANMELDUNG CTA ─────────────────────── */
.cta-section{
  background:var(--moss);padding:120px 48px;text-align:center;
  position:relative;overflow:hidden;
}
.cta-bg1{position:absolute;width:500px;height:500px;border-radius:50%;border:1px solid rgba(255,255,255,0.06);top:-200px;left:-200px;}
.cta-bg2{position:absolute;width:400px;height:400px;border-radius:50%;border:1px solid rgba(255,255,255,0.06);bottom:-150px;right:-100px;}
.cta-section h2{font-family:'Playfair Display';font-size:50px;color:#fff;margin-bottom:18px;}
.cta-section p{font-size:18px;color:rgba(255,255,255,0.65);margin-bottom:40px;max-width:480px;margin-left:auto;margin-right:auto;}
.btn-cta{
  display:inline-flex;align-items:center;gap:12px;
  font-size:16px;font-weight:600;color:var(--moss);
  background:#fff;padding:18px 36px;border-radius:40px;text-decoration:none;
  transition:transform 0.25s, box-shadow 0.25s;
}
.btn-cta:hover{transform:translateY(-3px);box-shadow:0 12px 40px rgba(0,0,0,0.25);}
.insta-link{
  display:inline-flex;align-items:center;gap:8px;margin-top:28px;
  color:rgba(255,255,255,0.5);font-size:14px;text-decoration:none;
  transition:color 0.2s;
}
.insta-link:hover{color:rgba(255,255,255,0.9);}

/* ─── FOOTER ─────────────────────────── */
footer{
  background:var(--ink);display:flex;justify-content:space-between;
  align-items:center;padding:28px 48px;flex-wrap:wrap;gap:12px;
}
footer .f-logo{font-family:'Playfair Display';font-size:17px;color:rgba(255,255,255,0.5);}
footer .f-logo span{color:var(--clay-l);font-style:italic;}
footer a{font-size:13px;color:rgba(255,255,255,0.4);text-decoration:none;margin-left:24px;transition:color 0.2s;}
footer a:hover{color:rgba(255,255,255,0.8);}

/* ─── SCROLL REVEAL ─────────────────────── */
.reveal{opacity:0;transform:translateY(30px);transition:opacity 0.7s ease, transform 0.7s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}
.reveal-delay-1{transition-delay:0.1s;}
.reveal-delay-2{transition-delay:0.2s;}
.reveal-delay-3{transition-delay:0.3s;}

@media(max-width:900px){
  nav{padding:20px 24px;}
  .hero{padding:100px 24px 60px;}
  .hero-inner{grid-template-columns:1fr;}
  .hero-cards{display:none;}
  .hero h1{font-size:44px;}
  section{padding:70px 24px;}
  .themes-grid{grid-template-columns:repeat(2,1fr);}
  .hebammen-grid{grid-template-columns:1fr;}
  .info-grid{grid-template-columns:1fr;}
  .trust-bar{flex-wrap:wrap;padding:16px 24px;gap:12px;}
  footer{padding:24px;flex-direction:column;text-align:center;}
  footer a{margin-left:12px;margin-right:12px;}
  .nav-links{display:none;}
}
