:root{--p:#3B2A20;--pd:#241912;--a:#4E7B33;--ad:#3A5F26;--y:#F2D39B;--ink:#2A1B13;--tx:#5B4A3F;--bg:#FBF6EE;--sh:0 2px 14px rgba(42,27,19,.08);--hf:'DM Serif Display',Georgia,serif;--bf:'Nunito Sans',Arial,sans-serif;--af:'Cormorant Garamond',Georgia,serif}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--bf);line-height:1.7;color:var(--tx);background:var(--bg);overflow-x:hidden}
body.open{overflow:hidden}
a{text-decoration:none;color:inherit}
h1,h2,h3,h4{font-weight:400;font-family:var(--hf);color:var(--ink);line-height:1.2}
html[lang=en] d,html[lang=de] e{display:none}
:focus-visible{outline:3px solid var(--a);outline-offset:3px}
.c{width:92%;max-width:1240px;margin:0 auto}
.pre{position:fixed;inset:0;background:var(--pd);z-index:2000;display:grid;place-items:center;font-size:2rem;color:#fff;font-family:var(--hf);animation:hide .35s .15s forwards}
@keyframes hide{to{opacity:0;visibility:hidden}}
header{position:fixed;top:0;left:0;width:100%;padding-top:env(safe-area-inset-top,0px);background:rgba(255,255,255,.97);backdrop-filter:blur(16px);z-index:999;border-bottom:1px solid rgba(0,0,0,.05);transition:.3s}
header.sc{box-shadow:var(--sh)}
header .c{display:flex;align-items:center;gap:14px;height:70px}
.logo{font-family:var(--hf);font-size:1.55rem;font-weight:400;color:var(--p);margin-right:auto;white-space:nowrap}
nav ul{display:flex;list-style:none;gap:4px}
nav a{display:block;padding:8px 16px;border-radius:0;font-weight:700;font-size:.9rem;letter-spacing:.5px;color:var(--ink);transition:.3s}
nav a:hover,nav a.on{color:var(--a);box-shadow:inset 0 -2px 0 var(--a)}
select{font:inherit;padding:7px 12px;border:1px solid #e3d6c4;border-radius:3px;background:#fff;color:var(--ink);cursor:pointer}
.mt{display:none;width:44px;height:44px;border:0;background:none;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px}
.mt span{width:24px;height:2px;background:var(--ink)}
section{padding:90px 0}
.bg{background:var(--pd) center/cover}
.hero{min-height:100vh;min-height:100svh;position:relative;display:flex;align-items:center;justify-content:flex-start;text-align:left;color:#fff;padding:110px 0 90px;overflow:hidden}
.hero::before,.ph::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(36,25,18,.93),rgba(36,25,18,.5))}
.pt{position:absolute;bottom:-12px;border-radius:50%;background:rgba(242,211,155,.5);animation:fl linear infinite}
@keyframes fl{20%{opacity:1}to{transform:translateY(-110vh);opacity:0}}
.hc{position:relative;width:92%;max-width:1240px;margin:0 auto}
.sub{font-family:var(--af);font-size:1.7rem;color:var(--y);letter-spacing:3px;text-transform:uppercase;display:block;margin-bottom:8px}
.hero h1{color:#fff;font-size:clamp(3rem,11vw,5.8rem);letter-spacing:2px;text-shadow:0 4px 30px rgba(0,0,0,.4);margin-bottom:22px}
.hero p{font-size:clamp(1.05rem,2.5vw,1.3rem);max-width:640px;margin:0 0 34px}
.btn{display:inline-block;background:var(--a);color:#fff;padding:15px 34px;border-radius:3px;font:inherit;font-size:.85rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;border:0;cursor:pointer;transition:.3s}
.btn:hover{background:var(--ad)}
.feats{display:flex;gap:40px;justify-content:flex-start;flex-wrap:wrap;margin-top:54px}
.ft{display:flex;align-items:center;gap:14px;text-align:left;border-left:2px solid var(--y);padding-left:14px}
.ft i,.si i,.ci i{display:none}
.ft i{font-style:normal;width:62px;height:62px;border-radius:50%;border:1px solid rgba(242,211,155,.5);background:rgba(255,255,255,.08);display:grid;place-items:center;font-size:1.7rem}
.ft h4{color:#fff;font-size:1.05rem}
.ft small{opacity:.8}
.scr{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);font-size:.8rem;opacity:.7}
.sh{text-align:center;margin-bottom:46px}
.sh h2,.ab h2{font-size:clamp(2rem,5vw,3rem)}
.dv{width:80px;height:3px;background:#C98A4B;margin:14px auto}
.sh p{font-family:var(--af);font-size:1.4rem}
.ab{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
.ab .dv{margin-left:0}
.ab p{margin-bottom:14px;font-size:1.08rem}
.st{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}
.si{background:#fff;border-radius:3px;border-left:3px solid #C98A4B;padding:16px;box-shadow:var(--sh);display:flex;gap:12px;align-items:center}
.si i{font-style:normal;font-size:1.8rem}
.si b{display:block;color:var(--ink)}
.si small{display:block;line-height:1.3}
.ai{position:relative;isolation:isolate;order:-1}
.ai img{width:100%;border-radius:3px;display:block;aspect-ratio:4/3;object-fit:cover;box-shadow:var(--sh)}
.ai::after{content:"";position:absolute;inset:18px 18px -18px -18px;border:3px solid #C98A4B;border-radius:3px;z-index:-1}
.ph{position:relative;min-height:340px;height:46vh;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;padding:70px 20px 0}
.ph>div{position:relative}
.ph h1{color:#fff;font-size:clamp(2.6rem,8vw,4.5rem)}
.ph p{font-family:var(--af);font-size:1.5rem}
.sq{display:block;max-width:460px;margin:0 auto 24px;border-radius:3px}
.map{min-height:420px}
.map iframe{width:100%;height:100%;min-height:420px;border:0;border-radius:3px;box-shadow:var(--sh)}
.tabs{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:38px}
.tab{font:inherit;font-weight:700;font-size:.8rem;letter-spacing:1px;text-transform:uppercase;padding:10px 20px;border-radius:3px;border:1px solid var(--p);background:none;color:var(--p);cursor:pointer}
.tab.on{background:var(--p);color:#fff}
.mg{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:26px}
.mc{background:#fff;border-radius:3px;overflow:hidden;border:1px solid #eadfce;transition:.3s}
.mc:hover{box-shadow:var(--sh)}
.mi{aspect-ratio:1/1.1;background:#2a1a10 center/cover}
.mb{padding:18px 20px 22px}
.mb h3{font-size:1.2rem;display:flex;justify-content:space-between;gap:10px}
.mb h3 b{color:#B4492B;font-family:var(--bf);white-space:nowrap}
.mb p{font-size:.95rem;margin-top:6px}
.gt{font-size:1.7rem;margin-bottom:20px;text-align:center}
.gg{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin-bottom:54px}
.gi{position:relative;aspect-ratio:1;border-radius:3px;overflow:hidden;cursor:pointer;background:#ddd}
.gi img{width:100%;height:100%;object-fit:cover;display:block;transition:.5s}
.gi:hover img{transform:scale(1.08)}
.gi span{position:absolute;left:0;right:0;bottom:0;padding:30px 14px 12px;color:#fff;font-weight:700;background:linear-gradient(transparent,rgba(36,25,18,.85))}
.lb{position:fixed;inset:0;background:rgba(20,12,8,.95);z-index:3000;display:none;align-items:center;justify-content:center}
.lb.on{display:flex}
.lb img{max-width:90vw;max-height:84vh;border-radius:10px}
.lb button{position:absolute;background:rgba(255,255,255,.18);border:0;color:#fff;font-size:1.8rem;width:50px;height:50px;border-radius:3px;cursor:pointer}
.lx{top:18px;right:18px}.lp{left:12px;top:50%}.ln{right:12px;top:50%}
.cw{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.ci{display:flex;gap:16px;background:#fff;padding:18px 20px;border-radius:3px;border-left:3px solid #C98A4B;box-shadow:var(--sh);margin-bottom:14px}
.ci i{font-style:normal;font-size:1.7rem}
.ci h3{font-size:1.1rem}
form{display:grid;gap:12px;align-content:start}
input,textarea{font:inherit;padding:13px 16px;border:1px solid #e3d6c4;border-radius:3px;background:#fff;color:var(--ink);width:100%}
textarea{min-height:150px;resize:vertical}
footer{background:var(--ink);color:#aab4d0;padding:70px 0 calc(24px + env(safe-area-inset-bottom,0px))}
.fg{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:36px}
footer h4{color:#fff;margin-bottom:12px}
footer li{list-style:none;margin-bottom:8px}
footer a:hover{color:var(--y)}
.fb{text-align:center;border-top:1px solid rgba(255,255,255,.1);margin-top:40px;padding-top:20px;font-size:.9rem}
.up{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));width:46px;height:46px;border-radius:3px;background:var(--a);color:#fff;border:0;font-size:1.3rem;cursor:pointer;opacity:0;pointer-events:none;transition:.3s;z-index:900}
.up.on{opacity:1;pointer-events:auto}
@media(max-width:900px){.mt{display:flex}nav{position:fixed;top:calc(70px + env(safe-area-inset-top,0px));left:0;right:0;background:#fff;max-height:0;overflow:hidden;transition:max-height .4s;box-shadow:var(--sh)}nav.open{max-height:80vh}nav ul{flex-direction:column;padding:12px 4% 16px}.ab,.cw{grid-template-columns:1fr}.ai{order:0}.fg{grid-template-columns:1fr 1fr}}
@media(max-width:560px){section{padding:62px 0}.hero{padding-top:92px}.scr{display:none}.feats{flex-direction:column;align-items:flex-start;gap:20px;margin-top:40px}.st,.fg{grid-template-columns:1fr}.ai::after{inset:12px 8px -12px -8px}.gg{grid-template-columns:1fr 1fr;gap:10px}.gi span{font-size:.85rem;padding:24px 10px 8px}.logo{font-size:1.3rem}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.pre{display:none}}
.alt{background:#fff;border-top:1px solid #eadfce;border-bottom:1px solid #eadfce}
.hs{padding:calc(70px + env(safe-area-inset-top,0px)) 0 0}
.hs-in{display:grid;grid-template-columns:1fr 1fr;min-height:min(80vh,720px)}
.hs-t{display:flex;flex-direction:column;justify-content:center;padding:56px 48px 56px max(4vw,calc((100vw - 1240px)/2))}
.hs-t h1{font-size:clamp(2.8rem,6vw,4.6rem);margin-bottom:18px}
.hs-t p{font-size:1.15rem;max-width:520px;margin-bottom:30px}
.hs-b{display:flex;gap:12px;flex-wrap:wrap}
.hs-i{background:var(--pd) center/cover;min-height:320px}
.btn.ghost{background:none;color:var(--p);border:1px solid var(--p)}
.btn.ghost:hover{background:var(--p);color:#fff}
.ib{background:var(--p);color:#eadfce}
.ib-in{display:grid;grid-template-columns:repeat(3,1fr)}
.ib-in>div{padding:22px 24px;border-left:1px solid rgba(255,255,255,.14)}
.ib-in>div:first-child{border-left:0;padding-left:0}
.ib b{display:block;color:var(--y);font-size:.75rem;letter-spacing:1.5px;text-transform:uppercase}
.cat4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.ct{position:relative;display:block;aspect-ratio:3/4;background:#2a1a10 center/cover;border-radius:3px;overflow:hidden}
.ct span{position:absolute;left:0;right:0;bottom:0;padding:44px 18px 16px;color:#fff;font-family:var(--hf);font-size:1.4rem;background:linear-gradient(transparent,rgba(36,25,18,.9))}
.ct:hover span{padding-bottom:22px}
.ab2{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.ab2 img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:3px;display:block}
.ab2 p{margin-bottom:14px;font-size:1.08rem}
.gm{column-count:3;column-gap:16px}
.gm .gi{aspect-ratio:auto;break-inside:avoid;margin:0 0 16px}
.gm .gi img{height:auto}
.gm figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 14px 10px;color:#fff;font-size:.85rem;font-weight:700;background:linear-gradient(transparent,rgba(36,25,18,.85));opacity:0;transition:.3s}
.gm .gi:hover figcaption{opacity:1}
.cg{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin-bottom:40px}
.cg h3{font-size:1.6rem;margin-bottom:12px}
.dl>div{display:flex;gap:20px;padding:14px 0;border-bottom:1px solid #e6d9c6}
.dl dt{width:90px;flex:none;font-weight:700;color:var(--ink)}
.dl{margin-bottom:26px}
.ht{width:100%;border-collapse:collapse}
.ht td{padding:14px 0;border-bottom:1px solid #e6d9c6}
.ht td:last-child{text-align:right;font-weight:700;color:var(--ink)}
@media(max-width:900px){.hs-in{grid-template-columns:1fr}.hs-t{padding:40px 4%}.ib-in{grid-template-columns:1fr}.ib-in>div{border-left:0;padding:14px 0;border-top:1px solid rgba(255,255,255,.14)}.ib-in>div:first-child{border-top:0}.cat4{grid-template-columns:1fr 1fr}.ab2,.cg{grid-template-columns:1fr;gap:32px}.gm{column-count:2}}
@media(max-width:560px){.cat4{gap:12px}.ct span{font-size:1.1rem;padding:36px 12px 12px}.gm{column-gap:10px}.gm .gi{margin-bottom:10px}}
.mapcard{position:relative;display:block;height:420px;border-radius:3px;overflow:hidden;border:1px solid #e6d9c6;background:#EFE6D6}
.mapcard .bgm{position:absolute;inset:0;width:100%;height:100%}
.mapcard .pin{position:absolute;left:50%;top:48%;width:44px;transform:translate(-50%,-100%);filter:drop-shadow(0 3px 4px rgba(0,0,0,.3))}
.mapinfo{position:absolute;left:20px;bottom:20px;background:#fff;padding:16px 20px;border-radius:3px;box-shadow:var(--sh);max-width:calc(100% - 40px)}
.mapinfo b{display:block;font-family:var(--hf);font-weight:400;font-size:1.3rem;color:var(--ink)}
.mapinfo span{display:block;margin-bottom:12px}
.mapinfo .btn{padding:10px 18px;font-size:.78rem}
.mapcard:hover .btn{background:var(--ad)}
@media(max-width:560px){.mapcard{height:340px}}
.hs-i{background-position:center 35%}
.ct{aspect-ratio:auto;background:#fff;border:1px solid #e6d9c6;border-top:3px solid #C98A4B;padding:26px 24px 22px;display:flex;flex-direction:column;gap:8px;color:var(--tx);transition:.3s}
.ct:hover{box-shadow:var(--sh);border-top-color:var(--a)}
.ct h3{font-size:1.5rem}
.ct em{margin-top:auto;padding-top:14px;font-style:normal;font-weight:700;color:var(--a);font-size:.8rem;letter-spacing:1px;text-transform:uppercase}
.gm{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.gm .gi{aspect-ratio:4/3;margin:0}
.gm .gi img{height:100%}
@media(max-width:900px){.gm{grid-template-columns:repeat(2,1fr)}}
@media(hover:none){.gm figcaption{opacity:1}}
.h2o{position:relative;min-height:min(86vh,760px);display:flex;align-items:center;color:#fff;padding:calc(70px + env(safe-area-inset-top,0px)) 0 110px}
.h2o::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(36,25,18,.88) 0%,rgba(36,25,18,.55) 55%,rgba(36,25,18,.2) 100%)}
.h2o-in{position:relative}
.h2o h1{color:#fff;font-size:clamp(3rem,7vw,5.2rem);margin-bottom:18px}
.h2o p{font-size:1.15rem;max-width:520px;margin-bottom:30px}
.btn.ghost.w{color:#fff;border-color:rgba(255,255,255,.7)}
.btn.ghost.w:hover{background:#fff;color:var(--p)}
.info{position:relative;z-index:2;margin-top:-64px}
.info-in{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border-radius:3px;border-top:3px solid #C98A4B;box-shadow:0 10px 40px rgba(42,27,19,.15)}
.info-in>div{padding:24px 28px;border-left:1px solid #eadfce}
.info-in>div:first-child{border-left:0}
.info-in b{display:block;color:#B4492B;font-size:.75rem;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:4px}
.info-in span{color:var(--ink);font-weight:700}
.rows{border-top:1px solid #d9c9b2}
.row{display:grid;grid-template-columns:60px 1fr 1.4fr 40px;gap:24px;align-items:center;padding:26px 8px;border-bottom:1px solid #d9c9b2;transition:.3s}
.row:hover{background:#fff;padding-left:20px}
.row .n{color:#C98A4B;font-weight:700}
.row h3{font-size:1.7rem}
.row em{font-style:normal;font-size:1.4rem;color:var(--a);text-align:right}
.cta{background:var(--p);color:#eadfce;padding:56px 0}
.cta-in{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.cta h2{color:#fff;font-size:clamp(1.8rem,4vw,2.4rem)}
@media(max-width:900px){.h2o{min-height:auto;padding-bottom:100px}.info-in{grid-template-columns:1fr}.info-in>div{border-left:0;border-top:1px solid #eadfce;padding:18px 22px}.info-in>div:first-child{border-top:0}.row{grid-template-columns:36px 1fr 24px;gap:6px 14px;padding:22px 4px}.row p{grid-column:2}.row em{grid-row:1;grid-column:3}.row:hover{padding-left:4px}}
.f2{background:var(--pd);color:#cdbfae;padding:0 0 calc(22px + env(safe-area-inset-bottom,0px));border-top:3px solid #C98A4B}
.f2-top{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;padding:56px 0 34px;border-bottom:1px solid rgba(255,255,255,.12)}
.f2-logo{display:block;font-family:var(--hf);font-size:2rem;color:#fff;margin-bottom:6px}
.f2-top p{max-width:340px}
.f2-nav{display:flex;gap:26px;flex-wrap:wrap}
.f2-nav a{color:#fff;font-weight:700;font-size:.82rem;letter-spacing:1.5px;text-transform:uppercase;padding-bottom:4px;border-bottom:2px solid transparent}
.f2-nav a:hover{color:#fff;border-color:#C98A4B}
.f2-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding:38px 0}
.f2 h4{font-family:var(--bf);font-weight:700;color:#C98A4B;font-size:.78rem;letter-spacing:2px;text-transform:uppercase;margin-bottom:14px}
.f2 a{color:#cdbfae}
.f2 a:hover{color:#fff}
.f2 .f2-link{display:inline-block;margin-top:10px;color:#fff;font-weight:700;border-bottom:1px solid #C98A4B}
.f2-h>div{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px dotted rgba(255,255,255,.2)}
.f2-h dd{color:#fff;font-weight:700}
.f2-bot{border-top:1px solid rgba(255,255,255,.12);padding-top:20px;font-size:.88rem;opacity:.85}
@media(max-width:900px){.f2-grid{grid-template-columns:1fr;gap:28px}.f2-top{align-items:flex-start}}
.dl dt{width:100px}
.igl{display:inline-flex;align-items:center;gap:8px}
@media(max-width:900px){.f2-nav a{padding:10px 0}.f2 .f2-link{padding:8px 0}.f2 .igl{padding:8px 0}.f2-grid p a{display:inline-block;padding:4px 0}}
