/* himmel-der-moewen.de – Design v2. Nur eigene Schriften-Stacks, keine externen Ressourcen. */
:root{
  --navy:#0c2a3f; --navy-2:#13405d; --sea:#1d6490; --sky:#e4eff6; --sand:#f8f4ec; --sand-2:#efe7d6;
  --ink:#12212b; --muted:#4f626c; --white:#fff; --accent:#e58a00; --accent-2:#c97500; --line:#ddd3bd;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --max:1180px; --r:22px; --shadow:0 18px 40px -22px rgba(12,42,63,.45); --shadow-s:0 6px 18px -10px rgba(12,42,63,.35);
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--sand);color:var(--ink);font:1.0625rem/1.7 var(--sans);-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
img{height:auto;display:block}
a{color:var(--sea);text-underline-offset:.2em;text-decoration-thickness:1.5px}
a:hover{color:var(--navy)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-999px;top:0;background:var(--navy);color:#fff;padding:.7rem 1.1rem;z-index:200}
.skip:focus{left:10px;top:10px}
h1,h2,h3{font-family:var(--serif);line-height:1.08;margin:0 0 .5em;font-weight:700;letter-spacing:-.015em;color:var(--navy)}
h1{font-size:clamp(2.4rem,6vw,4.4rem)}
h2{font-size:clamp(1.8rem,3.8vw,2.8rem)}
h3{font-size:1.3rem;letter-spacing:-.005em}
p{margin:0 0 1.1em}
.lead{font-size:clamp(1.15rem,2vw,1.4rem);line-height:1.55}
.muted{color:var(--muted)} .small{font-size:.9rem}
.eyebrow{display:inline-block;font:700 .78rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--sea);margin:0 0 1rem}
.eyebrow.on-dark{color:#ffc56b}
.center{text-align:center}

/* ---------- Kopf ---------- */
.top{background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid rgba(12,42,63,.08);position:sticky;top:0;z-index:100}
.bar{display:flex;align-items:center;gap:1.2rem;min-height:92px}
.brand{display:block;line-height:0;flex:none}
.brand img{width:168px;height:auto}
.nav{margin-left:auto}
.nav ul{display:flex;gap:.25rem;list-style:none;margin:0;padding:0}
.nav a{display:block;padding:.6rem .95rem;border-radius:999px;text-decoration:none;color:var(--ink);font-weight:600;font-size:1rem}
.nav a:hover{background:var(--sky);color:var(--navy)}
.nav a[aria-current=page]{background:var(--navy);color:#fff}
.burger{display:none;margin-left:auto;background:var(--navy);color:#fff;border:0;border-radius:999px;padding:.65rem 1.2rem;font:600 1rem var(--sans);cursor:pointer}
@media (max-width:1060px){
  .brand img{width:140px}
  .bar{min-height:78px}
  .burger{display:block}
  .bar>.btn{display:none}
  .nav{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);padding:.5rem 24px 1.2rem;display:none;margin:0;box-shadow:var(--shadow)}
  .nav.open{display:block}
  .nav ul{flex-direction:column;gap:.1rem}
  .nav a{padding:.9rem 1rem;font-size:1.1rem}
}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:.5rem;background:var(--accent);color:#1a1200;font:700 1rem/1 var(--sans);text-decoration:none;padding:1rem 1.6rem;border-radius:999px;border:2px solid var(--accent);cursor:pointer;transition:transform .15s,background .15s,box-shadow .15s}
.btn:hover{background:var(--accent-2);border-color:var(--accent-2);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-s)}
.btn-ghost{background:transparent;border-color:currentColor;color:var(--navy)}
.btn-ghost:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.on-dark .btn-ghost,.hero .btn-ghost,.cta .btn-ghost{color:#fff}
.hero .btn-ghost:hover,.cta .btn-ghost:hover{background:#fff;color:var(--navy);border-color:#fff}
.btn-small{padding:.75rem 1.2rem;font-size:.95rem}
.actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.6rem}
.more{font-weight:700;text-decoration:none}
.more::after{content:" →";transition:margin .15s}
.more:hover::after{margin-left:.2rem}

/* ---------- Hero ---------- */
.hero{position:relative;background:var(--navy);color:#fff;overflow:hidden;padding:clamp(3rem,8vw,6.5rem) 0 clamp(7rem,12vw,10rem)}
.hero h1{color:#fff;font-size:clamp(2.5rem,6.6vw,5.2rem);margin-bottom:.35em}
.hero h1 em{font-style:italic;color:#ffb347}
.hero .lead{color:#d6e5ee;max-width:34ch;font-size:clamp(1.15rem,2.1vw,1.45rem)}
.hero-in{position:relative;z-index:2}
.hero-text{max-width:700px}
.hero-photo{position:absolute;inset:0 0 0 38%;z-index:1}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:60% 50%}
.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--navy) 0%,rgba(12,42,63,.8) 28%,rgba(12,42,63,.15) 70%,rgba(12,42,63,.35) 100%)}
.gulls{position:absolute;z-index:2;color:#fff;opacity:.85;pointer-events:none}
.gull-a{right:9%;top:14%;width:92px;animation:drift 9s ease-in-out infinite}
.gull-b{right:19%;top:26%;width:56px;animation:drift 11s ease-in-out -3s infinite}
.gull-c{right:5%;top:34%;width:40px;animation:drift 13s ease-in-out -6s infinite}
@keyframes drift{0%,100%{transform:translate(0,0)}50%{transform:translate(-14px,-9px)}}
.wave{position:absolute;left:0;bottom:-1px;width:100%;height:clamp(50px,8vw,110px);z-index:3;color:var(--sand);display:block}
@media (max-width:820px){
  .hero{padding-top:0}
  .hero-photo{position:relative;inset:auto;height:260px;margin-bottom:2rem}
  .hero-photo::after{background:linear-gradient(180deg,rgba(12,42,63,.1) 40%,var(--navy) 100%)}
  .gull-a{top:18%}.gull-b,.gull-c{display:none}
}

/* ---------- Zahlen ---------- */
.numbers{position:relative;z-index:5;margin-top:-5.2rem}
.num-grid{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}
.num{padding:1.6rem 1.4rem;text-align:center;border-right:1px solid var(--line)}
.num:last-child{border-right:0}
.num b{display:block;font:700 clamp(2.4rem,5vw,3.6rem)/1 var(--serif);color:var(--sea);letter-spacing:-.02em}
.num span{display:block;color:var(--muted);font-weight:600;font-size:.95rem;margin-top:.4rem}
@media (max-width:820px){.numbers{margin-top:-4rem}.num-grid{grid-template-columns:repeat(2,1fr)}.num:nth-child(2){border-right:0}.num:nth-child(-n+2){border-bottom:1px solid var(--line)}}

/* ---------- Sektionen ---------- */
.section{padding:clamp(3.5rem,8vw,6.5rem) 0}
.section.tight{padding:clamp(2.5rem,5vw,4rem) 0}
.sec-head{max-width:720px;margin-bottom:2.6rem}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
.sec-head p{color:var(--muted);font-size:1.15rem;margin:0}
.bg-white{background:#fff}.bg-sky{background:var(--sky)}

/* ---------- Schritte ---------- */
.steps{list-style:none;counter-reset:s;margin:0;padding:0;display:grid;gap:1.4rem;grid-template-columns:repeat(3,1fr)}
.steps li{counter-increment:s;position:relative;background:#fff;border-radius:var(--r);padding:2.4rem 1.8rem 1.8rem;box-shadow:var(--shadow-s);border:1px solid rgba(12,42,63,.06)}
.steps li::before{content:counter(s);position:absolute;top:-1.5rem;left:1.8rem;width:3.2rem;height:3.2rem;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:#1a1200;font:700 1.6rem var(--serif);box-shadow:0 8px 16px -8px rgba(229,138,0,.8)}
.steps h3{margin-bottom:.35em}
.steps p{margin:0;color:var(--muted)}
@media (max-width:860px){.steps{grid-template-columns:1fr;gap:2.2rem}}
.bg-sky .steps li,.bg-white .steps li{box-shadow:var(--shadow-s)}

/* ---------- Mosaik ---------- */
.mosaic{display:grid;gap:1rem;grid-template-columns:1.5fr 1fr;grid-template-rows:repeat(2,clamp(170px,18vw,250px))}
.mosaic figure{margin:0;position:relative;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-s);background:var(--navy)}
.mosaic figure:first-child{grid-row:span 2}
.mosaic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.mosaic figure:hover img{transform:scale(1.04)}
.mosaic figcaption{position:absolute;left:0;right:0;bottom:0;padding:2.4rem 1.2rem .9rem;color:#fff;font-size:.92rem;background:linear-gradient(0deg,rgba(12,42,63,.85),transparent)}
@media (max-width:760px){.mosaic{grid-template-columns:1fr;grid-template-rows:none}.mosaic figure{aspect-ratio:4/3}.mosaic figure:first-child{grid-row:auto}}

/* ---------- Wege ---------- */
.paths{display:grid;gap:1.4rem;grid-template-columns:repeat(3,1fr)}
.path{display:flex;flex-direction:column;border-radius:var(--r);padding:2rem 1.8rem;text-decoration:none;min-height:300px;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}
.path:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.path svg{width:44px;height:44px;margin-bottom:1.4rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.path h3{color:inherit;font-size:1.6rem}
.path p{flex:1;margin-bottom:1.2rem;opacity:.9}
.path .go{font-weight:700}
.path .go::after{content:" →"}
.path-1{background:var(--navy);color:#fff}
.path-2{background:var(--sea);color:#fff}
.path-3{background:var(--sand-2);color:var(--navy)}
.path-3 h3{color:var(--navy)}
@media (max-width:860px){.paths{grid-template-columns:1fr}.path{min-height:0}}

/* ---------- Termine ---------- */
.events{display:grid;gap:1rem}
.event{display:grid;grid-template-columns:96px 1fr auto;gap:1.4rem;align-items:center;background:#fff;border-radius:var(--r);padding:1.2rem 1.6rem 1.2rem 1.2rem;box-shadow:var(--shadow-s);border:1px solid rgba(12,42,63,.06)}
.date{background:var(--navy);color:#fff;border-radius:16px;text-align:center;padding:.8rem .4rem;line-height:1}
.date b{display:block;font:700 2.4rem var(--serif)}
.date span{display:block;font:700 .8rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#ffc56b;margin-top:.25rem}
.event h3{margin:0 0 .2rem;font-size:1.5rem}
.event h3 a{text-decoration:none;color:var(--navy)}
.event p{margin:0;color:var(--muted)}
.badge{display:inline-block;font:700 .75rem/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;padding:.4rem .7rem;border-radius:999px;background:var(--sky);color:var(--navy);margin-bottom:.5rem}
.badge.open{background:#d9f2df;color:#14532d}
@media (max-width:640px){.event{grid-template-columns:72px 1fr}.event .btn{grid-column:1/-1;justify-content:center}.date b{font-size:1.8rem}}
.empty{background:#fff;border-radius:var(--r);padding:2.4rem;text-align:center;box-shadow:var(--shadow-s);border:1px dashed #b9ad8e}
.empty svg{width:72px;margin:0 auto 1rem;color:var(--sea)}
.empty h3,.empty h2{margin-bottom:.4em}
.empty p{max-width:52ch;margin-left:auto;margin-right:auto;color:var(--muted)}
.empty .actions{justify-content:center}
.tags{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:0 0 1.2rem}
.tags li{background:#fff;border:1px solid var(--line);border-radius:999px;padding:.4rem 1rem;font-weight:600;font-size:.95rem}

/* ---------- Seitenkopf (Unterseiten) ---------- */
.page-hero{position:relative;background:var(--navy);color:#fff;padding:clamp(2.6rem,6vw,4.4rem) 0 clamp(5rem,9vw,7rem);overflow:hidden}
.page-hero h1{color:#fff;margin-bottom:.3em;max-width:24ch}
.page-hero .lead{color:#d6e5ee;max-width:46ch;margin-bottom:0}
.page-hero .gulls{opacity:.35}
.page-hero .gull-a{top:20%;right:10%;width:110px}.page-hero .gull-b{top:50%;right:22%;width:60px}
.crumbs{font-size:.88rem;margin-bottom:1.4rem}
.crumbs ol{list-style:none;display:flex;gap:.5rem;flex-wrap:wrap;margin:0;padding:0}
.crumbs li+li::before{content:"›";margin-right:.5rem;color:#9bb7c7}
.crumbs a{color:#b6cfdd}.crumbs li[aria-current]{color:#fff}
.page-body{position:relative;z-index:4;margin-top:-2.2rem}

/* ---------- Inhalt ---------- */
.prose{max-width:820px}
.prose h2{margin-top:2.2em}
.prose h2:first-child{margin-top:0}
.prose h3{margin-top:1.6em}
.card{background:#fff;border-radius:var(--r);padding:2rem;box-shadow:var(--shadow-s);border:1px solid rgba(12,42,63,.06)}
.cols{display:grid;gap:2.5rem;grid-template-columns:1fr 1fr;align-items:start}
@media (max-width:900px){.cols{grid-template-columns:1fr}}
.cols .card{position:sticky;top:112px}
@media (max-width:900px){.cols .card{position:static}}
.check{list-style:none;padding:0;margin:0 0 1.4rem}
.check li{padding-left:2.1rem;position:relative;margin-bottom:.8rem}
.check li::before{content:"";position:absolute;left:0;top:.35em;width:1.25rem;height:1.25rem;border-radius:50%;background:var(--accent)}
.check li::after{content:"";position:absolute;left:.42rem;top:.58em;width:.4rem;height:.7rem;border:solid #1a1200;border-width:0 2px 2px 0;transform:rotate(45deg)}
.rules{display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin:0}
.rules>div{background:#fff;border-radius:var(--r);padding:1.4rem;box-shadow:var(--shadow-s);border:1px solid rgba(12,42,63,.06)}
.rules dt{font:700 1.05rem var(--serif);color:var(--navy);margin-bottom:.3rem}
.rules dd{margin:0;color:var(--muted)}
@media (max-width:860px){.rules{grid-template-columns:1fr 1fr}}@media (max-width:560px){.rules{grid-template-columns:1fr}}
.facts{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin:1.2rem 0 1.6rem}
.facts>div{background:#fff;border-radius:14px;padding:1rem 1.2rem;border:1px solid rgba(12,42,63,.08)}
.facts dt{font:700 .74rem/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--sea);margin-bottom:.3rem}
.facts dd{margin:0}
.person{display:flex;gap:1.1rem;align-items:center;margin:0 0 1rem}
.person img{border-radius:50%;width:104px;height:104px;object-fit:cover;flex:none;box-shadow:var(--shadow-s)}
.person p{margin:0}
.persons{display:grid;gap:1.4rem;grid-template-columns:1fr 1fr}
@media (max-width:760px){.persons{grid-template-columns:1fr}}

/* ---------- FAQ ---------- */
details{background:#fff;border-radius:16px;margin:0 0 .75rem;border:1px solid rgba(12,42,63,.08);box-shadow:0 2px 0 rgba(12,42,63,.03)}
details[open]{box-shadow:var(--shadow-s)}
summary{cursor:pointer;font:700 1.08rem var(--serif);color:var(--navy);padding:1.1rem 3.4rem 1.1rem 1.4rem;list-style:none;position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:1.2rem;top:50%;transform:translateY(-50%);width:2rem;height:2rem;border-radius:50%;background:var(--sky);display:grid;place-items:center;font:700 1.3rem/1 var(--sans);color:var(--sea)}
details[open] summary::after{content:"–";background:var(--accent);color:#1a1200}
details p{padding:0 1.4rem 1.2rem;margin:0;color:var(--muted)}

/* ---------- Träger ---------- */
.trust{display:grid;gap:2rem;grid-template-columns:1.3fr 1fr;align-items:center}
.trust .logo-gw{width:210px;margin-bottom:1.2rem}
@media (max-width:860px){.trust{grid-template-columns:1fr}}

/* ---------- CTA ---------- */
.cta{position:relative;background:var(--navy);color:#fff;padding:clamp(4rem,9vw,6.5rem) 0;overflow:hidden;text-align:center}
.cta h2{color:#fff;font-size:clamp(2rem,5vw,3.4rem)}
.cta p{color:#d6e5ee;font-size:1.2rem;max-width:44ch;margin:0 auto}
.cta .actions{justify-content:center}
.cta .gull-a{left:8%;right:auto;top:20%}.cta .gull-b{left:20%;right:auto;top:55%}.cta .gull-c{left:auto;right:10%;top:30%}

/* ---------- Formulare ---------- */
.form .field{margin-bottom:1.1rem}
.form label{display:block;font-weight:700;margin-bottom:.35rem;font-size:.98rem}
.form input[type=text],.form input[type=email],.form input[type=url],.form input[type=date],.form input[type=number],.form select,.form textarea{width:100%;padding:.85rem 1rem;border:1.5px solid #b8c6cd;border-radius:12px;font:inherit;background:#fbfcfd;color:var(--ink);transition:border-color .15s,box-shadow .15s}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--sea);box-shadow:0 0 0 4px rgba(29,100,144,.18)}
.form small{display:block;color:var(--muted);margin-top:.3rem}
.form .check-f label{font-weight:400;font-size:.95rem}
.form .check-f input{margin-right:.55rem;accent-color:var(--sea)}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.form-note{font-weight:700;margin:1rem 0 0}
.form-note.err{color:#a1260f}

/* ---------- Fuß ---------- */
.foot{background:var(--ink);color:#c9d6dd;padding:4rem 0 2rem}
.foot a{color:#fff;text-decoration:none}.foot a:hover{text-decoration:underline}
.foot h2{font:700 .8rem var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#8fb0c2;margin:0 0 1rem}
.foot ul{list-style:none;margin:0;padding:0}.foot li{margin-bottom:.55rem}
.foot-grid{display:grid;gap:2.5rem;grid-template-columns:1.6fr 1fr 1fr 1fr}
@media (max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}}@media (max-width:520px){.foot-grid{grid-template-columns:1fr}}
.foot .logo-f{width:210px;height:auto;margin-bottom:1rem}
.foot .claim{font:italic 700 1.25rem/1.3 var(--serif);color:#fff;max-width:20ch}
.foot .muted{color:#8fb0c2;font-size:.92rem}
.foot-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:2.6rem;padding-top:1.4rem;font-size:.9rem;color:#8fb0c2}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gulls,.btn,.path,.mosaic img{animation:none!important;transition:none!important}}
@media print{.top,.foot,.cta,.burger,.gulls,.wave{display:none}body{background:#fff}.hero,.page-hero{background:#fff;color:#000}.hero h1,.page-hero h1{color:#000}}

.page-hero h1 em{font-style:italic;color:#ffb347}
.steps-v{grid-template-columns:1fr;gap:2.6rem;margin-top:1.4rem}
.steps-v li h2{font-size:1.5rem;margin-bottom:.3em}
.page-hero .eyebrow{margin-bottom:.8rem}
.intro{max-width:780px;background:#fff;border-radius:var(--r);padding:1.6rem 2rem;box-shadow:var(--shadow-s);margin:0}
.card,.facts dd,.person p{overflow-wrap:anywhere}
