/* ===== Mehrseitige Websites (Astro) ===== */
.menu a[aria-current=page]{color:var(--p2);position:relative}
.menu a[aria-current=page]::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--p),var(--p2))}
.v-frisch .menu a[aria-current=page],.v-sanft .menu a[aria-current=page],.v-eleganz .menu a[aria-current=page]{color:var(--p)}
/* Bild fliegt beim Seitenwechsel vom Start-Foto in den Seitenkopf */
.foto-hero img,.sk-bild img{view-transition-name:hauptbild}
::view-transition-group(hauptbild){animation-duration:.7s;animation-timing-function:cubic-bezier(.7,0,.2,1)}
/* Burger + Vollbild-Menü */
.burger{display:none;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.06);cursor:pointer;position:relative;z-index:80}
.burger i{position:absolute;left:13px;right:13px;height:2px;border-radius:2px;background:#fff;transition:transform .45s cubic-bezier(.7,0,.2,1),top .45s}
.burger i:first-child{top:18px}.burger i:last-child{top:26px}
.v-eleganz .burger i{background:var(--ink)}.v-eleganz .burger{border-color:var(--line)}
.menue-offen .burger i{background:#fff}
.menue-offen .burger i:first-child{top:22px;transform:rotate(45deg)}.menue-offen .burger i:last-child{top:22px;transform:rotate(-45deg)}
.vollmenue{position:fixed;inset:0;z-index:70;display:flex;flex-direction:column;justify-content:center;padding:6rem 1.6rem 2rem;color:#fff}
.vollmenue[hidden]{display:none}
.vm-bg{position:absolute;inset:0;background:radial-gradient(120% 80% at 100% 0,color-mix(in srgb,var(--p) 35%,var(--deep)),var(--deep) 60%);clip-path:circle(0 at calc(100% - 44px) 40px);transition:clip-path .75s cubic-bezier(.7,0,.2,1)}
.vollmenue.auf .vm-bg{clip-path:circle(150% at calc(100% - 44px) 40px)}
.vm-links{position:relative;display:flex;flex-direction:column;gap:.3rem}
.vm-links a{display:flex;align-items:baseline;gap:1rem;text-decoration:none;font-weight:800;font-size:clamp(2.2rem,9vw,4.4rem);letter-spacing:-.03em;line-height:1.1;overflow:hidden}
.vm-links a span{display:inline-block;transform:translateY(110%);transition:transform .7s cubic-bezier(.2,.8,.2,1),color .2s}
.vm-links a small{font-size:.8rem;font-weight:700;color:var(--p2);opacity:0;transition:opacity .5s}
.vollmenue.auf .vm-links a span{transform:none}.vollmenue.auf .vm-links a small{opacity:1}
.vm-links a:nth-child(1) span{transition-delay:.18s}.vm-links a:nth-child(2) span{transition-delay:.24s}.vm-links a:nth-child(3) span{transition-delay:.3s}.vm-links a:nth-child(4) span{transition-delay:.36s}.vm-links a:nth-child(5) span{transition-delay:.42s}
.vm-links a[aria-current=page] span{color:var(--p2)}
.vm-links a:hover span{color:var(--p2)}
.vm-fuss{position:relative;margin-top:3rem;display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;font-size:.9rem;color:rgba(255,255,255,.7);opacity:0;transform:translateY(12px);transition:opacity .5s .5s,transform .5s .5s}
.vm-fuss a{color:#fff;text-decoration:none;font-weight:700}
.vollmenue.auf .vm-fuss{opacity:1;transform:none}
@media(max-width:900px){.burger{display:block}.menu a:not(.knopf){display:none}}
/* Seitenkopf der Unterseiten */
.seitenkopf{position:relative;background:var(--deep);color:#fff;overflow:hidden;padding:7.5rem 0 9.5rem;isolation:isolate}
.sk-bild{position:absolute;inset:0;z-index:-2}
.sk-bild img{width:100%;height:100%;object-fit:cover;opacity:.42;animation:sk-zoom 14s ease-out both;transform-origin:60% 40%}
.seitenkopf::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,var(--deep) 18%,color-mix(in srgb,var(--deep) 55%,transparent) 60%,color-mix(in srgb,var(--p) 30%,transparent))}
.sk-gitter{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(70% 90% at 80% 30%,#000,transparent);-webkit-mask-image:radial-gradient(70% 90% at 80% 30%,#000,transparent)}
.sk-inhalt{max-width:860px;margin-left:max(1.4rem,calc((100% - 1160px)/2 + 1.4rem));padding:0}
.brot{display:flex;gap:.6rem;font-size:.8rem;color:rgba(255,255,255,.6);margin-bottom:1.6rem;animation:sk-rein .7s .1s both}
.brot a{color:#fff;text-decoration:none}.brot a:hover{color:var(--p2)}
.seitenkopf .eyebrow{animation:sk-rein .7s .2s both}
.sk-titel{font-size:clamp(2.5rem,7vw,5.2rem);letter-spacing:-.035em;line-height:1.02}
.sk-titel .z{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em}
.sk-titel .z>span{display:inline-block;animation:sk-zeile 1s cubic-bezier(.2,.8,.2,1) both}
.sk-titel .z:nth-child(2)>span{animation-delay:.12s}
.sk-text{max-width:560px;margin-top:1.4rem;font-size:1.08rem;color:rgba(255,255,255,.78);animation:sk-rein .8s .35s both}
.seitenkopf .welle{position:absolute;left:0;right:0;bottom:-1px}
@keyframes sk-zoom{from{transform:scale(1.18)}to{transform:scale(1)}}
@keyframes sk-zeile{from{transform:translateY(105%) rotate(2deg)}to{transform:none}}
@keyframes sk-rein{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
/* Teaser-Karten auf der Startseite */
.teaser{padding:6rem 0}
.teaser-liste{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.teaser-karte{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:260px;padding:1.6rem;border-radius:var(--r);overflow:hidden;text-decoration:none;color:#fff;background:var(--deep);isolation:isolate;box-shadow:0 20px 50px -30px rgba(10,20,30,.5);transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.teaser-karte img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;filter:saturate(.6);transform:scale(1.04);transition:transform .9s cubic-bezier(.2,.8,.2,1),filter .5s}
.teaser-karte::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,color-mix(in srgb,var(--deep) 92%,transparent) 15%,color-mix(in srgb,var(--deep) 30%,transparent));transition:background .5s}
.teaser-karte:hover{transform:translateY(-6px)}
.teaser-karte:hover img{transform:scale(1.12);filter:none}
.teaser-karte:hover::before{background:linear-gradient(to top,color-mix(in srgb,var(--p) 85%,var(--deep)) 5%,transparent 75%)}
.tk-nr{position:absolute;top:1.2rem;left:1.4rem;font-size:.8rem;font-weight:800;letter-spacing:.15em;color:var(--p2)}
.teaser-karte:hover .tk-nr{color:#fff}
.tk-name{font-size:1.35rem;font-weight:800;letter-spacing:-.02em;max-width:80%}
.tk-pfeil{position:absolute;right:1.3rem;bottom:1.4rem;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.12);transform:rotate(-45deg);transition:transform .5s cubic-bezier(.2,.8,.2,1),background .3s}
.teaser-karte:hover .tk-pfeil{transform:none;background:#fff;color:var(--p)}
@media(max-width:900px){.teaser-liste{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.teaser-liste{grid-template-columns:1fr}.teaser-karte{min-height:200px}}
/* Abschluss-Band */
.cta-band{position:relative;padding:6rem 0;text-align:center;background:var(--deep);color:#fff;overflow:hidden;isolation:isolate}
.cta-band::before{content:"";position:absolute;width:900px;height:900px;left:50%;top:50%;translate:-50% -50%;z-index:-1;background:conic-gradient(from 0deg,transparent,color-mix(in srgb,var(--p) 50%,transparent),transparent 40%);border-radius:50%;filter:blur(60px);animation:cta-dreh 12s linear infinite}
.cta-band h2{font-size:clamp(2.2rem,6vw,4.2rem);letter-spacing:-.03em}
.cta-band p{margin:1rem auto 2rem;color:rgba(255,255,255,.75);max-width:520px}
.cta-band .reihe{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}
@keyframes cta-dreh{to{rotate:360deg}}
/* Großer Fuß */
.fuss-gross{background:#0b0f14;color:rgba(255,255,255,.7);padding:4.5rem 0 1.5rem;font-size:.9rem}
.fuss-gross .wrap:first-child{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:2.4rem;padding-top:0;padding-bottom:0;align-items:start}
.fg-spalte{display:flex;flex-direction:column;gap:.55rem}
.fg-spalte b{color:#fff;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:.4rem}
.fg-spalte a{color:rgba(255,255,255,.75);text-decoration:none;transition:color .2s}.fg-spalte a:hover{color:var(--p2)}
.fg-spalte p{max-width:300px;line-height:1.6;font-size:.86rem}
.fg-zeit{display:flex;justify-content:space-between;gap:1rem;font-size:.84rem}
.fg-unten{display:flex!important;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-top:3rem;padding-top:1.4rem!important;border-top:1px solid rgba(255,255,255,.08);font-size:.8rem;grid-template-columns:none!important}
.fg-unten a{color:rgba(255,255,255,.7);text-decoration:none;margin-left:1.2rem}
@media(max-width:900px){.fuss-gross .wrap:first-child{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.fuss-gross .wrap:first-child{grid-template-columns:1fr}.fuss-gross{padding-bottom:5.5rem}}
.legal{max-width:800px;margin:0 auto;padding:4rem 1.4rem}
@media(prefers-reduced-motion:reduce){.sk-bild img,.sk-titel .z>span,.brot,.sk-text,.seitenkopf .eyebrow,.cta-band::before{animation:none}.vm-bg{transition:none}}
.menue-offen header{z-index:90;background:transparent;border-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
.menue-offen header .menu .knopf{opacity:0;pointer-events:none}
.menue-offen .logo{color:#fff}
.fuss-gross a{margin-left:0}.fuss-gross .fg-unten a{margin-left:1.2rem}
.fuss-gross .logo{display:inline-block;margin:0 0 .4rem}
