/* Bildbeispiele (Mini-Galerie) + Lightbox + FAQ-Akkordeon */
.mg{padding-block:clamp(28px,5vh,56px)}
.mg-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.1rem;flex-wrap:wrap}
.mg-head .eyebrow{margin:0}
.mg-all{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--acc);text-decoration:none}
.mg-all:hover{text-decoration:underline}
.mg{overflow-x:clip}.mg .wrap{min-width:0}
.mg-track{min-width:0;width:100%;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none}
.mg-track::-webkit-scrollbar{display:none}
.mg-slide{flex:0 0 100%;min-width:0;width:100%;scroll-snap-align:start;display:flex;justify-content:center;align-items:center;gap:14px;height:min(70vh,680px)}
.mg-item{height:100%;aspect-ratio:var(--r);min-width:0;padding:0;margin:0;border:0;background:transparent;cursor:zoom-in;display:block}
.mg-slide.n1 .mg-item{max-width:100%}
.mg-slide.n2 .mg-item{max-width:calc(50% - 7px)}
.mg-item picture,.mg-item img{display:block;width:100%;height:100%}
.mg-item img{object-fit:contain;transition:opacity .3s}
.mg-item:hover img,.mg-item:focus-visible img{opacity:.85}
.mg-item:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
@media(max-width:700px){.mg-slide{height:auto;align-items:flex-start}.mg-item{height:auto}.mg-slide.n1 .mg-item{width:100%}.mg-slide.n2 .mg-item{width:calc(50% - 7px);max-width:calc(50% - 7px)}.mg-item img{height:auto}.mg-item picture{height:auto}}
.mg-nav{display:flex;justify-content:space-between;align-items:center;margin-top:.8rem;font-size:.8rem;color:var(--mut2)}
.mg-nav .b{display:flex;gap:.5rem}
.mg-nav button{background:transparent;border:1px solid var(--line);color:var(--ink);width:44px;height:44px;cursor:pointer;font-size:1rem}
.mg-nav button:hover{border-color:var(--acc);color:var(--acc)}
.lb{position:fixed;inset:0;z-index:200;background:rgba(6,6,7,.96);display:none;align-items:center;justify-content:center;flex-direction:column}
.lb.open{display:flex}
.lb img{max-width:94vw;max-height:84vh;width:auto;height:auto;object-fit:contain;display:block}
.lb p{color:var(--mut2);font-size:.85rem;margin-top:.9rem;max-width:80ch;text-align:center;padding:0 1rem}
.lb button{position:absolute;background:transparent;border:1px solid rgba(255,255,255,.25);color:#fff;width:48px;height:48px;font-size:1.2rem;cursor:pointer}
.lb button:hover{border-color:var(--acc);color:var(--acc)}
.lb .lb-x{top:18px;right:18px}.lb .lb-p{left:18px;top:50%;transform:translateY(-50%)}.lb .lb-n{right:18px;top:50%;transform:translateY(-50%)}
.hfaq{max-width:1080px;padding-block:clamp(56px,9vh,120px)}
.hfaq-head h2{font-size:clamp(1.8rem,3.4vw,2.8rem)}
.acc-item{border-bottom:1px solid var(--line)}
.acc-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.35rem 0;min-height:56px}
.acc-item summary::-webkit-details-marker{display:none}
.acc-item summary h3{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(1.02rem,1.5vw,1.25rem);line-height:1.4;color:var(--ink);letter-spacing:0;text-transform:none}
.acc-item summary:hover h3{color:var(--acc)}
.acc-pm{flex:0 0 22px;height:22px;position:relative}
.acc-pm::before,.acc-pm::after{content:"";position:absolute;left:50%;top:50%;width:16px;height:1.5px;background:var(--acc);transform:translate(-50%,-50%);transition:transform .3s}
.acc-pm::after{transform:translate(-50%,-50%) rotate(90deg)}
.acc-item[open] .acc-pm::after{transform:translate(-50%,-50%) rotate(0deg)}
.acc-a{padding:0 0 1.8rem;max-width:68ch}
.acc-a p{color:var(--mut2);font-size:1rem;line-height:1.75}
.acc-a p+p{margin-top:.8rem}
.sublinks{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.sublinks a{display:block;padding:1.6rem 1.4rem;background:var(--bg,#0b0b0c);color:var(--ink);text-decoration:none}
.sublinks a b{display:block;font-family:var(--serif);font-weight:400;font-size:1.1rem;margin-bottom:.4rem}
.sublinks a span{color:var(--mut2);font-size:.92rem;line-height:1.6}
.sublinks a:hover b{color:var(--acc)}
/* FAQ-Abstände Startseite/Stadtseiten (2026-10-20) */
section.hfaq{padding-block:clamp(56px,9vh,120px)}
section.hfaq .hfaq-head .lead{margin-top:1rem;max-width:52ch}
section.hfaq .acc{margin-top:clamp(28px,4vh,48px);border-top:1px solid var(--line)}
