:root{
  --white:#ffffff;
  --cream:#fdfbf9;
  --ink:#3f342e;
  --ink-soft:#6e5f57;
  --pink:#f3d9d3;
  --pink-strong:#e8ab9f;
  --lav:#e2d6fb;
  --lav-strong:#c9b3f2;
  --mint:#dcf1e6;
  --mint-strong:#b3e0c6;
  --lilac:#e2d6fb;
  --lilac-strong:#c9b3f2;
  --taupe:#cdbdae;
  --taupe-strong:#b6a48f;
  --rose:#e8ab9f;
  --rose-strong:#d68f82;
  --accent:#d68f82;
  --accent-dark:#b96f61;
  --black:#1c1713;
  --white-70:rgba(255,255,255,0.7);
  --radius:22px;
  --shadow:0 20px 45px -25px rgba(120,90,110,0.35);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Poppins',sans-serif;
  color:var(--ink);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.wrap{width:100%;max-width:1140px;margin:0 auto;padding:0 24px;}

h1,h2,h3{
  font-family:'Poppins',sans-serif;
  font-weight:600;
  line-height:1.15;
  margin:0 0 18px;
  color:var(--ink);
}
h1{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:500;}
h2{font-size:clamp(1.7rem,3.2vw,2.4rem);}
h3{font-size:1.25rem;margin-bottom:10px;}
p{line-height:1.7;color:var(--ink-soft);margin:0 0 16px;}

.script-accent{
  font-family:'Caveat',cursive;
  font-weight:600;
  color:var(--accent-dark);
  font-size:1.15em;
}
.on-dark .script-accent{color:var(--lilac-strong);}

.eyebrow{
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.78rem;
  font-weight:600;
  color:var(--accent-dark);
  margin:0 0 10px;
}
.center{text-align:center;}
.section-lead.center{max-width:620px;margin-left:auto;margin-right:auto;}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:15px 32px;
  border-radius:999px;
  font-weight:500;
  font-size:.98rem;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.btn-primary{
  background:var(--accent);
  color:#fff;
  box-shadow:0 15px 30px -12px rgba(184,120,145,0.55);
}
.btn-primary:hover{background:var(--accent-dark);transform:translateY(-2px);}
.btn-ghost{
  background:transparent;
  color:var(--ink);
  border:1.5px solid var(--pink-strong);
}
.btn-ghost:hover{background:var(--pink);transform:translateY(-2px);}

/* Header */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,0.85);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(0,0,0,0.05);
}
.header-inner{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:16px;
  padding:10px 24px;
}
.brand{
  justify-self:center;
  display:flex;align-items:center;
}
.brand-logo{
  height:58px;width:auto;display:block;
}

.main-nav-left ul{justify-content:flex-end;}
.main-nav-right ul{justify-content:flex-start;}

.main-nav ul{
  list-style:none;display:flex;align-items:center;gap:30px;margin:0;padding:0;
}
.main-nav a{
  font-size:.92rem;font-weight:500;color:var(--ink-soft);
  white-space:nowrap;
  transition:color .2s ease;
}
.main-nav a:hover{color:var(--accent-dark);}
.nav-cta{
  background:var(--pink);
  padding:10px 20px;
  border-radius:999px;
  color:var(--ink) !important;
  font-weight:500;
}
.nav-cta:hover{background:var(--pink-strong);}

.nav-toggle{
  display:none;flex-direction:column;gap:5px;
  background:none;border:none;cursor:pointer;padding:8px;
  justify-self:end;
}
.nav-toggle span{width:22px;height:2px;background:var(--ink);border-radius:2px;}

.mobile-nav{display:none;}
.mobile-nav ul{
  list-style:none;margin:0;padding:0;
  flex-direction:column;align-items:flex-start;gap:18px;
  background:#fff;padding:20px 24px 30px;
  box-shadow:0 20px 30px -20px rgba(0,0,0,0.2);
}
.mobile-nav ul.open{display:flex;}
.mobile-nav ul:not(.open){display:none;}
.mobile-nav a{font-size:.95rem;font-weight:500;color:var(--ink-soft);}

/* Full-page slider */
.slider{
  position:relative;
  height:calc(100vh - 78px);
  min-height:520px;
  overflow:hidden;
}
.slider-track{
  display:flex;
  height:100%;
  transition:transform .7s cubic-bezier(.65,0,.35,1);
}
.slide{
  flex:0 0 100%;
  height:100%;
  position:relative;
  display:flex;align-items:center;
  overflow:hidden;
}
.slide-1{background:linear-gradient(135deg,var(--cream) 0%,var(--pink) 100%);}
.slide-2{background:linear-gradient(135deg,var(--lav) 0%,var(--cream) 60%,var(--pink) 130%);}
.slide-3{background:linear-gradient(135deg,var(--mint) 0%,var(--cream) 60%,var(--lav) 130%);}
.slide-4{background:linear-gradient(135deg,var(--pink) 0%,var(--cream) 55%,var(--mint) 130%);}

.slide-inner{position:relative;z-index:1;max-width:760px;text-align:center;margin:0 auto;}
.slide-logo{
  width:360px;height:auto;margin:0 auto 22px;
  filter:drop-shadow(0 10px 20px rgba(0,0,0,0.08));
}
.slide h1{margin-bottom:16px;}
.slide .eyebrow{justify-content:center;}
.slide .hero-text{max-width:560px;margin-left:auto;margin-right:auto;font-size:1.05rem;}
.slide .hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:8px;justify-content:center;}

.hero-blob{
  position:absolute;border-radius:50%;filter:blur(10px);opacity:.55;z-index:0;
}
.blob-1{width:340px;height:340px;background:var(--pink-strong);top:-120px;right:-80px;}
.blob-2{width:260px;height:260px;background:var(--lav-strong);bottom:-100px;left:-60px;}
.blob-3{width:180px;height:180px;background:var(--taupe);top:40%;right:10%;opacity:.5;}

.slider-arrow{
  position:absolute;top:50%;transform:translateY(-50%);
  width:48px;height:48px;border-radius:50%;
  border:1px solid rgba(43,38,38,0.15);
  background:rgba(255,255,255,0.75);
  backdrop-filter:blur(6px);
  font-size:1.6rem;line-height:1;color:var(--ink);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;z-index:2;
  transition:background .2s ease, transform .2s ease;
}
.slider-arrow:hover{background:#fff;transform:translateY(-50%) scale(1.06);}
.slider-prev{left:20px;}
.slider-next{right:20px;}

.slider-dots{
  position:absolute;bottom:28px;left:0;right:0;
  display:flex;justify-content:center;gap:10px;z-index:2;
}
.slider-dot{
  width:10px;height:10px;border-radius:50%;
  background:rgba(43,38,38,0.25);
  border:none;cursor:pointer;padding:0;
  transition:background .25s ease, transform .25s ease;
}
.slider-dot.active{background:var(--accent-dark);transform:scale(1.25);}

.slider-scroll{
  position:absolute;bottom:26px;right:28px;z-index:2;
  width:30px;height:46px;border:1.5px solid rgba(43,38,38,0.35);
  border-radius:999px;
  display:none;
}
.slider-scroll span{
  position:absolute;top:8px;left:50%;transform:translateX(-50%);
  width:4px;height:8px;border-radius:2px;background:var(--accent-dark);
  animation:scrollDot 1.8s infinite;
}
@keyframes scrollDot{
  0%{opacity:1;top:8px;}
  70%{opacity:0;top:24px;}
  100%{opacity:0;top:8px;}
}

/* generic section spacing */
.section{padding:90px 0;}
.section h2{margin-bottom:16px;}
.section-lead{margin-bottom:48px;font-size:1.02rem;}

/* Ueber mich */
.ueber-mich{background:var(--cream);}
.ueber-grid{
  display:grid;grid-template-columns:1fr 1.3fr;gap:60px;align-items:center;
}
.ueber-visual{
  position:relative;height:320px;
}
.ueber-card{
  position:absolute;border-radius:var(--radius);box-shadow:var(--shadow);
}
.card-pink{width:70%;height:70%;background:linear-gradient(145deg,var(--pink),var(--pink-strong));top:0;left:0;}
.card-lav{width:55%;height:55%;background:linear-gradient(145deg,var(--lav),var(--lav-strong));bottom:0;right:0;}
.card-mint{width:38%;height:38%;background:linear-gradient(145deg,var(--mint),var(--mint-strong));bottom:10%;left:20%;}

/* Cards grid */
.card-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:20px;
}
.feature-card{
  padding:36px 28px;border-radius:var(--radius);
  box-shadow:var(--shadow);
  transition:transform .3s ease, box-shadow .3s ease;
}
.feature-card:hover{transform:translateY(-6px);}
.fc-icon{font-size:1.8rem;margin-bottom:14px;}
.fc-pink{background:linear-gradient(160deg,#fff,var(--pink) 130%);}
.fc-lav{background:linear-gradient(160deg,#fff,var(--lav) 130%);}
.fc-mint{background:linear-gradient(160deg,#fff,var(--mint) 130%);}
.fc-taupe{background:linear-gradient(160deg,#fff,var(--taupe) 130%);}
.feature-card h3{color:var(--ink);}
.feature-card p{margin-bottom:0;}

.technik{background:var(--cream);}

/* Quote */
.quote-section{
  padding:100px 0;
  background:var(--black);
  position:relative;
  overflow:hidden;
}
.quote-section::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 20% 20%, rgba(226,214,251,0.12), transparent 55%),
             radial-gradient(circle at 80% 80%, rgba(246,219,228,0.10), transparent 55%);
  pointer-events:none;
}
.quote-section blockquote{
  position:relative;z-index:1;
  margin:0 auto;max-width:720px;text-align:center;
  font-size:clamp(1.3rem,2.4vw,1.7rem);
  font-weight:400;color:var(--white-70);
  font-family:'Poppins',sans-serif;
}

/* Kontakt */
.kontakt-cards{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:20px;
}
.kontakt-card{
  display:flex;flex-direction:column;align-items:center;gap:6px;
  padding:32px 20px;border-radius:var(--radius);
  background:var(--cream);
  border:1px solid rgba(0,0,0,0.05);
  text-align:center;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.kontakt-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);background:#fff;}
.kc-icon{font-size:1.6rem;}
.kc-label{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-dark);font-weight:600;}
.kc-value{font-weight:500;color:var(--ink);}

/* Footer */
.site-footer{
  background:var(--black);color:var(--white-70);padding:36px 0;
}
.footer-inner{
  display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;
}
.footer-inner p{color:var(--white-70);margin:0;font-size:.85rem;}
.brand-script.small{font-family:'Caveat',cursive;font-size:1.4rem;color:var(--lilac-strong);}

/* Responsive */
@media (max-width:860px){
  .ueber-grid{grid-template-columns:1fr;}
  .ueber-visual{height:260px;order:-1;}
  .card-grid{grid-template-columns:1fr 1fr;}
  .kontakt-cards{grid-template-columns:1fr;}
}
@media (max-width:820px){
  .main-nav-left,.main-nav-right{display:none;}
  .nav-toggle{display:flex;}
  .header-inner{grid-template-columns:1fr auto 1fr;}
  .mobile-nav{
    display:block;position:fixed;top:78px;left:0;right:0;z-index:49;
  }
  .mobile-nav ul{flex-direction:column;}
  .slider-arrow{width:38px;height:38px;font-size:1.3rem;}
  .slider-prev{left:10px;}
  .slider-next{right:10px;}
}

@media (max-width:680px){
  .card-grid{grid-template-columns:1fr;}
  .slide-logo{width:220px;}
  .slider{height:calc(100vh - 70px);min-height:560px;}
}
