/* ===== Lokale Schriften (Google Fonts, selbst gehostet) ===== */
@font-face{font-family:'Jost';font-style:normal;font-weight:300;font-display:swap;
  src:url('fonts/jost-latin-300-normal.woff2') format('woff2'),url('fonts/jost-latin-300-normal.woff') format('woff');}
@font-face{font-family:'Jost';font-style:normal;font-weight:400;font-display:swap;
  src:url('fonts/jost-latin-400-normal.woff2') format('woff2'),url('fonts/jost-latin-400-normal.woff') format('woff');}
@font-face{font-family:'Jost';font-style:normal;font-weight:500;font-display:swap;
  src:url('fonts/jost-latin-500-normal.woff2') format('woff2'),url('fonts/jost-latin-500-normal.woff') format('woff');}
@font-face{font-family:'Jost';font-style:normal;font-weight:600;font-display:swap;
  src:url('fonts/jost-latin-600-normal.woff2') format('woff2'),url('fonts/jost-latin-600-normal.woff') format('woff');}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;
  src:url('fonts/cormorant-garamond-latin-400-normal.woff2') format('woff2'),url('fonts/cormorant-garamond-latin-400-normal.woff') format('woff');}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;
  src:url('fonts/cormorant-garamond-latin-500-normal.woff2') format('woff2'),url('fonts/cormorant-garamond-latin-500-normal.woff') format('woff');}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;
  src:url('fonts/cormorant-garamond-latin-600-normal.woff2') format('woff2'),url('fonts/cormorant-garamond-latin-600-normal.woff') format('woff');}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:700;font-display:swap;
  src:url('fonts/cormorant-garamond-latin-700-normal.woff2') format('woff2'),url('fonts/cormorant-garamond-latin-700-normal.woff') format('woff');}

:root{
  --pink:#E5388B;
  --pink-dark:#c52a73;
  --rose:#d98bb0;
  --pink-soft:#f9e9f1;
  --cream:#fbf6f3;
  --charcoal:#3b3636;
  --grey:#000;
  --line:#ece2db;
  --white:#ffffff;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Jost',sans-serif;color:var(--charcoal);line-height:1.75;background:var(--white);font-weight:300;-webkit-font-smoothing:antialiased;}
p{font-size:18px;line-height:1.4em;}
img{max-width:100%;display:block;}
h1,h2,h3,h4{font-family:'Cormorant Garamond',serif;font-weight:600;line-height:1.18;color:var(--charcoal);}
.container{max-width:1140px;margin:0 auto;padding:0 28px;}
.eyebrow{font-family:'Jost',sans-serif;font-weight:500;font-size:.78rem;letter-spacing:3px;text-transform:uppercase;color:var(--pink);margin-bottom:14px;display:block;}
.section-head{text-align:center;max-width:680px;margin:0 auto 56px;}
.section-head h2{font-size:2.7rem;margin-bottom:14px;}
.section-head p{color:var(--grey);font-weight:300;}
.pad{padding:96px 0;}
.pad-sm{padding:70px 0;}
.bg-cream{background:var(--cream);}
.bg-soft{background:var(--pink-soft);}

/* Buttons */
.btn{display:inline-block;background:var(--pink);color:#fff;text-decoration:none;padding:15px 38px;border-radius:40px;font-family:'Jost',sans-serif;font-weight:500;font-size:.82rem;letter-spacing:1.5px;text-transform:uppercase;transition:.25s;border:none;cursor:pointer;}
.btn:hover{background:var(--pink-dark);transform:translateY(-2px);box-shadow:0 12px 26px rgba(229,56,139,.28);}
.btn.ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.8);}
.btn.ghost:hover{background:#fff;color:var(--pink-dark);}
.btn.dark{background:transparent;color:var(--pink-dark);border:1.5px solid var(--pink);}
.btn.dark:hover{background:var(--pink);color:#fff;}

/* Header / Nav */
header{position:sticky;top:0;z-index:200;background:rgba(255,255,255,.97);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;padding:12px 28px;max-width:1280px;margin:0 auto;}
.brand{display:flex;align-items:center;}
.brand img{height:100px;}
nav{display:flex;align-items:center;}
nav ul{list-style:none;display:flex;gap:4px;align-items:center;}
nav a{display:block;text-decoration:none;color:var(--charcoal);font-weight:400;padding:10px 18px;font-size:1.1rem;letter-spacing:.8px;text-transform:uppercase;border-radius:30px;transition:.2s;}
nav a:hover{color:var(--pink);}
nav a.active{color:var(--pink);font-weight:500;}
.nav-cta{margin-left:12px;}
nav a.nav-btn{color:#fff;background:var(--pink);padding:11px 24px;border-radius:40px;font-size:.76rem;letter-spacing:1px;transition:.25s;}
nav a.nav-btn:hover{background:var(--pink-dark);color:#fff;transform:translateY(-2px);box-shadow:0 10px 22px rgba(229,56,139,.28);}
nav a.nav-btn.active{color:#fff;}
.menu-toggle{display:none;background:none;border:none;cursor:pointer;font-size:1.8rem;color:var(--pink);line-height:1;transition:transform .3s ease;}
.menu-toggle.open{transform:rotate(90deg);}

/* Page sections */
section.page{display:none;animation:fade .5s ease;}
section.page.active{display:block;}
@keyframes fade{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}

/* Hero */
.hero{position:relative;min-height:84vh;display:flex;align-items:center;background-color:#caa;background-image:linear-gradient(rgba(60,40,50,.42),rgba(60,40,50,.42)),url('https://images.unsplash.com/photo-1540555700478-4be289fbecef?auto=format&fit=crop&w=1600&q=80');background-size:cover;background-position:center;color:#fff;}
.hero-inner{max-width:720px;}
.hero .eyebrow{color:#ffd6e8;}
.hero h1{font-size:4rem;color:#fff;margin-bottom:22px;font-weight:600;}
.hero p{font-size:1.18rem;font-weight:300;margin-bottom:34px;max-width:600px;color:rgba(255,255,255,.94);}
.hero .btn-row{display:flex;gap:16px;flex-wrap:wrap;}

/* Hero Variante 2 – Porträt-Foto */
.hero-alt{position:relative;min-height:88vh;display:flex;align-items:center;overflow:hidden;
  background:linear-gradient(105deg,var(--pink-soft) 0%,#fce6f0 34%,#ffffff 68%);}
.hero-alt-grid{position:relative;z-index:2;max-width:1280px;margin:0 auto;padding-left:28px;padding-right:28px;}
.hero-alt-text{max-width:560px;text-align:left;margin-left:0;}
.hero-alt h1,.hero-alt p,.hero-alt .eyebrow,.hero-alt .btn-row{text-align:left;justify-content:flex-start;}
.hero-alt .eyebrow{color:var(--pink);}
.hero-alt h1{font-size:4.2rem;color:var(--charcoal);margin-bottom:20px;line-height:1.06;}
.hero-alt p{font-size:1.15rem;font-weight:300;color:var(--charcoal);margin-bottom:32px;max-width:520px;}
.hero-photo{position:absolute;right:0;bottom:0;height:100%;width:auto;max-width:64%;object-fit:contain;object-position:bottom right;z-index:1;pointer-events:none;
  -webkit-mask-image:linear-gradient(to left,#000 62%,transparent 100%);mask-image:linear-gradient(to left,#000 62%,transparent 100%);}

/* Page banner (inner pages) */
.banner{position:relative;padding:120px 0 90px;text-align:center;color:#fff;background-color:#b98aa2;background-size:cover;background-position:center;background-blend-mode:multiply;background-color:rgba(90,60,75,.45);}
.banner h1{font-size:3.4rem;color:#fff;}
.banner .crumb{font-size:.82rem;letter-spacing:2px;text-transform:uppercase;color:#ffd6e8;margin-top:10px;}
.banner.b-about{background-image:linear-gradient(rgba(90,60,75,.5),rgba(90,60,75,.5)),url('https://images.unsplash.com/photo-1556228578-8c89e6adf883?auto=format&fit=crop&w=1600&q=80');}
.banner.b-serv{background-image:linear-gradient(rgba(90,60,75,.5),rgba(90,60,75,.5)),url('https://images.unsplash.com/photo-1519823551278-64ac92734fb1?auto=format&fit=crop&w=1600&q=80');}
.banner.b-price{background-image:linear-gradient(rgba(90,60,75,.5),rgba(90,60,75,.5)),url('https://images.unsplash.com/photo-1607779097040-26e80aa78e66?auto=format&fit=crop&w=1600&q=80');}
.banner.b-contact{background-image:linear-gradient(rgba(90,60,75,.5),rgba(90,60,75,.5)),url('https://images.unsplash.com/photo-1512290923902-8a9f81dc236c?auto=format&fit=crop&w=1600&q=80');}

/* Intro split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.split .media{border-radius:8px;min-height:440px;background-color:#e6d3dd;background-size:cover;background-position:center;box-shadow:0 24px 50px rgba(120,70,95,.18);}
.split h2{font-size:2.7rem;margin-bottom:8px;}
.split .sig{font-family:'Cormorant Garamond',serif;font-size:1.5rem;color:var(--pink);margin-top:18px;}

/* Services rows (Startseite – eine pro Zeile) */
.srv-list{display:grid;grid-template-columns:1fr 1fr;gap:26px;max-width:960px;margin:0 auto;}
.srv-row{display:grid;grid-template-columns:130px 1fr;gap:30px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding:26px 34px;transition:.25s;}
.srv-row:hover{box-shadow:0 18px 40px rgba(120,70,95,.12);transform:translateY(-3px);}
.srv-thumb{width:130px;height:130px;border-radius:50%;background-color:var(--pink-soft);background-size:68%;background-position:center;background-repeat:no-repeat;}
.srv-row h3{font-size:1.7rem;margin-bottom:4px;}
.srv-row .tag{display:inline-block;font-family:'Jost',sans-serif;font-size:.68rem;letter-spacing:2px;text-transform:uppercase;color:var(--pink);font-weight:600;margin-bottom:6px;}
.srv-row p{color:var(--grey);font-weight:300;}

/* Feature rows (Leistungen – Bild + Text abwechselnd) */
.feature{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding:56px 0;}
.feature + .feature{border-top:1px solid var(--line);}
.feature.reverse .feature-img{order:2;}
.feature.reverse .feature-text{order:1;}
.feature-img{border-radius:14px;min-height:340px;background-color:var(--pink-soft);background-size:46%;background-position:center;background-repeat:no-repeat;box-shadow:0 18px 40px rgba(120,70,95,.10);}
.feature-text .tag{display:inline-block;font-size:.7rem;letter-spacing:2px;text-transform:uppercase;color:#fff;background:var(--pink);padding:5px 14px;border-radius:20px;font-weight:600;margin-bottom:14px;}
.feature-text h3{font-size:2.2rem;margin-bottom:12px;}
.feature-text p{color:var(--grey);font-weight:300;}

/* Stats band */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;text-align:center;}
.stat .num{font-family:'Cormorant Garamond',serif;font-size:3rem;color:var(--pink);line-height:1;}
.stat .lbl{font-size:.82rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--grey);margin-top:8px;}

/* Testimonial / Claim */
.quote{max-width:820px;margin:0 auto;text-align:center;}
.quote .mark{font-family:'Cormorant Garamond',serif;font-size:4.5rem;color:var(--rose);line-height:.6;}
.quote p{font-family:'Cormorant Garamond',serif;font-size:2.4rem;font-style:italic;color:var(--charcoal);margin:14px 0 8px;line-height:1.35;letter-spacing:1px;}
.quote .who{font-size:.85rem;letter-spacing:2px;text-transform:uppercase;color:var(--pink);font-weight:500;}

/* Marken / Partner-Leiste */
.brands{padding:76px 0;text-align:center;background:var(--cream);}
.brands h2{font-size:2.1rem;margin-bottom:6px;}
.brand-row{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:34px;}
.brand-row .item{padding:14px 52px;display:flex;align-items:center;justify-content:center;}
.brand-row .item + .item{border-left:1px solid #e2d3ca;}
.brand-row img{max-height:66px;max-width:185px;width:auto;object-fit:contain;opacity:.92;transition:transform .25s ease,opacity .25s ease;}
.brand-row img:hover{opacity:1;transform:translateY(-4px) scale(1.03);}

/* CTA band */
.cta{position:relative;text-align:center;color:#fff;padding:110px 0;background-color:#9c6f86;background-image:linear-gradient(rgba(80,50,65,.6),rgba(80,50,65,.6)),url('https://images.unsplash.com/photo-1519415510236-718bdfcd89c8?auto=format&fit=crop&w=1600&q=80');background-size:cover;background-position:center;background-attachment:fixed;}
.cta h2{font-size:3rem;color:#fff;margin-bottom:16px;}
.cta p{max-width:560px;margin:0 auto 30px;font-weight:300;color:rgba(255,255,255,.92);}

/* Price tables – einspaltig */
.price-grid{display:block;max-width:820px;margin:0 auto;}
.price-block{margin-bottom:48px;}
.price-block:last-child{margin-bottom:0;}
.price-block h3{font-size:1.9rem;margin-bottom:18px;display:flex;align-items:center;gap:12px;}
.price-block h3:after{content:"";flex:1;height:1px;background:var(--line);}
.price-block table{width:100%;border-collapse:collapse;}
.price-block td{padding:13px 0;border-bottom:1px dashed var(--line);font-weight:300;color:var(--charcoal);}
.price-block td:last-child{text-align:right;font-weight:600;color:var(--pink-dark);white-space:nowrap;font-family:'Cormorant Garamond',serif;font-size:1.55rem;vertical-align:top;}
.price-block .sub{color:var(--grey);font-size:.92rem;font-weight:300;font-style:italic;margin:-6px 0 16px;}
.price-block .desc{display:block;font-size:1.2rem;color:var(--grey);font-weight:400;line-height:1.45;margin-top:3px;}
.price-block td:first-child{padding-right:18px;}
.note{font-size:.85rem;color:var(--grey);margin-top:8px;text-align:center;}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;}
.info-row{margin-bottom:22px;padding-bottom:22px;border-bottom:1px solid var(--line);}
.info-row strong{display:block;color:var(--pink);font-size:.74rem;text-transform:uppercase;letter-spacing:2px;margin-bottom:5px;}
.info-row a{color:var(--charcoal);text-decoration:none;}
.info-row a:hover{color:var(--pink);}
form label{display:block;margin-bottom:6px;font-size:.78rem;letter-spacing:1px;text-transform:uppercase;color:var(--grey);}
form input,form textarea{width:100%;padding:13px 16px;border:1px solid var(--line);border-radius:6px;margin-bottom:18px;font-family:inherit;font-size:.95rem;font-weight:300;background:var(--cream);}
form input:focus,form textarea:focus{outline:none;border-color:var(--pink);background:#fff;}
.dsgvo{display:flex;gap:10px;align-items:flex-start;font-size:.82rem;letter-spacing:0;text-transform:none;color:var(--charcoal);font-weight:300;line-height:1.4;margin-bottom:18px;cursor:pointer;}
.dsgvo input{width:auto;margin:3px 0 0;flex:0 0 auto;}
.dsgvo a{color:var(--pink-dark);}
.hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0;}
.form-status{margin-top:16px;font-size:.95rem;font-weight:400;line-height:1.4;}
.form-status.ok{color:#1c7a3f;}
.form-status.err{color:#c0392b;}

/* Footer */
footer{background:#2e2a2a;color:#bcb3ae;padding:64px 0 28px;font-weight:300;}
footer .f-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px;margin-bottom:40px;}
footer h4{color:#fff;font-size:1.4rem;margin-bottom:16px;}
footer p{font-size:.92rem;}
footer .f-links{list-style:none;}
footer .f-links li{margin-bottom:9px;}
footer .f-links a{color:#bcb3ae;text-decoration:none;font-size:.92rem;cursor:pointer;}
footer .f-links a:hover{color:var(--pink);}
footer .copy{border-top:1px solid #463f3f;padding-top:24px;text-align:center;font-size:.82rem;color:#8a807b;}
footer .copy a{color:var(--pink);text-decoration:none;cursor:pointer;}
footer .copy a:hover{text-decoration:underline;}

/* Legal pages */
.legal{max-width:820px;margin:0 auto;}
.legal h2{font-size:1.9rem;color:var(--pink-dark);margin:34px 0 10px;}
.legal h2:first-of-type{margin-top:0;}
.legal h3{font-size:1.3rem;color:var(--charcoal);margin:22px 0 6px;}
.legal p{margin-bottom:14px;}
.legal a{color:var(--pink-dark);}
.legal .muted{color:var(--grey);font-size:.9rem;}

@media(max-width:880px){
  .split,.feature,.contact-grid,.srv-list{grid-template-columns:1fr;gap:24px;}
  .feature.reverse .feature-img,.feature.reverse .feature-text{order:0;}
  .stats{grid-template-columns:1fr 1fr;gap:36px 20px;}
  footer .f-grid{grid-template-columns:1fr;gap:30px;}
  .menu-toggle{display:block;}
  /* Mobilmenü: smooth ein-/ausklappen */
  nav{position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);display:block;overflow:hidden;max-height:0;opacity:0;transition:max-height .42s cubic-bezier(.4,0,.2,1),opacity .3s ease;}
  nav.open{max-height:620px;opacity:1;}
  nav ul{flex-direction:column;align-items:stretch;padding:8px 16px;}
  nav a{padding:14px 12px;}
  .nav-cta{margin:8px 0 4px;}
  nav a.nav-btn{text-align:center;padding:14px 12px;}
  .hero h1{font-size:2.7rem;}
  /* Hero Variante 2 mobil: Text oben, Foto darunter */
  .hero-alt{flex-direction:column;align-items:stretch;min-height:auto;padding-top:44px;}
  .hero-alt h1{font-size:2.7rem;}
  .hero-alt-text{max-width:none;}
  .hero-photo{position:relative;height:auto;width:100%;max-width:100%;object-position:center bottom;margin-top:22px;
    -webkit-mask-image:none;mask-image:none;}
  .banner h1{font-size:2.4rem;}
  .section-head h2{font-size:2.1rem;}
  .quote p{font-size:1.7rem;}
  .srv-row{grid-template-columns:80px 1fr;gap:20px;padding:20px;}
  .srv-thumb{width:80px;height:80px;}
  .cta{background-attachment:scroll;}
  .brand-row .item{padding:18px 30px;}
  .brand-row .item + .item{border-left:none;}
}
