@font-face{font-family:Montserrat;font-weight:400;font-display:swap;src:url(fonts/montserrat-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122}
@font-face{font-family:Montserrat;font-weight:400;font-display:swap;src:url(fonts/montserrat-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Montserrat;font-weight:600;font-display:swap;src:url(fonts/montserrat-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122}
@font-face{font-family:Montserrat;font-weight:700;font-display:swap;src:url(fonts/montserrat-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122}
*{box-sizing:border-box}
body{margin:0;background:#fbfbfb;color:#2d2d2d;font:400 1rem/1.7 Montserrat,"Helvetica Neue",Arial,sans-serif}
a{color:#5fa233;text-decoration:none}a:hover{text-decoration:underline}
a:focus-visible,button:focus-visible{outline:3px solid #5fa233;outline-offset:3px}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:880px;margin:0 auto;padding:0 20px}
header{background:#fff;padding:2rem 0 1.4rem;text-align:center}
.logo img{margin:0 auto;width:100%;max-width:640px}
nav{display:flex;align-items:center;gap:.25rem;margin-top:1.4rem;justify-content:center;flex-wrap:wrap}
nav::before,nav::after{content:"";flex:1;border-top:1px solid #ddd;min-width:20px}
nav a{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#a49c94;padding:.4rem .8rem}
nav a:hover{color:#444;text-decoration:none}
nav a[aria-current=page]{background:#f0f0f0;color:#444}
main{padding:2.5rem 0 3rem}
hr{border:0;border-top:1px solid #ddd;margin:2.2rem 0}
p{margin:0 0 1.5rem}
.center{text-align:center}
.bild{margin:0 auto 1.5rem}
.hero-breit{width:100%}
ul.liste{padding-left:1.2rem;margin:0}
ul.liste li{margin-bottom:1.6rem;padding-left:.4rem}
ul.liste li::marker{color:#888}
.raster{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.raster>*{aspect-ratio:1/1;overflow:hidden;background:#eee}
.raster img,.raster button img{width:100%;height:100%;object-fit:cover}
.raster button{padding:0;border:0;cursor:zoom-in;display:block;width:100%}
.raster iframe{width:100%;height:100%;border:0}
.raster .video{aspect-ratio:16/9}
.kontakt-block{text-align:center;font-weight:700;font-size:1.15rem;line-height:1.6}
.kontakt-block a{color:inherit}
.karte{margin-top:1.5rem}
footer{background:#f8f8f8;padding:2.2rem 0;font-size:.8rem;color:#8e8e8e}
footer a{color:#5199a8}
dialog{border:0;padding:0;background:none;max-width:96vw;max-height:96vh}
dialog::backdrop{background:rgba(0,0,0,.85)}
dialog img{max-height:92vh;width:auto}
dialog button{position:fixed;top:1rem;right:1rem;width:2.8rem;height:2.8rem;font-size:1.6rem;line-height:1;border:0;border-radius:50%;background:#fff;cursor:pointer}
@media(max-width:600px){nav::before,nav::after{display:none}.raster{grid-template-columns:repeat(2,1fr)}}
