:root{--cream:#f8f6ee;--paper:#fffdf7;--green:#215c43;--dark:#174a37;--ink:#26392d;--line:#c8d1c1;--sage:#dce5d4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--cream);color:var(--ink);font:400 16px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif}a{color:inherit}button,input,textarea{font:inherit}button{cursor:pointer}h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.08;letter-spacing:-.035em;margin:0}h1{font-size:clamp(2.7rem,5.5vw,5rem)}h2{font-size:clamp(2.3rem,4.3vw,3.6rem)}h1 em,h2 em{font-weight:400;color:var(--green)}p{margin:0}.container{width:min(1160px,92%);margin-inline:auto}.eyebrow{font-size:.72rem;letter-spacing:.17em;font-weight:700;color:var(--green);margin-bottom:1.25rem}.skip-link{position:absolute;z-index:1000;top:-100px;left:1rem;background:var(--green);color:#fff;padding:.7rem 1rem}.skip-link:focus{top:1rem}:focus-visible{outline:3px solid #ae652d;outline-offset:3px}.site-header{background:var(--cream);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(33,92,67,.12)}.header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{text-decoration:none;display:flex;align-items:center;gap:.75rem;color:var(--dark);font:400 1.6rem Georgia,serif}.brand small{display:block;font:700 .56rem system-ui,sans-serif;letter-spacing:.2em}.brand-icon{width:42px;height:42px;border:1px solid var(--green);border-radius:50%;display:grid;place-items:center;font-size:1.4rem}.nav{display:flex;align-items:center;gap:clamp(1rem,3vw,2.5rem);font-size:.9rem}.nav a{text-decoration:none}.nav a:hover,.text-link:hover,.booking-intro a:hover{text-decoration:underline}.nav-reserve,.button{display:inline-flex;align-items:center;justify-content:space-between;gap:1.5rem;background:var(--green);color:white!important;text-decoration:none;border:2px solid var(--green);border-radius:100px;padding:.8rem 1.35rem;font-size:.88rem;font-weight:650;transition:background .2s,color .2s,transform .2s}.nav-reserve:hover,.button:hover{background:var(--dark);transform:translateY(-2px);text-decoration:none!important}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:52% 48%;min-height:570px;padding-top:2rem}.hero-content{align-self:center;padding:1.5rem 8% 3rem 0}.lead{font-size:1.12rem;max-width:440px;margin:1.7rem 0}.actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.text-link{font-size:.9rem;text-decoration:none;border-bottom:1px solid var(--green);padding-bottom:.3rem;font-weight:650}.photo{display:flex;justify-content:flex-end;align-items:flex-end;padding:1rem;overflow:hidden}.photo span{font-size:.76rem;background:rgba(255,253,247,.93);padding:.5rem .65rem;color:var(--dark);border-radius:4px;max-width:185px}.hero-photo{min-height:540px;border-radius:47% 47% 0 0;background:radial-gradient(circle at 25% 23%,#b6ca9d 0 9%,transparent 10%),radial-gradient(circle at 74% 20%,#a2bc8b 0 12%,transparent 13%),linear-gradient(135deg,#375b3e,#a6ba91 58%,#d8c494);background-size:cover;background-position:center}.quick{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.35rem 0;border-bottom:1px solid var(--line)}.quick>div{display:flex;align-items:center;gap:1.5rem}.quick .eyebrow{margin:0;white-space:nowrap}.quick strong,.quick a{font-size:.84rem;font-weight:650}.quick strong span{padding:0 .4rem}.quick a{white-space:nowrap;text-decoration:none}.season{margin-top:4rem;margin-bottom:5rem;background:var(--sage);display:grid;grid-template-columns:50px 1fr auto;align-items:center;gap:1.6rem;padding:2.1rem 2.5rem;border-radius:6px}.season .eyebrow{margin-bottom:.7rem}.season h2{font-size:clamp(1.7rem,3vw,2.3rem);margin-bottom:.7rem}.season p:not(.eyebrow){font-size:.9rem;max-width:620px}.season-mark{color:var(--green);font-size:3rem}.place{padding:2rem 0 6rem}.section-intro{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:2rem;margin-bottom:2rem}.section-intro>p{max-width:420px;justify-self:end}.gallery{height:410px;display:grid;grid-template-columns:1.25fr 1fr;gap:1rem}.gallery-pair{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.gallery-main{background:linear-gradient(145deg,#4c7045,#b3bf91 48%,#d6bf8d)}.gallery-dish{background:radial-gradient(circle at 50% 55%,#b76c47 0 21%,#f0daa9 22% 36%,transparent 37%),#729368}.gallery-table{background:linear-gradient(145deg,#bcaa7f,#597a55 65%,#d8c390)}.celebrate{background:var(--green);color:#fff}.celebrate-inner{min-height:390px;display:grid;grid-template-columns:2fr 1fr;align-items:center;overflow:hidden}.celebrate-inner>div{padding:4rem 0}.celebrate .eyebrow{color:#dce9ce}.celebrate h2{max-width:570px}.celebrate p:not(.eyebrow){max-width:570px;margin:1.4rem 0}.button-light{background:#e5ecd9;color:var(--dark)!important;border-color:#e5ecd9}.button-light:hover{background:white}.ornament{font:400 23rem Georgia,serif;color:rgba(232,239,213,.16);transform:rotate(-13deg);text-align:center}.hours{padding:6rem 0;display:grid;grid-template-columns:1fr 1.2fr;gap:4rem}.hours h2{max-width:420px}.hours dl{margin:0;border-top:1px solid var(--line)}.hours dl>div{display:flex;justify-content:space-between;gap:1rem;padding:1.6rem 0;border-bottom:1px solid var(--line)}.hours dt,.hours dd{font-weight:650}.hours dd{margin:0;text-align:right}.hours small{display:block;font-size:.83rem;font-weight:400}.visit{display:grid;grid-template-columns:1fr 1fr;background:#eaf0e5}.visit-copy{padding:5rem max(4vw,calc((100vw - 1160px)/2));padding-right:3rem}.visit-copy address{font-style:normal;margin:1.5rem 0}.visit-copy>p:not(.eyebrow){max-width:400px;margin-bottom:1.5rem}.route-panel{min-height:380px;background:repeating-linear-gradient(28deg,transparent 0 35px,#d2dfcc 36px 39px,transparent 40px 98px),linear-gradient(115deg,#e2e9d7,#cadcba);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;font-family:Georgia,serif;color:var(--dark)}.route-pin{border-radius:50%;background:var(--green);color:#fff;width:56px;height:56px;display:grid;place-items:center}.booking{display:grid;grid-template-columns:1fr 1.1fr;gap:4rem;padding:6rem 0}.booking-intro>p:not(.eyebrow){max-width:410px;margin:1.5rem 0}.booking-intro>a{display:block;margin-top:.75rem;color:var(--green);font-weight:650;text-decoration:none}.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;align-content:start}.field{background:var(--paper);border:1px solid var(--line);padding:.55rem .8rem}.field.full,.form-bottom,.form-status{grid-column:1/-1}.field label{display:block;font-size:.8rem;color:var(--green);font-weight:650}.field input,.field textarea{width:100%;background:transparent;border:0;border-radius:0;padding:.45rem 0;resize:vertical;min-height:2.1rem;outline:0}.field:focus-within{outline:2px solid var(--green);outline-offset:1px}.optional{font-weight:400}.form-bottom{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.7rem}.form-bottom p{max-width:255px;font-size:.78rem}.form-bottom a{color:var(--green)}.form-status{margin:0;font-size:.9rem;font-weight:650}.form-status.error{color:#a02f22}.form-status.success{color:var(--dark)}.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.footer{background:#173d2d;color:#fff}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:110px;font-size:.83rem}.footer-brand{font:400 1.5rem Georgia,serif;text-decoration:none}.footer nav{display:flex;gap:1rem}.legal-page{min-height:65vh;padding:4rem 0 6rem;max-width:780px}.legal-page h1{font-size:3rem;margin-bottom:2rem}.legal-page h2{font-size:1.6rem;margin:2rem 0 .7rem}.legal-page p{margin:.8rem 0}.legal-note{background:var(--sage);padding:1rem;border-left:4px solid var(--green)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:780px){.header-inner{min-height:68px}.menu-toggle{display:block;background:transparent;border:1px solid var(--green);color:var(--green);padding:.45rem .7rem;border-radius:4px}.menu-toggle span{margin-left:.4rem}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);padding:1rem 4% 1.4rem;box-shadow:0 10px 16px rgba(0,0,0,.1);flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav a{padding:.7rem}.nav-reserve{margin-top:.5rem}.hero{grid-template-columns:1fr;min-height:auto;padding-top:0}.hero-content{padding:3.7rem 0 2rem}.hero-photo{min-height:430px}.quick>div{display:block}.quick .eyebrow{display:block;margin-bottom:.3rem}.season{grid-template-columns:1fr;margin-top:2.5rem;margin-bottom:3rem;padding:1.5rem}.season-mark{display:none}.season .text-link{justify-self:start}.section-intro{grid-template-columns:1fr;gap:1rem}.section-intro>p{justify-self:start}.gallery{height:auto;grid-template-columns:1fr}.gallery-main{min-height:330px}.gallery-pair{min-height:230px}.celebrate-inner{grid-template-columns:1fr}.ornament{display:none}.hours,.booking{grid-template-columns:1fr;gap:2rem;padding:4rem 0}.visit{grid-template-columns:1fr}.visit-copy{padding:4rem 4%}.route-panel{min-height:300px}.footer-inner{flex-wrap:wrap;padding:1.5rem 0}}
@media(max-width:480px){body{font-size:15px}.brand{font-size:1.32rem}.brand-icon{width:36px;height:36px}h1{font-size:clamp(2.5rem,12vw,3.5rem)}.lead{font-size:1rem}.hero-photo{min-height:340px}.quick{align-items:flex-start}.quick a{max-width:105px;text-align:right;white-space:normal}.quick strong{font-size:.78rem}.gallery-pair{min-height:190px}.hours dl>div{display:block}.hours dd{text-align:left;margin-top:.5rem}.form-bottom{align-items:flex-start;flex-direction:column}.footer-inner{display:block}.footer-inner>*{display:block;margin:.7rem 0}.footer nav{display:flex}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.nav-reserve{transition:none}.button:hover,.nav-reserve:hover{transform:none}}

.hero-logo{display:block;width:clamp(155px,18vw,210px);height:auto;margin:0 0 1.35rem}.hero-photo,.gallery-main,.gallery-dish,.gallery-table{overflow:hidden}.hero-photo img,.gallery-main img,.gallery-dish img,.gallery-table img{display:block;width:100%;height:100%;object-fit:cover}.hero-photo img{object-position:65% center}.gallery-main img{object-position:63% center}.gallery-dish img{object-position:center}.gallery-table img{object-position:center}.hero-photo{min-height:540px}.gallery-main,.gallery-dish,.gallery-table{min-height:0}@media(max-width:780px){.hero-logo{width:165px}.hero-photo{height:430px;min-height:0}}@media(max-width:480px){.hero-logo{width:145px}.hero-photo{height:350px}}

.visit-photo{min-height:480px;overflow:hidden}.visit-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 55%}@media(max-width:780px){.visit-photo{height:380px;min-height:0}}

.hero-photo,.visit-photo{position:relative}.hero-photo img,.visit-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

.brand-logo{display:block;width:58px;height:48px;object-fit:contain;flex:none}.brand{gap:.65rem}.nav{gap:clamp(.7rem,1.8vw,1.7rem)}#kontakt{scroll-margin-top:100px}@media(max-width:480px){.brand-logo{width:43px;height:39px}.brand{font-size:1.22rem;gap:.4rem}}

@media(max-width:960px){.menu-toggle{display:block;background:transparent;border:1px solid var(--green);color:var(--green);padding:.45rem .7rem;border-radius:4px}.menu-toggle span{margin-left:.4rem}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);padding:1rem 4% 1.4rem;box-shadow:0 10px 16px rgba(0,0,0,.1);flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav a{padding:.7rem}.nav-reserve{margin-top:.5rem}}

/* Abschnittsfolge: Anfahrt hell, Zeiten grün, Kontakt wieder hell. */
.visit{background:var(--cream)}
.hours{width:100%;margin:0;background:#eaf0e5;display:block;padding:6rem 0}
.hours-inner{display:grid;grid-template-columns:1fr 1.2fr;gap:4rem}
.hero h1{font-size:clamp(2.7rem,4.4vw,3.75rem)}
.hero h1 em{display:block;font-size:.91em}
@media(max-width:780px){.hours{padding:4rem 0}.hours-inner{grid-template-columns:1fr;gap:2rem}.hero h1{font-size:clamp(2.7rem,8vw,3.5rem)}}

@media(max-width:480px){.hero h1 em{font-size:.79em}}
