/* =========================================================================
   Hanna Bienert — Design-System
   DNA: filmisch & atmosphärisch · foto-geführt · erwachsen — Folk-Blume als Akzent.
   Zwei Hintergrundfarben (Nordic Blue / Warm Ivory), Rhythmus B (dunkel ↔ hell).
   Look an .superpowers/brainstorm/.../home-final-v2.html orientiert.
   ========================================================================= */

:root{
  --blue:#1F2A3A; --blue-deep:#15202c; --blue-abyss:#0f1620;
  --ivory:#F2EFEA; --ivory-soft:#FBF9F5;
  --blush:#C8A3A0; --ocher:#C2A24D; --ocher-ink:#a8863a; --sage:#8C9A90; --sage-bg:#A7B4AF; --green:#2E4034;
  --ink:#1F2A3A; --ink-soft:#3a4350; --muted:#9fabb6;
  --line-dark:#2f3d4b; --line-light:#e2dccf;
  --serif:'Libre Baskerville',Georgia,serif; --sans:'Inter',system-ui,sans-serif;
  --maxw:1080px; --pad:clamp(20px,5vw,40px);
  /* Gemeinsamer Bild-Filter — „verheiratet" alle Fotos: leicht abgemattet, minimal entsättigt */
  --img-filter:saturate(.86) contrast(.95) brightness(1.01);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--blue);line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:700;line-height:1.15}
.serif{font-family:var(--serif)}

/* ---- Layout-Flächen ---------------------------------------------------- */
.section{padding:clamp(48px,8vw,96px) var(--pad)}
.wrap{max-width:var(--maxw);margin:0 auto}
.narrow{max-width:760px}
.dark{background:var(--blue);color:var(--ivory)}
.dark2{background:var(--blue-deep);color:var(--ivory)}
.light{background:var(--ivory);color:var(--ink)}
.sage{background:var(--sage-bg);color:var(--ink)}
.blush{background:var(--blush);color:#3a2b2b}
.center{text-align:center}

/* Weiche, räumliche Bereichs-Übergänge — jede Sektion startet mit einem Hauch
   der Sektion darüber und läuft (transparent) in die eigene Hintergrundfarbe aus.
   AUFBEWAHRT / aktuell NICHT angewandt (auf Wunsch vorerst rausgenommen, 2026-06-05).
   Reaktivieren = b-from-* Klasse an die jeweilige Sektion hängen
   (z. B. Über→b-from-dark, Media→b-from-light). Voll angewandte Version: git 5cd805a. */
.section,.foot,.divider{background-repeat:no-repeat}
.b-from-dark{background-image:linear-gradient(180deg,#5e6874 0,#99a2ac 70px,transparent 165px)}
.b-from-light{background-image:linear-gradient(180deg,#eae7e1 0,transparent 150px)}
.b-from-blush{background-image:linear-gradient(180deg,#cbb4b4 0,transparent 165px)}
.b-from-sage{background-image:linear-gradient(180deg,#c8d2c3 0,transparent 150px)}

.eyebrow{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--ocher);margin-bottom:1rem}
.light .eyebrow,.sage .eyebrow{color:var(--ocher-ink)}
.blush .eyebrow{color:#7a4f4c}
.lead{font-family:var(--serif);font-size:clamp(1.1rem,2.4vw,1.55rem);line-height:1.5}
.quote{font-family:var(--serif);font-style:italic;font-size:clamp(1.1rem,2.6vw,1.45rem);line-height:1.5;color:var(--ocher);margin-top:1rem}
.leit-rule{align-self:center;position:relative;width:clamp(100px,13vw,170px);height:1px;margin:1.4rem 0 .7rem;
  background:linear-gradient(90deg,transparent,var(--ocher) 50%,transparent);opacity:.85}
.leit-rule::before{content:"";position:absolute;left:50%;top:50%;width:6px;height:6px;
  background:var(--ocher);transform:translate(-50%,-50%) rotate(45deg)}
.muted{color:var(--muted)}
p.body{font-size:1rem;opacity:.92}
.light p.body,.sage p.body{opacity:1;color:var(--ink-soft)}

/* ---- Links / „Buttons" (zurückhaltend, nie werblich) ------------------- */
.link{display:inline-block;margin-top:1.2rem;font-size:.72rem;letter-spacing:.13em;
  text-transform:uppercase;color:var(--ocher);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px}
.light .link,.sage .link{color:var(--ocher-ink);border-color:#cdbd8e}
/* Auf Blush kein Gold: warmes Rosé-Braun wie im Newsletter-Bereich */
.blush .link{color:#6b4f4d;border-color:#b98f8c}
.link:hover{opacity:.7}

/* ---- Folk-Blumen-Trenner ----------------------------------------------- */
.divider{display:flex;align-items:center;justify-content:center;gap:14px;padding:clamp(20px,4vw,36px) 0}
.divider .l{height:1px;width:clamp(40px,12vw,90px);background:var(--ocher);opacity:.5}
.divider img{width:34px;opacity:.85}

/* ---- Navigation -------------------------------------------------------- */
.nav{position:absolute;top:0;left:0;right:0;z-index:20;display:flex;justify-content:space-between;
  align-items:center;padding:18px var(--pad)}
.nav.solid{position:sticky;background:rgba(21,32,44,.85);backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,255,255,.06)}
.nav .brand{font-family:var(--serif);font-size:1rem;letter-spacing:.12em;color:var(--ivory);text-decoration:none}
.nav .links{display:flex;gap:clamp(10px,2vw,22px);font-size:.66rem;letter-spacing:.1em;
  text-transform:uppercase;color:#cdd5dd;align-items:center}
.nav .links a{text-decoration:none;transition:color .2s}
.nav .links a:hover{color:var(--ocher)}
/* Startseite: Nav über dem Hero mit dezentem halbtransparentem Balken oben — sorgt für
   durchgehende Lesbarkeit auch über hellem Haar/Bildpartien. Schrift komplett hell. */
.nav:not(.solid){background:linear-gradient(180deg,rgba(15,22,32,.6) 0%,rgba(15,22,32,.28) 58%,rgba(15,22,32,0) 100%)}
.nav:not(.solid) .links a{color:var(--ivory)}
.nav:not(.solid) .links a:hover{color:var(--ocher)}
.nav:not(.solid) .burger{color:var(--ivory)}
.nav .burger{display:none}
@media(max-width:760px){
  /* Aufklappendes Dropdown unter der Nav-Leiste — die Seite bleibt sichtbar.
     backdrop-filter mobil aus (siehe operative-learnings: Containing-Block-Falle). */
  .nav.solid{backdrop-filter:none;-webkit-backdrop-filter:none}
  .nav .links{position:absolute;top:100%;right:var(--pad);min-width:170px;
    background:rgba(21,32,44,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
    border-radius:0 0 10px 10px;box-shadow:0 14px 34px rgba(8,12,18,.42);
    flex-direction:column;align-items:flex-end;gap:18px;padding:20px 24px;font-size:1rem;
    opacity:0;transform:translateY(-8px);pointer-events:none;
    transition:opacity .2s ease,transform .2s ease;z-index:30}
  .nav .links.open{opacity:1;transform:translateY(0);pointer-events:auto}
  /* Startseite: Dropdown-Links wieder hell auf dem dunklen Panel */
  .nav:not(.solid) .links a{color:#cdd5dd}
  .nav:not(.solid) .links a:hover{color:var(--ocher)}
  .nav .burger{display:block;z-index:40;background:none;border:0;color:var(--ivory);font-size:1.5rem;cursor:pointer;line-height:1}
}

/* ---- Seiten-Navigation (prev/next unten auf Einzelseiten) -------------- */
.pagenav{max-width:var(--maxw);margin:clamp(40px,6vw,72px) auto 0;padding-top:1.3rem;
  border-top:1px solid var(--line-light);display:flex;justify-content:space-between;gap:16px;
  font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}
.pagenav a{color:inherit;text-decoration:none;opacity:.72;transition:opacity .2s,color .2s}
.pagenav a:hover{opacity:1;color:var(--ocher)}
.pagenav a:only-child:last-child{margin-left:auto} /* einzelner Next-Link bleibt rechts */
.section.dark .pagenav{border-top-color:var(--line-dark)}

/* ---- Hero (filmisch + Folk-Seele) -------------------------------------- */
.hero{position:relative;min-height:70vh;display:flex;align-items:flex-end;overflow:hidden;background:var(--blue-abyss)}
.hero>img.bg{position:absolute;top:0;left:0;width:108%;height:100%;object-fit:cover;object-position:center 22%;filter:var(--img-filter)}
.hero .wash{position:absolute;inset:0;background:linear-gradient(180deg,rgba(31,42,58,.10) 0%,rgba(31,42,58,.13) 52%,rgba(31,42,58,.55) 100%)}
.hero .flower{position:absolute;bottom:6%;right:clamp(-12px,-1vw,0px);width:clamp(90px,14vw,150px);opacity:.95;transform:rotate(4deg);z-index:3}
.hero .htxt{position:relative;z-index:4;padding:0 var(--pad) clamp(48px,9vh,90px);width:100%}
.hero h1{color:var(--ivory);font-size:clamp(2.6rem,8vw,4.6rem);letter-spacing:.04em}
.hero .sub{color:var(--ocher);font-size:clamp(.9rem,2vw,1.15rem);letter-spacing:.05em;margin-top:.7rem}

/* ---- Intro-Leitsatz ---------------------------------------------------- */
.intro{text-align:center;min-height:30vh;display:flex;flex-direction:column;justify-content:center;
  padding-top:clamp(20px,3vh,36px);padding-bottom:clamp(20px,3vh,36px)}
.intro .lead{font-family:var(--sans);font-weight:300;letter-spacing:.01em;color:#cdd5dd;max-width:720px;margin:0 auto}
.dark .intro .lead{color:#cdd5dd}

/* ---- Über-Teaser (Foto + Text) ----------------------------------------- */
.about{display:flex;gap:clamp(24px,4vw,56px);align-items:center;flex-wrap:wrap}
.about .ph{flex:0 0 clamp(220px,30vw,330px);aspect-ratio:4/5;border:7px solid #fff;
  box-shadow:0 14px 40px rgba(31,42,58,.18);overflow:hidden;background:#ddd}
.about .ph img{width:100%;height:100%;object-fit:cover;filter:var(--img-filter)}
.about .txt{flex:1 1 320px;position:relative}
.about .txt .body{font-size:clamp(1.05rem,1.6vw,1.2rem);line-height:1.75}
.about .deco{width:clamp(36px,4vw,52px);opacity:.7;margin-top:1.4rem;transform:rotate(-5deg)}

/* ---- Media: Unterbereiche + Karten ------------------------------------- */
.subgrid{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:1.5rem}
.subgrid .k{font-family:var(--serif);font-size:.85rem;color:#cdd5dd;padding:8px 16px;border:1px solid var(--line-dark);border-radius:4px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.card{border-radius:8px;overflow:hidden;background:var(--blue-deep);border:1px solid #2a3744;text-decoration:none;color:inherit;display:block;transition:transform .25s,border-color .25s}
.card:hover{transform:translateY(-3px);border-color:var(--ocher)}
.card .img{aspect-ratio:16/10;background-size:cover;background-position:center 25%;filter:var(--img-filter)}
.card .cap{padding:14px 16px;font-size:.85rem;color:#cdd5dd}
.card .cap b{display:block;font-family:var(--serif);font-size:1.1rem;font-weight:700;color:var(--ivory);letter-spacing:.02em}
.card .cap span{display:block;font-size:.74rem;color:var(--muted);margin-top:2px}

/* ---- Verweis-Kacheln (Ensembles, Projekte) ----------------------------- */
.tile{background:var(--ivory-soft);border:1px solid #e6e0d6;border-radius:8px;padding:clamp(16px,3vw,24px);color:var(--ink-soft);line-height:1.6}
.tile b{font-family:var(--serif);color:var(--ink);display:block;margin-bottom:.5rem;font-size:1.1rem;font-weight:700}
.tile .role{color:#7a8089;font-size:.85rem;margin-top:.7rem}
.tiles{display:grid;gap:16px}
@media(min-width:720px){.tiles.two{grid-template-columns:1fr 1fr}}

/* ---- „In Vorbereitung"-Slot (Grappelli) -------------------------------- */
.tile.soon{background:rgba(251,249,245,.5);border:2px dashed #a3905c;color:var(--ink-soft);display:flex;
  flex-direction:column;justify-content:center;min-height:120px}
.tile.soon b{color:var(--ink)}
.tile.soon .hint{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ocher-ink);margin-top:.4rem}

/* ---- Blog-Teaser ------------------------------------------------------- */
.teaser{border-top:1px solid var(--line-light);padding:22px 0;display:flex;gap:16px;align-items:flex-start;text-decoration:none;color:inherit}
.teaser:last-of-type{border-bottom:1px solid var(--line-light)}
.teaser .fl{width:28px;flex:0 0 auto;margin-top:4px;opacity:.85}
.teaser h3{font-size:1.15rem;color:var(--ink);margin-bottom:.35rem;line-height:1.3}
.teaser p{font-size:.95rem;color:#5a6470}
.teaser .r{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ocher-ink);margin-top:.6rem;display:inline-block}
.teaser:hover h3{color:var(--ocher-ink)}

/* ---- Lesetext (Bio, Blog) ---------------------------------------------- */
.prose{max-width:680px;margin:0 auto}
.prose .eyebrow{margin-bottom:.6rem}
.prose h1{font-size:clamp(1.8rem,4vw,2.6rem);margin-bottom:.4rem;color:var(--ink)}
.prose .meta{font-size:.8rem;color:#8a8f97;letter-spacing:.04em;margin-bottom:2rem}
.prose p{margin-bottom:1.2rem;font-size:1.05rem}
.prose h2{font-size:1.6rem;margin:2.2rem 0 1rem;color:var(--ink)}
.prose .back{display:inline-block;margin-top:2rem;font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ocher-ink);text-decoration:none}
/* Fuss-Navigation unter einem Gedanken: links zurück zur Übersicht, rechts der nächste Text (im Kreis).
   .next erbt exakt das .back-Aussehen (gleiche Schrift/Größe/Farbe, kein Unterstrich). */
.prose .postnav{display:flex;justify-content:space-between;align-items:baseline;gap:16px;
  margin-top:2.6rem;padding-top:1.3rem;border-top:1px solid var(--line-light)}
.prose .postnav .back,.prose .postnav .next{margin-top:0;font-size:.72rem;letter-spacing:.13em;
  text-transform:uppercase;color:var(--ocher-ink);text-decoration:none}
.prose .postnav .next{text-align:right}
.prose figure{margin:2rem 0}
.prose figure img{border-radius:6px}

/* ---- Unterricht-Teaser (kleine Box auf Blush) -------------------------- */
.teach{max-width:560px;margin:0 auto;text-align:center;background:rgba(250,245,238,.55);
  border:1px solid rgba(122,79,76,.2);border-radius:12px;padding:clamp(24px,4vw,34px)}
.teach .eyebrow{margin-bottom:.7rem}
.teach p.body{max-width:none;font-size:1.12rem;line-height:1.65;color:#3a2b2b;opacity:1}
.teach .link{margin-top:1.1rem}

/* ---- Newsletter -------------------------------------------------------- */
.news{text-align:center}
.news p{max-width:520px;margin:0 auto}
.news form{margin:1.4rem auto 0;max-width:380px;display:flex;border:1px solid #6b4f4d;border-radius:3px;overflow:hidden;background:#fff}
.news input[type=email]{flex:1;min-width:0;border:0;padding:12px 14px;font-size:.95rem;font-family:var(--sans);background:#fff;color:#333}
.news input[type=email]:focus{outline:2px solid var(--blue);outline-offset:-2px}
.news button{flex:0 0 auto;background:var(--blue);color:#fff;font-family:var(--sans);font-size:.64rem;letter-spacing:.1em;
  padding:12px 16px;text-transform:uppercase;border:0;cursor:pointer;white-space:nowrap}
.news button:hover{background:var(--blue-deep)}
.news .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.news .note{font-size:.72rem;color:#6b4f4d;margin-top:.8rem;opacity:.85}

/* ---- Kontaktformular --------------------------------------------------- */
.cform{max-width:480px;margin:1.6rem auto 0;text-align:left;display:grid;gap:12px}
.cform label{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:-6px}
.cform input,.cform textarea{font-family:var(--sans);font-size:.95rem;padding:11px 12px;border:1px solid var(--line-dark);
  border-radius:4px;background:rgba(255,255,255,.04);color:var(--ivory)}
.cform textarea{min-height:120px;resize:vertical}
.cform .hp{position:absolute;left:-9999px}
.cform button{justify-self:start;margin-top:.4rem;background:var(--ocher);color:#1a1409;font-family:var(--sans);
  font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;border:0;border-radius:2px;padding:12px 26px;cursor:pointer}
.cform button:hover{background:#d4b25a}

/* ---- Klick-zum-Laden-Embeds -------------------------------------------- */
.embed{position:relative;aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:var(--blue-deep) center/cover;border:1px solid #2a3744;display:flex;align-items:center;justify-content:center;margin-top:.4rem}
.embed.audio{aspect-ratio:auto;min-height:120px}
.embed-load{background:rgba(15,22,32,.7);backdrop-filter:blur(2px);color:var(--ivory);font-family:var(--sans);
  font-size:.78rem;letter-spacing:.04em;border:1px solid var(--ocher);border-radius:3px;padding:12px 22px;cursor:pointer;text-align:center;max-width:80%}
.embed-load:hover{background:rgba(194,162,77,.18)}
.embed-load small{display:block;font-size:.66rem;color:var(--muted);margin-top:.3rem;letter-spacing:.06em}

/* ---- Footer / Kontakt -------------------------------------------------- */
.foot{background:var(--blue-deep);text-align:center;padding:clamp(48px,7vw,80px) var(--pad)}
.foot .mail{font-family:var(--serif);font-size:clamp(1.1rem,3vw,1.5rem);color:var(--ivory);text-decoration:none;display:inline-block}
.foot .mail:hover{color:var(--ocher)}
.foot .tel{color:var(--muted);margin-top:.4rem;font-size:.95rem}
.foot .mail-alt{font-size:.88rem;color:var(--muted);margin-top:1.5rem}
.foot .mail-alt a{color:var(--ocher);text-decoration:none;border-bottom:1px solid rgba(194,162,77,.4);padding-bottom:1px}
.foot .mail-alt a:hover{color:var(--ivory)}
.foot-home{display:inline-block;font-family:var(--serif);letter-spacing:.12em;font-size:1rem;color:var(--ivory);text-decoration:none;margin-top:1.8rem}
.foot-home:hover{color:var(--ocher)}
.foot .soc{margin-top:1.2rem;display:flex;gap:18px;justify-content:center;flex-wrap:wrap;
  font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.foot .soc a{text-decoration:none;transition:color .2s}
.foot .soc a:hover{color:var(--ocher)}
.foot .legal{margin-top:1.8rem;font-size:.62rem;letter-spacing:.08em;color:#5a6470}
.foot .legal a{color:#5a6470;text-decoration:none}
.foot .legal a:hover{color:var(--muted)}
.foot .credit{margin-top:1.4rem;font-size:.62rem;letter-spacing:.08em}
.foot .credit a{color:#5a6470;text-decoration:none;border-bottom:1px solid rgba(90,100,112,.4);padding-bottom:1px;transition:color .2s}
.foot .credit a:hover{color:var(--muted)}

/* ---- Scroll-Reveal ----------------------------------------------------- */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
}

/* --- Sprach-Umschalter (DE/EN/FR) --- */
.lang-switch{display:inline-flex;gap:10px;align-items:center}
.lang-switch a{opacity:.6}
.lang-switch a:hover{opacity:1}
.lang-switch a.lang-active{opacity:1;color:var(--ocher);font-weight:600}
@media(max-width:760px){
  .nav .links .lang-switch{width:100%;margin-top:8px;padding-top:12px;
    border-top:1px solid rgba(255,255,255,.14);justify-content:flex-end;gap:20px}
}
