:root{--ink:#123d3a;--coral:#dc6047;--cream:#fbf7ee;--mint:#d8e9e2;--gold:#e7b746;--deep:#1f5d55;--white:#fff}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 Arial,sans-serif}
header{height:88px;display:flex;align-items:center;padding:0 max(32px,calc((100% - 1320px)/2));border-bottom:1px solid #e3ddd0;background:var(--cream);position:sticky;top:0;z-index:20}
.brand{text-decoration:none;color:var(--ink);line-height:1}
.brand strong{font:700 25px Georgia;display:block}
.brand small,footer small{color:var(--coral);letter-spacing:.2em;font-size:11px;font-weight:800}
.menu{display:none;margin-left:auto;border:0;background:none;font-size:26px}
nav{margin-left:auto;display:flex;align-items:center;gap:clamp(14px,2vw,31px)}
nav a{color:var(--ink);font-weight:800;text-decoration:none;font-size:14px}
.admin-link{border:1px solid #bfc8c4;border-radius:28px;padding:10px 18px}
.hero{min-height:730px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;position:relative}
.hero-copy{padding:135px 40px 90px max(45px,calc((100vw - 1320px)/2));z-index:2}
.kicker{text-transform:uppercase;letter-spacing:.15em;color:var(--coral);font-weight:900;font-size:13px}
.kicker:before{content:"";display:inline-block;width:34px;border-top:3px solid currentColor;margin:0 10px 4px 0}
.hero h1,.section h2,.next h2,.photo-intro h2,.gallery h2,.visit h2{font:700 clamp(58px,7vw,98px)/.92 Georgia;color:var(--ink);margin:23px 0 30px;letter-spacing:-.04em}
.hero h1 em{color:var(--coral)}
.lead{font-size:20px;max-width:600px}
.pills{display:flex;flex-wrap:wrap;gap:12px;margin:32px 0}
.pills span{background:#fff;padding:12px 20px;border-radius:30px;font-weight:800;box-shadow:0 8px 20px #1d4c3f0a}
.pills span:before{content:"•";color:var(--coral);margin-right:12px}
.actions{display:flex;gap:14px;flex-wrap:wrap}
.button{display:inline-block;border:2px solid var(--coral);background:var(--coral);color:#fff;text-decoration:none;font-weight:900;padding:14px 22px;border-radius:6px}
.button.outline{background:transparent;color:var(--ink);border-color:var(--ink)}
.hero-visual{position:relative;background:linear-gradient(90deg,#123d3a35,#123d3a05),url("images/eingang.jpg") center/cover no-repeat;min-height:730px}
.hero-visual:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--cream) 0,transparent 18%)}
.motto{position:absolute;z-index:3;top:80px;right:8%;background:#fff;padding:20px 26px;border-radius:15px;box-shadow:0 15px 35px #123d3a35}
.motto small{color:var(--coral);font-weight:900;letter-spacing:.12em}
.motto strong{display:block;margin-top:8px}
.next{background:var(--deep);color:#fff;display:grid;grid-template-columns:1.15fr .85fr;padding:80px max(45px,calc((100% - 1320px)/2));gap:80px}
.next h2{color:#fff;font-size:clamp(43px,5vw,70px);margin-bottom:0}
.kicker.light{color:#f4bd98}
.next-detail{border-left:1px solid #74a099;padding-left:50px}
.next-detail>span{font-size:32px;font-weight:900;color:var(--gold)}
.next-detail h3{font:700 32px Georgia;margin:10px 0}
.section{padding:100px max(45px,calc((100% - 1320px)/2))}
.section-head{max-width:780px}
.section h2,.photo-intro h2,.gallery h2,.visit h2{font-size:clamp(43px,5vw,68px)}
.events{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-top:50px}
.events article{display:flex;gap:22px;background:#fff;padding:25px;border:1px solid #e4ded2}
.events time{min-width:95px;border-right:1px solid #ddd}
.events time b{font:700 40px Georgia;color:var(--coral);display:block}
.events time span{font-size:12px}
.events h3{font:700 23px Georgia;margin:3px 0}
.events p{margin:4px 0}
.events small{color:var(--coral);font-weight:800}
.photo-intro{display:grid;grid-template-columns:1.1fr .9fr;background:var(--deep);color:#fff}
.photo-intro img{width:100%;height:100%;min-height:560px;object-fit:cover}
.photo-intro>div{padding:90px 8vw;align-self:center}
.photo-intro h2{color:#fff}
.button.cream{background:var(--cream);border-color:var(--cream);color:var(--ink)}
.features{background:#f3ecde}
.feature-grid,.news-grid,.link-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:45px}
.feature-grid article,.news-grid article{background:#fff;padding:30px}
.feature-grid b{font:700 48px Georgia;color:var(--gold)}
.feature-grid h3,.news-grid h3,.link-grid h3{font:700 24px Georgia;margin:10px 0}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:310px 310px;background:var(--deep)}
.gallery figure{margin:0;overflow:hidden}
.gallery figure img{width:100%;height:100%;object-fit:cover}
.gallery .wide{grid-column:span 2}
.gallery-copy{padding:45px;color:#fff;grid-column:span 2}
.gallery-copy h2{color:#fff;font-size:45px;margin:10px 0}
.gallery-section{background:var(--deep);color:#fff;padding:90px max(45px,calc((100% - 1320px)/2))}
.gallery-section .gallery-copy{padding:0 0 38px;max-width:780px}
.gallery-section .gallery-copy h2{font:700 clamp(43px,5vw,68px)/1 Georgia;color:#fff}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.gallery-grid figure{position:relative;margin:0;min-height:300px;overflow:hidden;background:#123d3a}
.gallery-open{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:none;color:#fff;text-align:left;cursor:zoom-in;font:inherit;text-decoration:none}
.gallery-grid img{width:100%;height:100%;min-height:300px;object-fit:cover;display:block;transition:transform .35s ease}
.gallery-grid figure:hover img{transform:scale(1.025)}
.gallery-grid .gallery-open span{position:absolute;left:0;right:0;bottom:0;padding:32px 18px 15px;background:linear-gradient(transparent,#0f3734dc);font-weight:800}
.gallery-open:focus-visible{outline:4px solid var(--gold);outline-offset:-4px}
.lightbox{position:fixed;inset:0;z-index:1000;display:none;grid-template-columns:80px minmax(0,1fr) 80px;align-items:center;background:rgba(25,25,25,.92);padding:45px 22px;color:#fff}
.lightbox.is-open{display:grid}
.lightbox figure{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;height:100%}
.lightbox img{display:block;max-width:100%;max-height:calc(100vh - 150px);object-fit:contain;box-shadow:0 18px 70px #0008}
.lightbox figcaption{padding:16px 12px 0;font-weight:800;text-align:center}
.lightbox button{border:0;background:#fff2;color:#fff;cursor:pointer;border-radius:50%;font-family:Arial,sans-serif}
.lightbox button:hover,.lightbox button:focus-visible{background:var(--coral);outline:none}
.lightbox-prev,.lightbox-next{width:58px;height:58px;font-size:46px;line-height:1;justify-self:center}
.lightbox-close{position:absolute;top:18px;right:22px;width:48px;height:48px;font-size:34px;line-height:1}
body.lightbox-open{overflow:hidden}
.news-grid article{border-top:5px solid var(--gold)}
.news-grid time{color:var(--coral);font-weight:900}
.visit{display:grid;grid-template-columns:1fr 1fr}
.visit>div{padding:90px max(45px,calc((100vw - 1320px)/2));padding-right:8vw}
.visit img{width:100%;height:100%;min-height:600px;object-fit:cover}
.visit address{font-style:normal;font-size:18px;margin:28px 0}
.link-section{background:var(--mint)}
.link-grid{grid-template-columns:repeat(4,1fr)}
.link-grid a{background:#fff;padding:25px;color:var(--ink);text-decoration:none;transition:.2s}
.link-grid a:hover{transform:translateY(-4px);box-shadow:0 12px 25px #184b4030}
.link-grid span{color:var(--coral);font-size:26px}
.link-grid p{font-size:14px}
footer{background:#0f3734;color:#fff;padding:55px max(45px,calc((100% - 1320px)/2));display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}
footer a{color:#fff}
.brand+small{display:block}
.legal-nav{margin-left:auto}.legal-page{width:min(900px,calc(100% - 48px));margin:0 auto;padding:90px 0 110px}.legal-page>h1{font:700 clamp(52px,7vw,82px)/1 Georgia;margin:15px 0 55px}.legal-page section{background:#fff;border-left:5px solid var(--coral);padding:28px 32px;margin:18px 0}.legal-page h2{font:700 27px Georgia;margin:0 0 13px}.legal-page address{font-style:normal}.legal-columns{display:grid;grid-template-columns:1fr 1fr;gap:30px}.legal-page a{color:var(--deep)}.legal-note{color:#69756f;font-size:14px;margin-top:35px}

@media(max-width:900px){header{height:76px;padding:0 20px}
.brand strong{font-size:18px}
.brand small{font-size:9px}
.menu{display:block}
nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--cream);padding:22px;box-shadow:0 14px 25px #0002}
nav.open{display:grid}
.hero{grid-template-columns:1fr}
.hero-copy{padding:75px 24px}
.hero-visual{min-height:500px;background-position:center}
.hero-visual:before{background:linear-gradient(180deg,var(--cream) 0,transparent 16%)}
.motto{top:35px;right:7%}
.next,.photo-intro,.visit{grid-template-columns:1fr;padding:60px 24px;gap:35px}
.next-detail{padding-left:24px}
.section{padding:70px 24px}
.events,.feature-grid,.news-grid{grid-template-columns:1fr}
.photo-intro{padding:0}
.photo-intro>div{padding:55px 24px}
.gallery{grid-template-columns:1fr 1fr;grid-template-rows:220px 220px 290px}
.gallery .wide{grid-column:span 2}
.gallery-copy{grid-column:span 2;padding:30px}
.gallery-section{padding:65px 24px}.gallery-grid{grid-template-columns:1fr 1fr}
.visit{padding:0}
.visit>div{padding:60px 24px}
.link-grid{grid-template-columns:1fr 1fr}
footer{padding:45px 24px;grid-template-columns:1fr}
}
@media(max-width:560px){.hero h1{font-size:58px}.legal-page{width:calc(100% - 32px);padding:60px 0}.legal-page section{padding:23px 20px}.legal-columns{grid-template-columns:1fr}
.hero{min-height:0}
.hero-visual{min-height:390px}
.pills{display:grid}
.events article{display:block}
.events time{border:0}
.link-grid{grid-template-columns:1fr}
.gallery{display:block}
.gallery figure{height:230px}
.gallery-copy{padding:40px 24px}
.gallery-grid{grid-template-columns:1fr}.gallery-grid figure,.gallery-grid img{min-height:240px}
.lightbox{grid-template-columns:48px minmax(0,1fr) 48px;padding:58px 8px 20px}.lightbox-prev,.lightbox-next{width:42px;height:42px;font-size:34px}.lightbox-close{top:10px;right:10px}
}

