@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}
