@font-face{font-family:"Cormorant";src:url(fonts/cormorant-garamond-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Cormorant";src:url(fonts/cormorant-garamond-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Cormorant";src:url(fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Inter";src:url(fonts/inter-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Inter";src:url(fonts/inter-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
:root{--bg:#f6f2ea;--sand:#e8dfd0;--stone:#8a8276;--olive:#3d4232;--ink:#262622;--serif:"Cormorant",Georgia,serif;--sans:"Inter",system-ui,sans-serif}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font:400 16px/1.7 var(--sans);-webkit-font-smoothing:antialiased}
img{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.1;letter-spacing:-.01em}
h1{font-size:clamp(2.8rem,9vw,6.5rem)}
h2{font-size:clamp(2.1rem,5.5vw,3.8rem)}
h3{font-size:1.6rem;font-weight:500}
em{font-style:italic}
.kicker{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--stone);margin-bottom:1.2rem}
.sr{position:absolute;left:-9999px}
.nav{position:absolute;top:0;left:0;right:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:1.4rem 6vw;color:#fff}
.logo{font-family:var(--serif);font-size:1.5rem;text-decoration:none;letter-spacing:.02em}
.nav nav{display:none;gap:2.4rem;font-size:.85rem;letter-spacing:.05em}
.nav nav a{text-decoration:none;opacity:.9}
@media(min-width:760px){.nav nav{display:flex}}
.hero{position:relative;height:100svh;min-height:560px;color:#fff;overflow:hidden}
.hero img{position:absolute;inset:0;animation:zoom 14s ease-out forwards}
@keyframes zoom{from{transform:scale(1.08)}to{transform:scale(1)}}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,20,15,.35) 0,rgba(20,20,15,0) 35%,rgba(20,20,15,.55) 100%)}
.hero-text{position:absolute;z-index:2;left:6vw;right:6vw;bottom:9vh;max-width:820px}
.hero .kicker{color:rgba(255,255,255,.8)}
.lead{font-size:1.05rem;max-width:30ch;margin:1.4rem 0 2.2rem;opacity:.92}
.btn{display:inline-block;padding:1rem 2.2rem;border:1px solid currentColor;text-decoration:none;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;transition:.4s}
.btn:hover{background:#fff;color:var(--ink)}
.btn.dark{color:var(--olive)}.btn.dark:hover{background:var(--olive);color:var(--bg);border-color:var(--olive)}
section{padding:clamp(5rem,14vw,10rem) 6vw}
.intro{max-width:1100px;margin:auto}
.cols{display:grid;gap:1.6rem;margin-top:2.6rem;color:#4a4740}
@media(min-width:760px){.cols{grid-template-columns:1fr 1fr;gap:4rem}}
.sign{font-family:var(--serif);font-style:italic;font-size:1.4rem;margin-top:2.4rem;color:var(--olive)}
.hotels{background:var(--sand)}
.sec-head{max-width:1200px;margin:0 auto 3.5rem}
.sub{color:#4a4740;margin-top:1rem;max-width:40ch}
.grid{max-width:1200px;margin:auto;display:grid;gap:4rem}
@media(min-width:900px){.grid{grid-template-columns:repeat(3,1fr);gap:2.5rem}.card:nth-child(2){margin-top:5rem}}
.card .img{position:relative;aspect-ratio:4/5;overflow:hidden;margin-bottom:1.4rem}
.card img{transition:transform 1.2s ease}
.card:hover img{transform:scale(1.04)}
.tag{position:absolute;top:1rem;left:1rem;background:rgba(246,242,234,.92);font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;padding:.35rem .7rem}
.meta{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--stone);margin-bottom:.5rem}
.card p:not(.meta){color:#4a4740;margin:.6rem 0 1rem}
.more{font-size:.8rem;letter-spacing:.08em;text-decoration:none;border-bottom:1px solid var(--stone);padding-bottom:2px}
.steps ol{list-style:none;padding:0;max-width:1200px;margin:auto;display:grid;gap:3rem}
@media(min-width:760px){.steps ol{grid-template-columns:repeat(3,1fr)}}
.steps li{border-top:1px solid #cfc6b6;padding-top:1.6rem}
.steps li span{font-family:var(--serif);font-size:1rem;color:var(--stone);display:block;margin-bottom:1rem}
.steps li p{color:#4a4740;margin-top:.8rem}
.center{text-align:center;margin-top:4.5rem}
.news{background:var(--olive);color:var(--bg);text-align:center}
.news>p{opacity:.85;margin:1rem auto 2.4rem;max-width:40ch}
.nl{display:flex;flex-direction:column;gap:.8rem;max-width:480px;margin:auto}
@media(min-width:560px){.news .nl{flex-direction:row}}
.nl input{flex:1;padding:1rem 1.1rem;border:1px solid rgba(246,242,234,.4);background:transparent;color:inherit;font:inherit}
.nl input::placeholder{color:rgba(246,242,234,.6)}
.nl button{padding:1rem 1.8rem;border:0;background:var(--bg);color:var(--olive);font:500 .78rem var(--sans);letter-spacing:.16em;text-transform:uppercase;cursor:pointer}
.news .small{font-size:.78rem;opacity:.65;max-width:52ch;margin:1.6rem auto 0}
footer{background:var(--ink);color:#cfc8bb;padding:4rem 6vw 2.5rem;font-size:.88rem}
.f-top{display:grid;gap:2.5rem;max-width:1200px;margin:auto;padding-bottom:2.5rem;border-bottom:1px solid #3d3c37}
@media(min-width:860px){.f-top{grid-template-columns:1.2fr 1fr 1fr}}
footer .logo{color:#f6f2ea;display:inline-block;margin-bottom:.8rem}
footer nav{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1.5rem}
footer nav a{text-decoration:none}footer nav a:hover{color:#fff}
.small-form{margin:0}
.small-form label{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;display:block;margin-bottom:.6rem}
.small-form div{display:flex;border-bottom:1px solid #6b675e}
.small-form input{border:0;padding:.7rem 0;color:#f6f2ea}
.small-form button{background:none;color:#f6f2ea;padding:.7rem}
.note{max-width:1200px;margin:1.4rem auto 0;font-size:.75rem;color:#8e887c}
.fade{opacity:0;transform:translateY(28px);transition:opacity 1.1s ease,transform 1.1s ease}
.fade.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.fade{opacity:1;transform:none;transition:none}.hero img{animation:none}}
/* Unterseiten */
.nav.solid{position:relative;color:var(--ink);border-bottom:1px solid #e3dccf}
.nav.solid nav{display:none}@media(min-width:760px){.nav.solid nav{display:flex}}
.page-head,.legal,.d-head{max-width:1100px;margin:auto;padding:clamp(4rem,10vw,7rem) 6vw 2rem}
.page-head h1,.d-head h1{font-size:clamp(2.6rem,7vw,5rem)}
.lead.dark{max-width:40ch;color:#4a4740;font-size:1.1rem;margin:1.2rem 0 0}
.tag.inline{position:static;display:inline-block;margin-left:.5rem;background:var(--sand);color:var(--ink);font-size:.6rem;padding:.2rem .55rem;vertical-align:middle}
.filter-wrap{padding-top:1rem}
.filters{max-width:1200px;margin:0 auto 1rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.2rem}
@media(min-width:900px){.filters{grid-template-columns:repeat(4,1fr)}}
.filters label,.f{display:block;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--stone)}
select,.f input,textarea{display:block;width:100%;margin-top:.5rem;padding:.85rem .2rem;border:0;border-bottom:1px solid #cfc6b6;background:transparent;font:400 1rem var(--sans);color:var(--ink);border-radius:0;-webkit-appearance:none;appearance:none}
select{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6' fill='none' stroke='%238a8276'/%3E%3C/svg%3E") right .3rem center no-repeat}
textarea{resize:vertical}
select:focus,input:focus,textarea:focus{outline:none;border-color:var(--olive)}
.count{max-width:1200px;margin:0 auto 2.5rem;font-size:.8rem;color:var(--stone)}
.grid.list .card:nth-child(2){margin-top:0}
.card a.img{display:block}
.empty{grid-column:1/-1;font-family:var(--serif);font-size:1.4rem}
.gallery{display:grid;gap:.6rem;padding:0 6vw;max-width:1400px;margin:auto}
.gallery figure{margin:0;aspect-ratio:4/3;overflow:hidden}
@media(min-width:800px){.gallery{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr}.gallery .g0{grid-row:1/3;aspect-ratio:auto}}
.d-body{max-width:1100px;margin:auto;padding:clamp(3rem,8vw,6rem) 6vw;display:grid;gap:3rem}
@media(min-width:860px){.d-body{grid-template-columns:1.6fr 1fr;gap:5rem}}
.d-text p{font-size:1.08rem;margin-bottom:1.2rem;color:#3b3934}
.d-facts{background:var(--sand);padding:2rem;align-self:start}
.d-facts dl{display:grid;grid-template-columns:auto 1fr;gap:.7rem 1.2rem;margin-bottom:2rem;font-size:.92rem}
.d-facts dt{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--stone);padding-top:.2rem}
.btn.full{display:block;text-align:center}
.ad{font-size:.7rem;color:var(--stone);margin-top:.7rem;text-align:center;letter-spacing:.06em}
.umfeld{max-width:1100px;margin:auto;padding-top:0}
.umfeld h2{margin-bottom:2rem}
details{border-top:1px solid #cfc6b6;padding:1.3rem 0}details:last-child{border-bottom:1px solid #cfc6b6}
summary{cursor:pointer;list-style:none;font-family:var(--serif);font-size:1.5rem;display:flex;justify-content:space-between}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-family:var(--sans);font-weight:300;color:var(--stone)}details[open] summary::after{content:"–"}
details p{margin-top:1rem;color:#4a4740;max-width:60ch}
.about{max-width:1100px;margin:auto;padding-top:1rem;display:grid;gap:3rem}
@media(min-width:860px){.about{grid-template-columns:1fr 1.2fr;gap:5rem;align-items:start}}
.about figure{margin:0;aspect-ratio:4/5;overflow:hidden}
.prose p{font-size:1.08rem;margin-bottom:1.3rem;color:#3b3934}
.small{font-size:.82rem}.muted{color:var(--stone)!important}
.wizard{max-width:720px;margin:auto;padding-top:1rem}
.progress{list-style:none;padding:0;display:flex;gap:.5rem;margin-bottom:3rem;counter-reset:s}
.progress li{flex:1;border-top:2px solid #ddd5c6;padding-top:.7rem;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--stone);counter-increment:s}
.progress li::before{content:"0" counter(s) " "}
.progress li.on{border-color:var(--olive);color:var(--olive)}
.step{display:none}.step.on{display:grid;gap:2rem;animation:in .6s ease}
@keyframes in{from{opacity:0;transform:translateY(12px)}}
.row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
fieldset{border:0;padding:0}legend{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--stone);margin-bottom:.8rem}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chips input{position:absolute;opacity:0}
.chips span{display:inline-block;padding:.6rem 1.1rem;border:1px solid #cfc6b6;font-size:.88rem;cursor:pointer;transition:.25s}
.chips input:checked+span{background:var(--olive);border-color:var(--olive);color:var(--bg)}
.chips input:focus-visible+span{outline:2px solid var(--olive);outline-offset:2px}
.check{display:flex;gap:.8rem;font-size:.92rem;color:#3b3934;align-items:flex-start}
.check input{margin-top:.35rem;accent-color:var(--olive)}
.err{color:#8a3b2e;font-size:.88rem}
.nav-btns{display:flex;justify-content:space-between;gap:1rem;margin-top:3rem}
.nav-btns button{background:none;cursor:pointer;font-family:var(--sans)}
.nav-btns #next,.nav-btns #send{margin-left:auto;background:var(--olive);color:var(--bg);border-color:var(--olive)}
.done{text-align:center;padding:3rem 0}.done h2{margin-bottom:1rem}
.legal{max-width:760px}
.legal h1{font-size:clamp(2.4rem,6vw,3.8rem);margin-bottom:2rem}
.legal h2{font-size:1.5rem;margin:2.2rem 0 .6rem}
.legal p{color:#3b3934}
.draft{display:inline-block;background:#8a3b2e;color:#fff;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;padding:.35rem .8rem;margin-bottom:1.5rem}
mark{background:#f1e2a8;padding:0 .2rem}
.detail>.center{padding:0 6vw 6rem;margin-top:0}
.hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.nl-msg{font-size:.85rem;margin-top:1rem;min-height:1.2em}
.news .nl-msg{max-width:480px;margin-left:auto;margin-right:auto}
footer .nl-msg{margin-top:.6rem;color:#cfc8bb}
.pop{position:fixed;inset:0;z-index:50;background:rgba(30,30,25,.45);display:flex;align-items:flex-end;justify-content:center;opacity:0;transition:opacity .4s}
.pop.on{opacity:1}
@media(min-width:700px){.pop{align-items:center}}
.pop-box{position:relative;background:var(--bg);width:100%;max-width:520px;padding:3rem 2rem 2.2rem;transform:translateY(20px);transition:transform .5s}
.pop.on .pop-box{transform:none}
.pop-box h2{font-size:2.2rem;margin-bottom:.8rem}.pop-box>p{color:#4a4740;margin-bottom:1.6rem}
.pop-x{position:absolute;top:.6rem;right:.8rem;background:none;border:0;font-size:2rem;line-height:1;cursor:pointer;color:var(--ink);padding:.4rem .6rem}
.pop .nl{flex-direction:column}@media(min-width:560px){.pop .nl{flex-direction:row}}
.pop .nl input{border-color:#cfc6b6;color:var(--ink)}.pop .nl input::placeholder{color:var(--stone)}
.pop .nl button{background:var(--olive);color:var(--bg)}
.pop .small{font-size:.75rem;color:var(--stone);margin-top:1rem}
.gallery figure{position:relative}
.sym{position:absolute;left:.8rem;bottom:.8rem;background:rgba(246,242,234,.9);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;padding:.3rem .6rem}
@media(min-width:800px){.gallery.g2{grid-template-columns:2fr 1fr;grid-template-rows:auto}.gallery.g2 .g0{grid-row:auto;aspect-ratio:4/3}.gallery.g2 .g1{aspect-ratio:auto}}
.aus{list-style:none;padding:0;margin:0 0 2rem;font-size:.92rem}
.aus li{padding:.45rem 0;border-bottom:1px solid #d9cfbd}
.web{text-align:center;margin-top:1.4rem}
.all{grid-column:1/-1;text-align:center;margin-top:1rem}
/* Cookie-Banner */
.cc{position:fixed;left:0;right:0;bottom:0;z-index:100;background:var(--bg);color:var(--ink);border-top:1px solid #d9cfbd;box-shadow:0 -10px 40px rgba(38,38,34,.08);padding:1.4rem 6vw calc(1.4rem + env(safe-area-inset-bottom))}
.cc[hidden]{display:none}
.cc-k{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--stone);margin:0 0 .5rem}
.cc-t{font-size:.88rem;line-height:1.6;margin:0 0 1.1rem;color:#3b3934}
.cc-t a{color:var(--olive)}
.cc-b{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.cc-b button{min-height:48px;padding:.9rem .6rem;border:1px solid var(--olive);background:transparent;color:var(--olive);font:500 .72rem var(--sans);letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.cc-b button:hover,.cc-b button:focus-visible{background:var(--olive);color:var(--bg);outline:none}
@media(min-width:800px){.cc{left:auto;right:2rem;bottom:2rem;max-width:440px;border:1px solid #d9cfbd;padding:1.8rem}}
.cc-open{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;text-decoration:none}
.cc-open:hover{text-decoration:underline}
footer nav .cc-open{text-align:left;font-size:inherit}footer nav .cc-open:hover{color:#fff;text-decoration:none}
.credit{position:absolute;right:.6rem;bottom:.6rem;background:rgba(38,38,34,.62);color:#f6f2ea;font-size:.62rem;letter-spacing:.04em;padding:.25rem .55rem;line-height:1.4;max-width:calc(100% - 1.2rem)}
.gallery.more{margin-top:.6rem}
@media(min-width:800px){.gallery.more{grid-template-columns:repeat(auto-fit,minmax(0,1fr));grid-template-rows:auto}.gallery.more figure{aspect-ratio:4/3}}
.gallery img{width:100%;height:100%;object-fit:cover}
.credit-tag{text-transform:none;letter-spacing:.02em}

/* Umfeld: Rubriken + Tipp-Akkordeons */
:root{interpolate-size:allow-keywords}
.umfeld .rubrik{margin-top:2.6rem}.umfeld .rubrik:first-of-type{margin-top:0}
.umfeld .rubrik h3{font-family:var(--sans);font-size:.72rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--stone);margin:0 0 .4rem}
.umfeld details.tip{padding:1.1rem 0}
.umfeld details.tip:last-child{border-bottom:1px solid #cfc6b6}
.umfeld .tip summary{font-size:1.3rem;line-height:1.3;gap:1rem;align-items:baseline}
.umfeld .tip summary::after{transition:transform .35s ease;flex:none}
.umfeld .tip summary:focus-visible{outline:1px solid var(--stone);outline-offset:4px}
.umfeld .tip-body{padding-bottom:.3rem}
.umfeld .tip-body p{margin-top:.9rem;line-height:1.75;font-size:1rem;opacity:0;transform:translateY(-4px);transition:opacity .45s ease .05s,transform .45s ease .05s}
.umfeld details.tip[open] .tip-body p{opacity:1;transform:none}
.umfeld details.tip::details-content{block-size:0;overflow:hidden;transition:block-size .45s ease,content-visibility .45s allow-discrete}
.umfeld details.tip[open]::details-content{block-size:auto}
@media (min-width:760px){.umfeld .tip summary{font-size:1.5rem}}
@media (prefers-reduced-motion:reduce){.umfeld details.tip::details-content,.umfeld .tip-body p{transition:none}}

/* Umfeld-Thumbnails (Wikimedia Commons) */
.umfeld .tip summary{align-items:center}
.umfeld .tip-thumb{width:52px;height:52px;object-fit:cover;flex:none;border-radius:2px;filter:saturate(.85);transition:opacity .35s ease,width .35s ease,margin .35s ease}
.umfeld .tip-t{flex:1;min-width:0}
.umfeld details.tip[open] .tip-thumb{opacity:0;width:0;margin-right:-1rem}
.umfeld .tip-fig{margin:1.1rem 0 .2rem;opacity:0;transition:opacity .5s ease .05s}
.umfeld details.tip[open] .tip-fig{opacity:1}
.umfeld .tip-fig img{display:block;width:100%;max-width:480px;aspect-ratio:4/3;height:auto;object-fit:cover;filter:saturate(.9)}
.umfeld .tip-fig figcaption{font-family:var(--sans);font-size:.7rem;line-height:1.5;color:var(--stone);margin-top:.45rem;letter-spacing:.02em}
.umfeld .tip-fig figcaption a{color:inherit;text-decoration:underline;text-underline-offset:2px}
@media (min-width:760px){.umfeld .tip-thumb{width:64px;height:64px}}
@media (prefers-reduced-motion:reduce){.umfeld .tip-thumb,.umfeld .tip-fig{transition:none}}
