/* ---- Startseiten-spezifisch ---- */
.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center;padding:64px 0 72px}
.hero h1{font-family:'Fraunces',serif;font-weight:600;font-size:clamp(40px,5.4vw,66px);line-height:1.02;letter-spacing:-.02em;color:var(--brown);margin:22px 0}
.hero h1 em{font-style:italic;color:var(--pink)}
.hero p.lead{font-size:18.5px;color:var(--muted);max-width:47ch;margin-bottom:30px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}
.hero-stats{display:flex;gap:34px;margin-top:40px;padding-top:26px;border-top:1px solid var(--line)}
.hero-stats b{font-family:'Fraunces',serif;font-size:30px;color:var(--pink);display:block;line-height:1}
.hero-stats span{font-size:13px;color:var(--muted);font-weight:600}
.hero-art{position:relative}
.hero-art .main{border-radius:30px;height:520px;width:100%;object-fit:cover;box-shadow:var(--shadow)}
.hero-art .seal{position:absolute;top:-20px;right:18px;width:118px;height:118px;border-radius:50%;background:#fff;border:3px solid var(--pink);padding:0;object-fit:cover;box-shadow:var(--shadow);transform:rotate(-9deg)}
.hero-art .chip{position:absolute;left:-24px;bottom:38px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 18px;box-shadow:var(--shadow);display:flex;align-items:center;gap:12px;animation:fl 5s ease-in-out infinite}
@keyframes fl{50%{transform:translateY(-12px)}}
.hero-art .chip .e{width:42px;height:42px;border-radius:12px;background:var(--soft-pink);display:grid;place-items:center;font-size:21px}
.hero-art .chip b{font-family:'Fraunces',serif;font-size:15.5px;display:block;color:var(--brown)}
.hero-art .chip span{font-size:12.5px;color:var(--muted)}

/* drei bereiche */
.bereiche{padding:20px 0 30px}
.bgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.bcard{position:relative;border-radius:var(--radius);overflow:hidden;min-height:340px;display:flex;align-items:flex-end;color:#fff;box-shadow:var(--shadow-sm)}
.bcard img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;transition:transform .5s}
.bcard:hover img{transform:scale(1.06)}
.bcard::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(44,35,32,.05) 32%,rgba(44,35,32,.84))}
.bcard .bcc{position:relative;z-index:1;padding:26px}
.bcard .tagm{display:inline-block;background:#fff;color:var(--pink);font-weight:800;font-size:11.5px;text-transform:uppercase;letter-spacing:.07em;padding:5px 12px;border-radius:999px;margin-bottom:12px}
.bcard h3{font-family:'Fraunces',serif;font-weight:600;font-size:25px;margin-bottom:6px}
.bcard p{font-size:14.5px;color:rgba(255,255,255,.92);margin-bottom:15px;max-width:30ch}
.bcard .go{display:inline-flex;align-items:center;gap:7px;background:#fff;color:var(--ink);font-weight:800;font-size:14px;padding:10px 18px;border-radius:999px;transition:transform .2s,background .2s,color .2s}
.bcard:hover .go{background:var(--pink);color:#fff}

/* salon banner */
.salon{padding:30px 0 30px}
.salon .inner{position:relative;border-radius:28px;overflow:hidden;min-height:360px;display:flex;align-items:center;color:#fff}
.salon img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover}
.salon .ov{position:absolute;inset:0;background:linear-gradient(90deg,rgba(44,35,32,.88),rgba(44,35,32,.35))}
.salon .sc{position:relative;padding:54px;max-width:560px}
.salon .eyebrow{color:#ffd9e4}.salon .eyebrow::before{background:#ffd9e4}
.salon h2{font-family:'Fraunces',serif;font-weight:600;font-size:clamp(28px,3.6vw,42px);line-height:1.05;margin:14px 0}
.salon p{color:rgba(255,255,255,.85);font-size:16.5px;margin-bottom:24px}
.salon .note{display:block;margin-top:16px;font-size:13px;color:rgba(255,255,255,.7)}

/* beratung teaser */
.bteaser{padding:30px 0 30px}
.bteaser .inner{display:grid;grid-template-columns:1.05fr .95fr;gap:46px;align-items:center;background:var(--soft-pink);border-radius:28px;padding:42px 48px}
.bteaser img{border-radius:20px;height:340px;width:100%;object-fit:cover;box-shadow:var(--shadow)}
.bteaser h2{font-family:'Fraunces',serif;font-weight:600;font-size:clamp(28px,3.6vw,40px);color:var(--brown);margin:12px 0 14px;letter-spacing:-.02em}
.bteaser p{color:var(--muted);font-size:16.5px;margin-bottom:22px;max-width:44ch}

/* about teaser */
.about{padding:30px 0 70px}
.about .inner{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;align-items:center}
.about img{border-radius:24px;height:420px;width:100%;object-fit:cover;box-shadow:var(--shadow)}
.about h2{font-family:'Fraunces',serif;font-weight:600;font-size:clamp(28px,3.6vw,42px);color:var(--brown);margin:14px 0 16px;letter-spacing:-.02em}
.about p{color:var(--muted);font-size:16.5px;margin-bottom:14px}
.about .sig{font-family:'Pacifico',cursive;color:var(--pink);font-size:26px;margin-top:8px}

/* usp */
.usp{padding:20px 0 60px}
.uspgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.uspc{text-align:center;padding:22px}
.uspc .ic{width:58px;height:58px;margin:0 auto 12px;border-radius:16px;background:var(--soft-pink);display:grid;place-items:center;font-size:26px}
.uspc b{font-family:'Fraunces',serif;font-size:16.5px;color:var(--brown);display:block;margin-bottom:4px}
.uspc span{font-size:13.5px;color:var(--muted)}

/* newsletter */
.news{padding:10px 0 80px}
.news .box{background:var(--ink);color:var(--cream);border-radius:28px;padding:58px 40px;text-align:center;position:relative;overflow:hidden}
.news .box::after{content:"🐾";position:absolute;font-size:200px;right:-26px;bottom:-58px;opacity:.06}
.news h2{font-family:'Fraunces',serif;font-weight:600;font-size:clamp(28px,3.6vw,40px)}
.news p{color:rgba(251,244,239,.75);margin:12px 0 26px}
.news form{display:flex;gap:10px;max-width:480px;margin:0 auto;flex-wrap:wrap;justify-content:center}
.news input{flex:1;min-width:230px;padding:14px 20px;border-radius:999px;border:1px solid rgba(251,244,239,.25);background:rgba(251,244,239,.08);color:var(--cream);font-size:15px;font-family:inherit}
.news input::placeholder{color:rgba(251,244,239,.55)}

@media(max-width:980px){.hero{grid-template-columns:1fr;gap:34px}.hero-art .main{height:380px}.about .inner{grid-template-columns:1fr}.about img{height:300px}.bgrid{grid-template-columns:1fr}.uspgrid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.bteaser .inner{grid-template-columns:1fr;padding:28px}.bteaser img{height:260px;order:-1}}
@media(max-width:560px){.uspgrid{grid-template-columns:1fr}.salon .sc{padding:34px}}
