@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/font-0.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/font-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Libre Caslon Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/font-4.ttf) format('truetype');
}
:root{--blue:#172da6;--ink:#17263a;--paper:#fbfaf6;--yellow:#eee783;--line:#dcded8;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%;width:100%;object-fit:cover}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #ca762a;outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400;line-height:1.05}h1,h2{font-family:var(--serif)}h1{font-size:clamp(58px,6.4vw,96px);letter-spacing:-.04em;margin-bottom:24px}h2{font-size:clamp(40px,4.7vw,64px);letter-spacing:-.025em;margin-bottom:24px}h3{font-family:var(--serif);font-size:35px;line-height:1.15}.wrap{max-width:1328px;margin:auto;padding:0 52px}.topline{background:var(--blue);color:white;text-align:center;padding:7px 20px;font-size:13px;letter-spacing:.045em}.site-header{height:96px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:15px;color:var(--blue);flex-shrink:0}.brand-name{font-family:var(--serif);font-size:40px;line-height:.9;letter-spacing:-1px}.brand-name small{display:block;font-family:var(--sans);font-size:10px;letter-spacing:4px;text-transform:uppercase;margin-bottom:7px}.brand-sub{font-size:11px;letter-spacing:1.7px;line-height:1.6;text-transform:uppercase;border-left:1px solid #b9c0d9;padding-left:15px}.nav{display:flex;align-items:center;gap:25px;font-size:14px}.nav a{padding:8px 0}.nav a:hover,.nav a[aria-current=page]{color:var(--blue);text-decoration:underline;text-underline-offset:7px}.nav .button{padding:12px 19px;color:white}.menu-toggle{display:none;border:1px solid var(--line);background:transparent;padding:8px 14px}.button{display:inline-flex;justify-content:center;align-items:center;gap:22px;background:var(--blue);color:white;border:1px solid var(--blue);padding:15px 24px;font-size:14px;font-weight:600;line-height:1.4;transition:background .18s,transform .18s}.button:hover{background:#0e207e;transform:translateY(-2px)}.button.light{background:var(--paper);color:var(--blue);border-color:var(--paper)}.button.outline{background:transparent;color:var(--blue);border-color:#a8b2d6}.button.outline:hover{background:#e9edfb}.button.yellow{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}.eyebrow{display:block;font-size:12px;letter-spacing:2px;text-transform:uppercase;font-weight:600;margin-bottom:22px}.hero{display:grid;grid-template-columns:1fr 1.03fr;min-height:600px;padding-top:22px;padding-bottom:48px;gap:44px;align-items:center}.hero-copy{padding:15px 0 25px;color:var(--blue)}.hero-copy p{max-width:430px;color:var(--ink);font-size:17px;line-height:1.8}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:29px}.hero-media{position:relative;height:580px}.hero-media>img{height:100%;border-radius:180px 180px 0 0;object-position:57% center}.hero-stamp{position:absolute;bottom:25px;left:-32px;background:var(--yellow);color:var(--blue);height:126px;width:126px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--serif);font-size:25px;line-height:1.02;transform:rotate(-10deg);box-shadow:0 0 0 7px var(--paper)}.hero-caption{position:absolute;right:16px;bottom:16px;color:white;font-size:12px;letter-spacing:.08em;text-shadow:0 1px 8px black}.experience-strip{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0}.experience-strip a{display:grid;grid-template-columns:40px 1fr 20px;align-items:center;gap:12px;padding:4px 28px;border-right:1px solid var(--line)}.experience-strip a:first-child{padding-left:0}.experience-strip a:last-child{border:0;padding-right:0}.experience-strip .num{font-family:var(--serif);font-size:28px;color:var(--blue)}.experience-strip strong{display:block;font-weight:500;font-size:17px}.experience-strip small{font-size:13px;color:#56616e}.section{padding-top:100px;padding-bottom:100px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:40px}.section-heading h2{margin:0;max-width:680px}.section-heading p{max-width:330px;margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.card img{height:300px;margin-bottom:26px}.card .eyebrow{margin:0 0 13px;color:var(--blue)}.card h3{margin:0 0 14px}.card p{color:#526071;font-size:15px}.text-link{display:inline-flex;gap:25px;align-items:center;color:var(--blue);border-bottom:1px solid #9ba9d7;padding:5px 0;font-weight:600;font-size:14px}.text-link:hover{border-color:var(--blue)}.footer{background:var(--blue);color:white;margin-top:60px;padding:55px 0 28px}.footer .brand{color:white}.footer-main{display:flex;justify-content:space-between;gap:30px}.footer p{font-size:14px}.footer-bottom{border-top:1px solid #5263b6;margin-top:40px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:12px}.footer-bottom a{text-decoration:underline;text-underline-offset:4px}.skip{position:fixed;top:-100px;background:white;padding:12px;z-index:100}.skip:focus{top:0}@media(min-width:1500px){.hero{min-height:700px}.hero-media{height:630px}}@media(max-width:1000px){.wrap{padding:0 28px}.nav{gap:15px}.brand-sub{display:none}.hero{gap:30px}.hero-media{height:510px}.hero h1{font-size:68px}.experience-strip a{padding:4px 15px;grid-template-columns:25px 1fr 12px}.experience-strip strong{font-size:15px}.experience-strip small{font-size:12px}.card img{height:240px}}@media(max-width:760px){.wrap{padding:0 22px}.site-header{height:84px}.brand-name{font-size:36px}.menu-toggle{display:block}.nav{display:none;position:absolute;left:0;right:0;top:118px;background:var(--paper);padding:20px 25px;z-index:20;box-shadow:0 8px 12px #17263a16;flex-direction:column;align-items:stretch}.nav.open{display:flex}.hero{grid-template-columns:1fr;gap:28px;padding-top:20px;padding-bottom:36px}.hero h1{font-size:64px}.hero-copy{padding:10px 0 0}.hero-copy p{font-size:16px}.hero-media{height:410px;margin-left:16px}.hero-media>img{border-radius:130px 130px 0 0}.hero-stamp{left:-15px;width:104px;height:104px;font-size:22px}.eyebrow{font-size:11px;letter-spacing:1.7px}.hero-actions .button{padding:14px 17px}.experience-strip{grid-template-columns:1fr;padding:0}.experience-strip a,.experience-strip a:first-child,.experience-strip a:last-child{padding:18px 0;border-right:0;border-bottom:1px solid var(--line);grid-template-columns:38px 1fr 20px}.experience-strip a:last-child{border-bottom:0}.experience-strip strong{font-size:17px}.experience-strip small{font-size:14px}.section{padding-top:65px;padding-bottom:65px}.section-heading{display:block}.section-heading p{margin-top:22px}.cards{grid-template-columns:1fr;gap:42px}.card img{height:310px;margin-bottom:22px}.footer-main{flex-direction:column}.footer-bottom{flex-direction:column}.topline{font-size:11px}h2{font-size:46px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
.breadcrumb{display:flex;gap:12px;font-size:12px;color:#687181;padding-top:16px;padding-bottom:10px}.breadcrumb a{color:var(--blue)}.page-intro{padding-top:52px;padding-bottom:50px}.page-intro h1{color:var(--blue);max-width:1000px}.page-intro>p{font-size:18px}.intro-bottom{display:flex;justify-content:space-between;align-items:center;gap:40px}.intro-bottom>p{font-size:18px;max-width:560px;margin:0}.intro-bottom .hero-actions{margin:0;flex-shrink:0}.wide-photo{position:relative}.wide-photo img{height:460px}.photo-note{position:absolute;bottom:18px;right:70px;background:var(--paper);padding:10px 16px;font-size:12px}.split{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.split>div>img{height:510px}.split-copy{max-width:440px}.split-copy .eyebrow{color:var(--blue)}.split-copy p{color:#526071;margin-bottom:28px}.season-band{background:var(--blue);color:white;padding:60px 0}.season-inner{display:grid;grid-template-columns:1fr 1fr auto;gap:50px;align-items:center}.season-inner h2{margin:0}.season-inner p{margin:0;font-size:17px;max-width:340px;color:#e2e6ff}.season-inner .eyebrow{color:var(--yellow)}.cta{padding:50px;background:#f0efde;display:flex;justify-content:space-between;align-items:center;gap:40px;max-width:1224px;margin-top:36px;margin-bottom:80px}.cta h2{font-size:55px;color:var(--blue)}.cta p{max-width:570px;margin-bottom:0}.cta-actions{display:flex;gap:14px;align-items:flex-start;flex-direction:column;flex-shrink:0}.cta-actions .button{width:100%}.footer-slogan{margin-top:25px;color:#e2e6ff}.footer .eyebrow{margin-bottom:14px;color:#cbd3ff}.footer-link{display:block;font-size:14px;margin-bottom:8px}.footer-link:hover{text-decoration:underline}.footer-bottom>div{display:flex;gap:24px}.menu-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.menu-section>div:first-child>p{max-width:370px}.small-note{font-size:13px!important;line-height:1.7;color:#67717a!important}.menu-list article{display:flex;gap:24px;border-bottom:1px solid var(--line);padding:26px 0}.menu-list article:first-child{padding-top:0}.menu-list article>span{font-size:13px;color:var(--blue);padding-top:8px}.menu-list h3{margin:0 0 8px;font-size:31px}.menu-list p{margin:0;font-size:14px;color:#526071}.interior{padding-top:10px}.interior>div>img{height:430px;object-position:55% center}.pairing{text-align:center;padding-top:10px;padding-bottom:70px}.pairing h2{color:var(--blue)}.pairing p{max-width:620px;margin:0 auto 24px}.tour-hero{position:relative;margin-top:30px}.tour-hero-image img{height:690px;object-position:center center}.tour-hero-image{position:relative}.tour-hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#051226c9,transparent 95%)}.tour-hero-copy{position:absolute;inset:70px auto auto 110px;max-width:560px;color:white}.tour-hero-copy h1{font-size:82px}.tour-hero-copy p{max-width:420px;margin-bottom:30px}.tour-cards{display:grid;grid-template-columns:1fr 1fr;gap:35px}.tour-cards article{border:1px solid var(--line)}.tour-cards img{height:340px}.tour-card-copy{padding:32px}.tour-card-copy p{color:#526071}.tour-card-copy .eyebrow{color:var(--blue)}.steps-section{padding:65px 0;background:#eceff8}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:48px}.steps article>span{font-family:var(--serif);font-size:52px;color:var(--blue)}.steps h3{font-size:29px;margin:18px 0}.steps p{color:#526071;margin:0}.faq{max-width:950px;padding-bottom:65px}.faq h2{color:var(--blue)}details{border-bottom:1px solid var(--line);padding:23px 0}summary{cursor:pointer;font-size:18px;list-style:none;padding-right:32px;position:relative}summary:after{content:'+';position:absolute;right:0;color:var(--blue);font-size:24px;line-height:1.1}details[open] summary:after{content:'−'}details p{margin:20px 0 0;color:#526071}details p a{color:var(--blue);text-decoration:underline}summary::-webkit-details-marker{display:none}.subhero{padding-top:30px}.subhero .hero-media>img{object-position:center}.wine-list{display:grid;grid-template-columns:1fr 1fr;gap:30px}.wine-list article{padding:40px;background:#eeefe9;border-top:3px solid var(--blue)}.wine-list .eyebrow{color:var(--blue)}.wine-intro>.small-note{margin-top:24px}.family-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.family-grid article{border-top:1px solid var(--blue);padding-top:26px}.family-grid .eyebrow{color:var(--blue)}.family-grid p{color:#526071}.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-bottom:80px}.visit-grid h2{font-size:48px;color:var(--blue)}.visit-address img{height:320px;margin-top:36px}.hours{margin:0 0 18px}.hours>div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:16px 0;font-size:15px}.hours dd{margin:0;font-weight:600;flex-shrink:0}.contact-block{margin-top:36px}.contact-block p{overflow-wrap:anywhere}dialog{border:0;background:var(--paper);color:var(--ink);width:min(650px,calc(100% - 32px));max-height:90dvh;padding:46px;box-shadow:0 20px 90px #0003}dialog::backdrop{background:#071840a8;backdrop-filter:blur(3px)}dialog h2{font-size:44px;color:var(--blue);margin-bottom:20px}dialog .eyebrow{margin-bottom:15px}dialog[open]{animation:appear .18s ease-out}.dialog-close{position:absolute;right:18px;top:12px;font-size:30px;background:none;border:0;color:var(--blue);width:36px;height:36px;line-height:1}.demo-notice{background:#e8ecf8;padding:13px 16px;font-size:14px;margin-bottom:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}form label{display:block;font-size:14px;margin-bottom:17px}form input,form select,form textarea{display:block;width:100%;border:1px solid #b9bfcd;background:white;color:var(--ink);padding:11px 12px;margin-top:7px;min-width:0;border-radius:0}form textarea{resize:vertical}form button{width:100%}#inquiry-summary{display:grid;grid-template-columns:110px 1fr;gap:12px;margin-bottom:28px;font-size:15px}#inquiry-summary dt{font-weight:600}#inquiry-summary dd{margin:0;overflow-wrap:anywhere}[hidden]{display:none!important}@keyframes appear{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(max-width:1100px){.nav{gap:14px;font-size:13px}.nav .button{padding:11px 12px}.brand-sub{display:none}.intro-bottom{display:block}.intro-bottom .hero-actions{margin-top:24px}.split{gap:45px}.season-inner{gap:28px;grid-template-columns:1fr 1fr}.season-inner .button{grid-column:2;justify-self:start}.cta{margin-left:28px;margin-right:28px}.visit-grid{gap:50px}}@media(max-width:760px){.page-intro{padding-top:35px;padding-bottom:35px}.page-intro h1{font-size:57px;overflow-wrap:break-word}.intro-bottom>p{font-size:16px}.wide-photo img{height:300px}.photo-note{right:30px;left:30px;font-size:11px}.split{grid-template-columns:1fr;gap:35px}.split>div>img{height:350px}.split-copy{max-width:none}.season-inner{grid-template-columns:1fr;gap:25px}.season-inner .button{grid-column:auto}.season-band{padding:45px 0}.cta{margin:20px 22px 50px;padding:30px 25px;display:block}.cta h2{font-size:43px}.cta-actions{margin-top:28px}.cta-actions .button{width:auto}.menu-section{grid-template-columns:1fr;gap:35px}.menu-section>div:first-child>p{max-width:none}.menu-section h2{max-width:300px}.menu-list h3{font-size:30px}.tour-hero{margin-top:18px}.tour-hero-image img{height:640px;object-position:66% center}.tour-hero-image:after{background:linear-gradient(180deg,#051226b8,transparent)}.tour-hero-copy{inset:36px 42px auto 42px}.tour-hero-copy h1{font-size:58px}.tour-hero-copy p{font-size:15px}.tour-cards{grid-template-columns:1fr;gap:30px}.tour-cards img{height:280px}.tour-card-copy{padding:25px}.tour-card-copy h3{font-size:36px}.steps{grid-template-columns:1fr;gap:30px;margin-top:30px}.steps article{border-top:1px solid #ccd2e6;padding-top:20px}.steps h3{margin-top:7px}.steps-section{padding:45px 0}.faq{padding-bottom:40px}summary{font-size:16px}.wine-list,.family-grid{grid-template-columns:1fr}.wine-list article{padding:28px}.family-grid{gap:30px}.visit-grid{grid-template-columns:1fr;gap:45px;padding-bottom:40px}.visit-grid h2{font-size:43px}.hours>div{font-size:14px}.footer-bottom>div{flex-direction:column;gap:10px}dialog{padding:38px 23px 28px}dialog h2{font-size:37px}.form-grid{gap:12px}.brand-sub{display:none}}@media(min-width:761px) and (max-width:960px){.site-header{gap:16px}.nav{gap:12px;font-size:12px}.nav a{white-space:nowrap}.nav .button{padding:10px}.brand-name{font-size:34px}.wrap{padding-left:24px;padding-right:24px}}@media(max-width:380px){.hero h1{font-size:55px}.hero-actions{flex-direction:column}.hero-actions .button{width:100%}.form-grid{grid-template-columns:1fr}.tour-hero-copy h1{font-size:50px}.hours>div{font-size:13px}}
.shop-section{padding-top:65px;scroll-margin-top:20px}.shop-section .section-heading{margin-bottom:24px}.shop-live-note{font-size:14px;color:#526071;border-left:3px solid var(--blue);padding-left:14px;margin-bottom:28px}#EuvinoIframeContainer{width:100%;min-height:350px;background:white}#EuvinoIframeContainer iframe{width:100%;border:0;display:block}.shop-footer{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid var(--line);padding-top:20px;margin-top:22px}.shop-footer>span{font-size:13px;color:#67717a}@media(max-width:760px){.shop-section{padding-left:14px;padding-right:14px}.shop-section .section-heading,.shop-live-note{margin-left:8px;margin-right:8px}.shop-footer{align-items:flex-start;flex-direction:column;margin-left:8px;margin-right:8px}}
.family-photo{margin-top:0;margin-bottom:0}.family-photo>div{aspect-ratio:1.4;overflow:hidden}.family-photo img{height:100%;object-fit:cover;object-position:center bottom}.family-photo figcaption{font-size:13px;margin-top:15px;color:#67717a}.people-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px}.person-portrait{position:relative;overflow:hidden;aspect-ratio:4/5;margin-bottom:24px;background:#e8dbc8}.person-portrait img{position:absolute;height:auto;max-width:none;display:block}.person-card .eyebrow{font-size:10px;letter-spacing:1.4px;margin-bottom:9px;min-height:32px;color:var(--blue)}.person-card h3{font-size:37px;margin-bottom:14px}.person-card p{font-size:14px;color:#526071}.family-note{max-width:900px;text-align:center;padding-top:20px;padding-bottom:30px}.family-note h2{color:var(--blue)}.family-note p{max-width:660px;margin:0 auto 25px}.family-note .hero-actions{justify-content:center}.split>div>img.home-family-photo{height:auto;aspect-ratio:1.32;object-fit:cover;object-position:center bottom}.vesper-feature{display:grid;grid-template-columns:1fr 1fr;background:#eceff8;gap:0}.vesper-feature>img{height:100%;min-height:500px}.vesper-feature>div{padding:44px}.vesper-feature h3{font-size:48px}.vesper-feature .eyebrow{color:var(--blue)}.flyer-price{font-size:34px;color:var(--blue);margin:20px 0 0}.flyer-price span{display:block;font-size:13px;color:#526071}
.route-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin-top:50px}.route-grid article{border-top:1px solid var(--blue);padding-top:27px;display:flex;flex-direction:column}.route-grid .eyebrow{color:var(--blue)}.route-grid h3{font-size:32px}.route-grid p{font-size:15px;color:#526071}.route-grid article>.text-link{align-self:flex-start;margin-top:auto;padding-top:16px}
.seasonal-routes{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:35px;padding:32px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.seasonal-routes .eyebrow{margin-bottom:12px}.seasonal-routes h3{font-size:30px;margin:0}.seasonal-routes ul{padding-left:20px;line-height:2;font-size:15px}.seasonal-routes button{max-width:230px}.route-source{margin-top:24px}.route-source a{text-decoration:underline;color:var(--blue)}@media(max-width:1050px){.people-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.person-card .eyebrow{min-height:0}.seasonal-routes{flex-wrap:wrap}.vesper-feature>div{padding:30px}}@media(max-width:760px){.people-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px}.person-card h3{font-size:31px}.person-card p{font-size:14px}.person-card .eyebrow{font-size:10px;letter-spacing:1px;min-height:30px}.person-portrait{margin-bottom:17px}.family-photo>div{aspect-ratio:1.4}.family-photo figcaption{font-size:12px}.family-note{padding-bottom:0}.vesper-feature{grid-template-columns:1fr}.vesper-feature>img{min-height:0;height:290px}.vesper-feature>div{padding:28px}.vesper-feature h3{font-size:41px}.route-grid{grid-template-columns:1fr;gap:22px;margin-top:35px}.route-grid h3{font-size:34px}.seasonal-routes{display:block}.seasonal-routes button{max-width:none}}

.split>div>img.social-photo{height:auto;max-width:440px;aspect-ratio:4/5;margin-inline:auto;object-fit:cover}

/* Edited family photographs and confirmed family biographies. */
.family-photo>div{aspect-ratio:3/2}.family-photo img{object-fit:contain;object-position:center}.person-portrait{background:#f4f2ea}.person-portrait img{position:static;width:100%;height:100%;max-width:100%;object-fit:cover}.split>div>img.home-family-photo{aspect-ratio:3/2;object-fit:contain;object-position:center}.photo-edit-note{display:block;font-size:11px;color:#737a80}.winemaker-note{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:45px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.winemaker-note h2{font-size:48px;color:var(--blue);margin-bottom:0}.winemaker-note p{max-width:520px}.winemaker-note .eyebrow{color:var(--blue)}@media(max-width:760px){.winemaker-note{grid-template-columns:1fr;gap:20px;padding:32px 0}.winemaker-note h2{font-size:40px}.family-photo>div{aspect-ratio:3/2}}
/* Karten, Tagesgerichte und die Pflege durch die Familie */
[hidden]{display:none!important}/* Keep the daily note anchored to the image, above the slide caption. */
.home-intro .hero-copy{grid-column:1;grid-row:1;min-width:0}
.home-intro{grid-template-columns:minmax(0,1fr) minmax(0,1.03fr)}
.home-hero-visual{grid-column:2;grid-row:1;position:relative;min-width:0}
.home-daily-bar{position:absolute;right:0;bottom:124px;z-index:5;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;min-width:0;width:max-content;max-width:min(360px,calc(100% - 105px));margin:0;padding:10px 18px 10px 12px;background:var(--yellow);color:var(--blue);border-radius:32px 0 0 32px}
.home-daily-copy{min-width:0;line-height:1.25}
.home-daily-meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;font-size:12px;font-weight:600}
.home-daily-date-wrap:not([hidden]):before{content:'·';margin-right:6px}
.home-daily-bar .today-dishes{display:block;font-family:var(--serif);font-size:24px;line-height:1.12;overflow-wrap:anywhere}
.home-daily-bar .today-dishes strong{font-weight:400}
.home-daily-bar:has([data-today-label-empty]:not([hidden])) .home-daily-meta{max-width:145px;font-size:17px;line-height:1.2;text-wrap:balance}
.today-dish-separator{font-family:var(--sans);font-size:14px}
.home-daily-actions{display:flex;gap:4px;align-items:center}
.home-daily-action{width:40px;height:40px;display:grid;place-items:center;border:1px solid #172da62e;border-radius:50%;background:transparent;color:var(--blue);padding:0;transition:background .18s}
.home-daily-action:hover{background:#fbfaf680}
.home-daily-action svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}
@media(min-width:761px){
 .home-daily-bar{height:72px;max-width:min(320px,calc(100% - 100px));padding:8px 12px;gap:10px}
 .home-daily-copy{max-height:100%;overflow:hidden}
 .home-daily-bar .today-dishes{font-size:22px;line-height:1.1;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;max-height:2.2em;overflow:hidden}
 .home-daily-action{width:34px;height:34px}
 .home-daily-action svg{width:17px;height:17px}
}
@media(max-width:760px){
 .home-intro .hero-copy{grid-column:1;grid-row:1}
 .home-intro{grid-template-columns:minmax(0,1fr)}
 .home-hero-visual{grid-column:1;grid-row:2}
 .home-intro .home-daily-bar{position:static;width:auto;max-width:none;margin:28px 0 0;padding:10px 14px;border-radius:12px;gap:12px}
 .home-daily-bar .today-dishes{font-size:22px}
}
.daily-time{font-weight:600;font-size:15px}.story-source{font-size:13px;margin-top:25px;color:#526071}.story-source a{text-decoration:underline}.card-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.card-photos figure{margin:0;background:#fff;border:1px solid var(--line);padding:12px}.card-photos img{width:100%;height:auto;max-height:850px;object-fit:contain}.card-photos figcaption{font-size:13px;margin:12px}.menu-excerpts{max-width:850px;margin:30px 0}.menu-fallback{padding:25px;background:#eceff8}.menu-fallback p{margin:0;max-width:700px}.upcoming-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.upcoming-list article{border-top:1px solid var(--blue);padding-top:20px}.upcoming-list h3{font-size:32px}.menu-load-note:empty{display:none}.menu-load-note{color:#7d3535}.care-page{max-width:1100px}.care-intro h1{font-size:68px;line-height:1.05}.care-intro>p{max-width:750px}.care-intro #care-access{font-size:14px;color:#526071}.care-nav{display:flex;flex-wrap:wrap;gap:10px 25px;padding:20px 0;border-block:1px solid var(--line);margin:30px 0}.care-nav a{font-weight:600;color:var(--blue)}.care-block{padding:55px 0;border-bottom:1px solid var(--line);scroll-margin-top:25px}.care-block h2{font-size:46px}.care-block>p{max-width:760px}.care-block form{padding:30px;background:#fff;border:1px solid var(--line);margin:25px 0}.care-block label{display:block;margin-bottom:20px;font-weight:500}.care-block input:not([type=checkbox]),.care-block select,.care-block textarea{display:block;width:100%;padding:12px;border:1px solid #aab1ba;border-radius:0;background:#fff;color:var(--ink);margin-top:7px}.care-block small{display:block;font-size:13px;font-weight:400;margin-top:7px;color:#526071}.care-block .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 25px}.care-block .upload-box{padding:20px;border:1px dashed #9da7c0;background:#f4f6fc}.form-status{margin-bottom:0;color:#254b3d;min-height:24px}.form-status.error{color:#8b2020}.photo-preview{display:flex;gap:15px;flex-wrap:wrap;margin:20px 0}.photo-preview img{width:125px;height:160px;object-fit:contain;background:#eceff8}.saved-card-set{display:inline-block;vertical-align:top;width:49%;padding:15px}.saved-card-set h3{font-size:29px}.saved-special{padding:20px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:25px}.saved-special h4{font-size:25px;font-family:var(--serif);margin:8px 0}.saved-special p{margin:0 0 8px}.saved-actions{display:flex;flex-direction:column;gap:8px}.status-tag{font-size:12px;letter-spacing:.8px;text-transform:uppercase;color:var(--blue)}.care-block .text-link{border:0;background:transparent;padding:8px 0;text-align:left}.care-block .check-label{display:flex;gap:12px;align-items:center}.instagram-connection{padding:22px;background:#eceff8}.instagram-connection .small-note{margin-bottom:0}.care-block button:disabled{opacity:.55;cursor:wait}#import-result{background:#f4f6fc;padding:22px;margin-top:25px}#import-result dl{display:grid;grid-template-columns:80px 1fr}#import-result dd{margin:0 0 12px}.care-page+.footer{margin-top:70px}@media(max-width:760px){.card-photos{grid-template-columns:1fr}.upcoming-list{grid-template-columns:1fr}.care-intro h1{font-size:45px}.care-block h2{font-size:38px}.care-block form{padding:20px}.care-block .form-grid{grid-template-columns:1fr;gap:0}.care-nav{gap:12px 20px}.saved-card-set{display:block;width:100%;padding:10px 0}.saved-special{display:block}.saved-actions{flex-direction:row;flex-wrap:wrap;margin-top:15px}.care-block .hero-actions{gap:15px}.care-block .hero-actions button{width:100%}}

/* Films extend the existing editorial layout; external players load on demand. */
.film-player{position:relative;aspect-ratio:16/9;overflow:hidden;background:#152043;color:white}.film-cover{width:100%;height:100%;object-fit:cover;filter:brightness(.32)}.film-start{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;padding:24px}.film-start strong{font-family:var(--serif);font-size:clamp(1.8rem,4vw,3.2rem);font-weight:400}.film-play-icon{font-size:2rem}.film-start p{font-size:.875rem;line-height:1.5;max-width:460px;margin:0}.film-start .button{border:1px solid rgba(255,255,255,.6)}.film-player iframe{display:block;width:100%;height:100%;border:0}.film-caption{display:flex;justify-content:space-between;gap:28px;align-items:baseline;margin-top:18px}.film-caption p{max-width:640px;font-size:.9rem}.film-credit{font-size:.9rem;line-height:1.7}.media-story .button{white-space:normal;text-align:left;line-height:1.5}.media-story img{width:100%;aspect-ratio:4/3;object-fit:cover}@media(max-width:600px){.film-player{aspect-ratio:4/5;max-height:480px}.film-caption{display:block}.film-start{gap:14px;padding:24px}.film-start .button{min-height:48px}}

.rebknorze-dialog{width:min(760px,calc(100% - 32px));padding:0;overscroll-behavior:contain}.rebknorze-dialog>img{display:block;width:100%;aspect-ratio:16/7;object-fit:cover}.rebknorze-dialog .story-copy{padding:36px 44px 40px}.rebknorze-dialog .story-copy p{margin:0 0 18px;line-height:1.7}.story-close{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;font-size:30px;line-height:1;background:var(--paper);color:var(--blue);cursor:pointer}.story-close:focus-visible{outline:3px solid var(--blue);outline-offset:3px}html:has(.rebknorze-dialog[open]){overflow:hidden}@media(max-width:600px){.rebknorze-dialog .story-copy{padding:28px 24px 32px}.rebknorze-dialog>img{aspect-ratio:16/9}.rebknorze-dialog h2{font-size:34px}}

.dish-story-trigger{font:inherit;color:inherit;border:0;background:none;padding:0;display:inline;text-align:left;cursor:pointer;text-decoration-line:underline;text-decoration-style:dotted;text-decoration-thickness:1px;text-underline-offset:7px}.dish-story-trigger:hover{text-decoration-style:solid}.dish-story-trigger:focus-visible{outline:2px solid var(--blue);outline-offset:6px}.dish-story-mark{display:inline-flex;vertical-align:middle;align-items:center;justify-content:center;width:19px;height:19px;border:1px solid currentColor;border-radius:50%;margin-left:12px;font:italic 13px Georgia,serif}.dampfnudel-dialog .story-copy{padding-top:60px}

.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.event-grid-full{grid-template-columns:repeat(2,minmax(0,1fr));margin:24px 0}.event-card{display:flex;flex-direction:column;padding:30px;border:1px solid var(--line);background:#fff}.event-card h3{font-size:30px;line-height:1.12;color:var(--blue);margin:4px 0 20px}.event-date{font-size:14px;font-weight:600;color:var(--blue);margin:0 0 18px}.event-card .event-place{font-size:14px;font-weight:600;margin:0 0 16px}.event-card>p{line-height:1.6}.event-booking-note{font-size:14px;color:#526071}.event-card-bottom{margin-top:auto;padding-top:16px}.event-sources{font-size:14px;margin-top:18px}.event-sources summary{cursor:pointer}.event-card .button{white-space:normal;line-height:1.5}.event-portals{padding-bottom:90px}.managed-event{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;padding:28px 0;border-bottom:1px solid var(--line)}.managed-event h3{font-size:28px;margin:14px 0}.managed-event .saved-actions{align-self:center;display:flex;flex-direction:column;gap:15px}.review-note{padding:12px;background:#fff0c9}.research-tools{margin-top:28px}.research-tools summary{cursor:pointer;margin-bottom:24px}.research-tools textarea{font-family:monospace;font-size:14px}.events-list-section{padding-top:0}.event-empty{grid-column:1/-1;padding:36px;background:#edf0f8}@media(max-width:1100px){.event-grid{grid-template-columns:1fr 1fr}.next-events .event-card:last-child:nth-child(3){grid-column:1/-1}}@media(max-width:650px){.event-grid,.event-grid-full{grid-template-columns:1fr}.managed-event{grid-template-columns:1fr}.managed-event .saved-actions{align-items:flex-start}.event-card{padding:24px}.event-card h3{font-size:28px}.next-events .event-card:last-child:nth-child(3){grid-column:auto}}

.llm-config{padding:30px;background:#edf0f8;margin-top:30px}.llm-config h3{font-size:28px}.llm-config form{margin:24px 0}.llm-config .check-label{margin:20px 0}@media(max-width:650px){.llm-config{padding:22px}}

.arrival-grid{align-items:start;gap:60px}.arrival-address{font-style:normal;font-size:22px;line-height:1.6;margin:0 0 26px}.arrival-parking{background:#eceff8;padding:42px}.arrival-parking .eyebrow{display:block;margin-top:30px;color:var(--blue)}.parking-symbol{display:grid;place-items:center;width:60px;height:60px;border:1px solid var(--blue);color:var(--blue);font-size:36px;line-height:1}.arrival-parking>p{line-height:1.8}.arrival-help{border-top:1px solid #b8c2da;margin-top:34px;padding-top:28px}.arrival-help h3{font-size:28px;color:var(--blue)}.arrival-help p{margin:14px 0}.arrival-hint{background:#eceff8;padding:22px;margin-top:26px}.arrival-hint p{margin:0 0 12px}@media(max-width:760px){.arrival-grid{gap:32px}.arrival-parking{padding:28px}.arrival-grid h2{font-size:38px}.arrival-address{font-size:20px}}

.google-reviews{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:80px;border-top:1px solid var(--line)}.reviews-copy h2{color:var(--blue)}.reviews-copy>p{max-width:520px}.reviews-copy .button{margin-top:12px}.review-login-note{margin-top:14px;color:#526071}.google-rating{background:#edf0f8;text-align:center;padding:45px 30px}.google-attribution{font-family:Arial,sans-serif;font-size:16px;font-weight:400;color:#1f1f1f}.rating-number{display:flex;align-items:baseline;justify-content:center;gap:12px;margin:22px 0 0;color:var(--blue)}.rating-number strong{font-family:var(--serif);font-size:100px;line-height:1;font-weight:400}.rating-number>span{font-size:18px}.rating-stars{position:relative;display:inline-block;font-family:Arial,sans-serif;font-size:30px;line-height:1.4;letter-spacing:4px;color:#c4cbdc;white-space:nowrap;margin-top:12px}.rating-stars-fill{position:absolute;left:0;top:0;width:90%;overflow:hidden;color:var(--blue)}.rating-count{margin:8px 0 24px;font-weight:600}.rating-date{font-size:12px;line-height:1.7;margin:24px 0 0;color:#526071}.google-rating .text-link{display:inline-flex;text-align:left;justify-content:center}@media(max-width:760px){.google-reviews{grid-template-columns:1fr;gap:32px}.google-rating{padding:34px 22px}.rating-number strong{font-size:86px}}

/* Menu examples and two real views of the Weinhof. */
.classics-section,.wine-selection{border-top:1px solid var(--line)}.hospitality-photos{display:grid;gap:20px}.hospitality-photos figure{margin:0}.hospitality-photos img{display:block;width:100%;height:auto!important;aspect-ratio:16/9;object-fit:cover}.hospitality-photos figcaption{font-size:14px;line-height:1.5;margin-top:9px;color:#526071}.interior:has(.hospitality-photos){align-items:center}

.kitchen-impression{margin:30px 0 0}.kitchen-impression img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.kitchen-impression figcaption{font-size:14px;line-height:1.6;margin-top:10px;color:#526071}.rebknorze-dialog>img[src$="rebknorze-am-feuer.jpg"]{object-position:50% 44%}

#speisen>.seasonal-asparagus{max-width:640px;margin-top:36px}.village-impression figure{margin:0}.village-impression figure img{height:auto;max-height:620px;aspect-ratio:3/4;object-fit:cover}.village-impression figcaption{font-size:14px;line-height:1.6;color:#526071;margin-top:10px}

.seasonal-landscape{margin:32px 0 0}.seasonal-landscape img{width:100%;height:auto;aspect-ratio:2/1;object-fit:cover;object-position:center 43%}.seasonal-landscape figcaption{margin-top:12px;font-size:14px;color:#526071}@media(max-width:760px){.seasonal-landscape img{aspect-ratio:4/3}}

/* The menu reads as a complete document, separate from seasonal kitchen examples. */
.menu-page-intro h1{font-size:clamp(54px,6vw,82px)}.menu-validity{max-width:790px!important;margin:30px 0 0;padding:20px 0;border-top:1px solid var(--line);font-size:16px!important;color:#526071}.printed-menu{padding-top:35px;padding-bottom:40px}.printed-menu .card-photos{grid-template-columns:repeat(auto-fit,minmax(220px,320px));gap:24px}.printed-menu .card-photos img{height:360px;object-fit:contain}.printed-menu .card-photos figure{padding:16px}.printed-menu .card-photos figcaption{font-size:14px;margin:14px 0 0}.printed-menu .menu-fallback{background:transparent;border-top:1px solid var(--line);padding:24px 0}.kitchen-snapshots{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:30px}.kitchen-snapshots figure{margin:0}.kitchen-snapshots img{width:100%;height:150px;object-fit:cover}.kitchen-snapshots figcaption{font-size:14px;line-height:1.5;color:#526071;margin-top:10px}.seasonal-examples article{padding:24px 0}.seasonal-examples article.is-today{background:#f2efbc;border:1px solid #c9c260;padding:24px;margin-bottom:12px}.seasonal-examples .today-badge{font-size:14px;font-weight:700;color:var(--blue);margin:0 0 12px}.seasonal-examples p{font-size:16px}@media(max-width:760px){.printed-menu .card-photos{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.printed-menu .card-photos img{height:300px}.kitchen-snapshots img{height:170px}}

.card-dishes{max-width:840px}.card-dishes article>span{display:none}.card-dishes h3{font-size:30px}.card-dishes p{font-size:16px}.printed-menu .section-heading{margin-bottom:16px}.printed-menu .menu-fallback{padding-top:10px;border-top:0}

/* Avoid stacking two full section paddings at these transitions. */
.home-next-events,.experience-routes{padding-bottom:32px}#erleben,.film-section{padding-top:40px}@media(max-width:760px){.home-next-events,.experience-routes{padding-bottom:24px}#erleben,.film-section{padding-top:24px}}

/* Restaurant welcome: the dining room belongs beside the invitation. */
.restaurant-intro{display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:48px}
.restaurant-intro h1{font-size:clamp(48px,5.2vw,76px)}
.restaurant-intro .intro-bottom{display:block}
.restaurant-intro .intro-bottom .hero-actions{margin-top:24px;flex-wrap:wrap}
.restaurant-intro-photo{display:block;width:100%;height:100%;max-height:420px;min-height:300px;object-fit:cover;object-position:38% center}
.spargelrolle-dialog>img{aspect-ratio:16/9;object-position:center}
@media(max-width:900px){.restaurant-intro{gap:28px;grid-template-columns:1fr 1fr}.restaurant-intro h1{font-size:48px}}
@media(max-width:760px){.restaurant-intro{grid-template-columns:1fr;gap:28px}.restaurant-intro h1{font-size:clamp(42px,10vw,57px)}.restaurant-intro-photo{height:auto;min-height:0;aspect-ratio:16/9}}

.chef-section{display:grid;grid-template-columns:220px minmax(0,1fr);gap:48px;align-items:center;border-top:1px solid var(--line,#d9ddd7);border-bottom:1px solid var(--line,#d9ddd7);padding-top:40px;padding-bottom:40px}
.chef-section>img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.chef-section h2{font-size:clamp(32px,3.6vw,48px);margin-bottom:18px}
.chef-section p{max-width:740px;margin-bottom:16px}
@media(max-width:760px){.chef-section{grid-template-columns:110px minmax(0,1fr);gap:24px;align-items:start;padding-top:28px;padding-bottom:28px}.chef-section>div{display:contents}.chef-section>img{grid-column:1;grid-row:1/3}.chef-section .eyebrow{grid-column:2;align-self:end;margin:0}.chef-section h2{grid-column:2;margin:0;font-size:32px}.chef-section p,.chef-section .text-link{grid-column:1/-1;margin:0}}

/* A compact, categorized menu for the full food and drinks selection. */
.catalog-page .menu-page-intro{padding-top:28px;padding-bottom:24px}
.catalog-page .menu-page-intro h1{font-size:clamp(44px,5vw,64px);margin-bottom:18px}
.catalog-page .menu-validity{max-width:900px!important;margin-top:18px;padding:14px 0 0;font-size:14px!important;line-height:1.6}
.catalog-nav{position:sticky;top:0;z-index:20;background:var(--paper,#fbfaf6);padding-top:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.catalog-nav-main{display:flex;align-items:center;justify-content:space-between;gap:20px}.catalog-tabs{display:flex;gap:8px}.catalog-agenda-entry{margin-left:auto}.catalog-agenda-entry .agenda-launch{white-space:nowrap}
.catalog-tabs button{font:inherit;font-size:17px;font-weight:600;background:transparent;border:1px solid var(--line);padding:12px 24px;color:var(--ink);cursor:pointer}
.catalog-tabs button[aria-selected="true"]{background:var(--blue);border-color:var(--blue);color:#fff}
.catalog-categories{display:flex;gap:8px 22px;overflow-x:auto;white-space:nowrap;padding-top:12px}
.catalog-categories a{font-size:14px;font-weight:600;padding:5px 0;color:var(--blue);text-decoration:none}
.catalog-categories a:hover{text-decoration:underline;text-underline-offset:5px}
.catalog-panel{padding-top:28px;padding-bottom:40px;scroll-margin-top:140px}
.catalog-panel[hidden],.catalog-nav[hidden]{display:none}
.catalog-panel .section-heading{margin-bottom:22px}
.catalog-panel h2{font-size:32px;margin:0}
.catalog-group{margin-bottom:32px;scroll-margin-top:145px}
.catalog-group-heading{display:flex;justify-content:space-between;gap:20px;align-items:baseline;border-bottom:2px solid var(--blue);padding-bottom:9px}
.catalog-group-heading h3{font-size:23px;margin:0;color:var(--blue)}
.catalog-group-heading>span{font-size:14px;color:#526071}
.catalog-entries{display:grid;grid-template-columns:1fr 1fr;column-gap:48px}
.catalog-entry{padding:17px 0;border-bottom:1px solid var(--line);min-width:0}
.catalog-entry h4{font-family:var(--sans);font-size:18px;font-weight:600;line-height:1.45;margin:0 0 5px}
.catalog-entry p{font-size:16px;color:#526071;line-height:1.6;margin:0;overflow-wrap:anywhere}
.catalog-panel .card-photos figure{scroll-margin-top:145px}
.menu-notes{display:grid;grid-template-columns:minmax(180px,.3fr) minmax(0,1fr);gap:32px;margin-top:30px;padding:22px 26px;border-top:1px solid #172da638;border-bottom:1px solid #172da638;background:#f7f3d8}.menu-notes .eyebrow{margin-bottom:7px}.menu-notes h3{font:26px/1.2 Georgia,serif;color:var(--blue);margin:0}.menu-notes ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.menu-notes li{position:relative;padding-left:21px;font-size:15px;line-height:1.45;color:var(--ink)}.menu-notes li:before{content:'·';position:absolute;left:4px;top:-3px;color:var(--blue);font-size:22px;line-height:1}
@media(max-width:760px){.catalog-page .menu-page-intro{padding-top:24px}.catalog-nav-main{align-items:stretch;flex-direction:column;gap:10px}.catalog-agenda-entry{margin-left:0}.catalog-agenda-entry .agenda-launch{width:100%;justify-content:space-between}.catalog-tabs button{flex:1;padding:12px 10px;font-size:16px}.catalog-categories{gap:20px}.catalog-entries{grid-template-columns:1fr}.catalog-group-heading h3{font-size:22px}.catalog-panel h2{font-size:28px}.catalog-group{margin-bottom:28px}.catalog-entry{padding:14px 0}.catalog-nav{padding-top:10px;padding-bottom:10px}.menu-notes{grid-template-columns:1fr;gap:14px;padding:20px}.menu-notes h3{font-size:24px}}

@media(min-width:761px){.catalog-page .menu-page-intro{display:grid;grid-template-columns:1fr 1.2fr;column-gap:48px;align-items:center}.catalog-page .menu-page-intro>.eyebrow{grid-column:1/-1;margin-bottom:12px}.catalog-page .menu-page-intro h1{margin:0;font-size:56px}.catalog-page .menu-page-intro .intro-bottom>p{font-size:16px}.catalog-page .menu-validity{grid-column:1/-1;max-width:none!important}}

html:has(.catalog-page){scroll-padding-top:0}
.catalog-categories a[aria-current="location"]{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}

/* Supplied group and courtyard photographs, with room for every face. */
.celebration-photo img{height:auto;aspect-ratio:8/5;object-fit:cover;object-position:center top}.arrival-courtyard{margin:28px 0 0}.arrival-courtyard>div{aspect-ratio:3/2;overflow:hidden}.arrival-courtyard img{height:100%;object-fit:cover;object-position:center top}.arrival-courtyard figcaption{font-size:14px;color:#526071;margin-top:10px}@media(max-width:760px){.celebration-photo img{aspect-ratio:auto;height:auto}}

.express-brand{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.express-brand h3{margin-bottom:0}.tour-cards .express-brand img{width:92px;height:auto;flex:none;object-fit:contain}.tour-hosts{display:grid;grid-template-columns:240px minmax(0,1fr);align-items:center;gap:40px;margin:44px 0 0;padding-top:36px;border-top:1px solid var(--line)}.tour-hosts>img{width:240px;height:auto}.tour-hosts figcaption{max-width:560px}.tour-hosts h3{font-size:36px;margin-bottom:14px}.tour-hosts p{color:#526071;margin-bottom:0}.tour-hosts .eyebrow{color:var(--blue)}@media(max-width:760px){.express-brand{gap:12px}.tour-cards .express-brand img{width:70px}.express-brand h3{font-size:32px}.tour-hosts{grid-template-columns:1fr;gap:24px;margin-top:32px;padding-top:28px}.tour-hosts>img{width:100%;max-width:420px}.tour-hosts h3{font-size:32px}}

/* Keep the vehicle introductions close to the tour offers below. */
#fahrten.section{padding-bottom:32px}.experience-routes{padding-top:32px}@media(max-width:760px){#fahrten.section{padding-bottom:24px}.experience-routes{padding-top:24px}}

/* Arrival: one orientation photograph, one route and practical details. */
.arrival-page .page-intro{padding-top:32px;padding-bottom:38px}.arrival-page .page-intro h1{font-size:clamp(52px,6.2vw,80px);margin-bottom:22px}.arrival-page .page-intro>p{margin-bottom:0;max-width:700px}.arrival-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:44px;align-items:center;scroll-margin-top:28px}.arrival-photo{margin:0;min-width:0}.arrival-photo>div{aspect-ratio:3/2;overflow:hidden}.arrival-photo img{height:100%;object-fit:cover;object-position:center top}.arrival-photo figcaption{font-size:14px;color:#67717a;margin-top:12px}.arrival-directions{padding:32px;background:#eceff8}.arrival-parking-label{display:flex;gap:16px;align-items:center;margin-bottom:24px}.arrival-parking-label .eyebrow{margin:0;color:var(--blue)}.arrival-parking-label .parking-symbol{width:42px;height:42px;font-size:28px;flex:none}.arrival-directions h2{font-size:clamp(38px,3.6vw,48px);color:var(--blue);margin-bottom:20px}.arrival-directions>p{margin-bottom:24px}.arrival-directions .arrival-map-note{font-size:13px;color:#526071;line-height:1.5;margin:12px 0 0}.arrival-details{display:grid;grid-template-columns:1fr 1fr 1fr;gap:44px;padding-top:44px;padding-bottom:64px;margin-top:44px;position:relative}.arrival-details:before{content:'';position:absolute;top:0;left:52px;right:52px;border-top:1px solid var(--line)}.arrival-details .eyebrow{color:var(--blue);margin-bottom:14px}.arrival-details h3{font-size:27px;margin-bottom:14px}.arrival-details address{font-style:normal}.arrival-details p{margin-bottom:14px}.arrival-details .button{display:flex;width:fit-content;margin-top:20px}.arrival-details .text-link{font-size:15px}@media(max-width:1000px){.arrival-layout{gap:28px}.arrival-directions{padding:26px}.arrival-details{gap:28px}}@media(max-width:760px){.arrival-page .page-intro{padding-top:26px;padding-bottom:28px}.arrival-page .page-intro h1{font-size:52px}.arrival-page .page-intro>p{font-size:16px}.arrival-page .page-intro>p br{display:none}.arrival-layout{grid-template-columns:1fr;gap:24px}.arrival-directions{padding:28px}.arrival-directions h2{font-size:40px}.arrival-details{grid-template-columns:1fr;gap:28px;margin-top:32px;padding-top:32px;padding-bottom:44px}.arrival-details:before{left:22px;right:22px}.arrival-details>div+div{padding-top:24px;border-top:1px solid var(--line)}}

/* Film replaces the full-width hero photograph; playback has no text overlay. */
.tour-film-hero .tour-hero-image{height:690px;aspect-ratio:auto;border-radius:40px;overflow:hidden;scroll-margin-top:24px}.tour-film-hero .tour-hero-image img{height:100%;width:100%;object-fit:cover}.tour-film-hero .tour-hero-copy{right:90px}.tour-film-hero .tour-hero-image:after{pointer-events:none}.tour-hero-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.tour-hero-actions .button{gap:12px}.tour-hero-link{color:white;border-bottom:1px solid #ffffff9c;padding-bottom:5px;font-weight:600;font-size:15px}.tour-film-note{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding-top:16px;color:#67717a;font-size:13px;line-height:1.5}.tour-film-note p{margin:0}.tour-film-note p:last-child{flex-basis:100%}.tour-film-note a{color:var(--blue);text-decoration:underline;text-underline-offset:4px}.tour-film-hero:has(iframe) .tour-hero-copy{display:none}.tour-film-hero .tour-hero-image:has(iframe):after{display:none}.tour-film-hero .tour-hero-image:has(iframe){height:auto;aspect-ratio:16/9}.tour-film-hero iframe{display:block;width:100%;height:100%;border:0}@media(max-width:760px){.tour-film-hero .tour-hero-image{height:660px;max-height:none;border-radius:28px}.tour-film-hero .tour-hero-copy{inset:40px 46px auto 46px}.tour-film-hero .tour-hero-copy h1{font-size:54px}.tour-film-hero .tour-hero-copy p{font-size:16px}.tour-hero-actions{gap:20px;align-items:flex-start;flex-direction:column}.tour-hero-actions .button{font-size:14px;padding:14px;white-space:normal;text-align:left}.tour-film-note{display:block}.tour-film-note a{display:inline-block;margin:8px 0}.tour-film-note p:last-child{font-size:13px}}@media(max-width:380px){.tour-film-hero .tour-hero-copy h1{font-size:48px}.tour-film-hero .tour-hero-copy{left:42px;right:42px}}

/* A calm photo carousel inside the homepage's original rounded hero. */
.home-hero-slider{touch-action:pan-y}.hero-slides{position:absolute;inset:0;border-radius:180px 180px 0 0;overflow:hidden;background:#17263a}.hero-slide{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transition:opacity .65s ease,visibility .65s}.hero-slide.is-active{opacity:1;visibility:visible}.hero-slide img{height:100%;width:100%;object-fit:cover;object-position:var(--slide-position,center)}.hero-slide:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#081424a6);pointer-events:none}.hero-slide figcaption{position:absolute;right:20px;bottom:70px;max-width:calc(100% - 165px);font-size:15px;line-height:1.45;text-align:right;color:white;z-index:1;text-shadow:0 1px 5px #0008}.home-hero-slider .hero-stamp{z-index:3}.hero-slider-controls{position:absolute;inset:0;pointer-events:none;z-index:2}.hero-slider-controls button{pointer-events:auto;border:1px solid #ffffffa6;background:#fbfaf6e8;color:var(--blue);display:grid;place-items:center;padding:0;line-height:1}.hero-slider-arrow{position:absolute;top:48%;width:42px;height:42px;border-radius:50%;font-size:30px}.hero-slider-arrow.prev{left:16px}.hero-slider-arrow.next{right:16px}.hero-slider-tools{position:absolute;right:16px;bottom:18px;display:flex;gap:10px;align-items:center;pointer-events:auto}.hero-slider-dots{display:flex;gap:0;align-items:center;background:#17263a80;border-radius:24px;padding:0 5px}.hero-slider-dots button{width:28px;height:36px;border:0;background:none}.hero-slider-dots button:before{content:'';width:7px;height:7px;border-radius:50%;background:transparent;border:1px solid white}.hero-slider-dots button[aria-current=true]:before{background:white}.hero-slider-tools .hero-slider-toggle{width:36px;height:36px;border-radius:50%;font-size:15px}.hero-slider-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(max-width:760px){.hero-slides{border-radius:130px 130px 0 0}.hero-slide figcaption{font-size:14px;right:16px;max-width:calc(100% - 115px);bottom:68px}.hero-slider-arrow{width:38px;height:38px}.hero-slider-arrow.prev{left:12px}.hero-slider-arrow.next{right:12px}.hero-slider-tools{gap:6px;right:12px}.hero-slider-dots button{width:26px}}
/* Shared business hours and content management */
.business-notices{margin:0 auto 1.5rem}.business-notice{border-left:4px solid var(--blue,#1d2dab);background:#eeeff8;padding:1.2rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-top:.6rem}.business-notice p{margin:.2rem 0}.business-notice small{display:block;margin-top:.4rem;font-size:.875rem}.business-notice .text-link{flex-shrink:0}.business-inquiry-note{border-left:4px solid #b2792c;background:#fff3d7;padding:1rem}.care-intro h1{font-size:clamp(2.5rem,5vw,4rem);margin:.5rem 0}.care-intro{padding-top:1.5rem!important}.care-nav{flex-wrap:wrap}.management-status{position:sticky;top:0;z-index:5;background:#eeeff8;padding:1rem;border-left:4px solid #202fa8;font-size:1rem}.management-status.error{background:#fff0e9;border-color:#a33}.care-block details{border-top:1px solid #cdd0da;padding:1rem 0}.care-block summary{cursor:pointer;font-size:1.15rem;font-weight:600;padding:.3rem 0;list-style-position:inside}.weekly-row{display:grid;grid-template-columns:7rem 11rem minmax(0,1fr);gap:1rem;align-items:start;padding:.7rem 0;border-bottom:1px solid #e1e2e8}.weekly-row>strong{padding-top:1.1rem}.care-page input,.care-page select,.care-page textarea{font-size:1rem;padding:.7rem}.care-page label{font-size:1rem}.time-slot{display:flex;align-items:end;gap:.7rem;margin-bottom:.5rem}.time-slot label{flex:1;min-width:0}.time-slot input{width:100%;min-width:0}.time-slot .text-link{font-size:.875rem}.exception-editor{margin-top:1rem;background:#f1f2f8;padding:1rem!important}.exception-editor>.form-grid{margin-top:1rem}.publish-box{margin:1.5rem 0;padding:1.5rem;background:#eeeff8}.menu-editor[open]{padding:1rem;background:#f5f5fa}.menu-editor .saved-actions{justify-content:flex-start}.hours-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.5rem}.hours-preview article{padding:1rem;background:#eeeff8}.hours-preview p{font-size:.875rem;margin:.25rem 0}.management-history{padding-left:1.5rem}.management-history li{padding:1rem 0;border-bottom:1px solid #ddd;font-size:.95rem}.management-history button{margin-left:1rem}#menu-preview{max-width:850px}#menu-preview article{padding:1rem 0;border-bottom:1px solid #ddd}#menu-preview article p{margin:.4rem 0}#menu-preview h4{font-size:1.5rem}#menu-preview h3{margin-top:2rem}.care-block .check-label{margin:1rem 0;display:flex;align-items:center;gap:.7rem}.check-label input[type=checkbox]{width:1.1rem;height:1.1rem}.care-page .hero-actions{flex-wrap:wrap}.care-page .button{font-size:1rem}#weekly-editor details>summary{color:#202fa8}#entries-editor:empty{min-height:3rem}.business-notices:empty{display:none}
.exceptions-archive{margin-top:1.5rem!important;padding:1rem!important;border:1px solid #cdd0da!important;background:#fff}.exceptions-archive>summary{color:var(--blue);font-size:1rem!important}.exceptions-archive>.exception-editor{background:#f7f7fa}
.hours-editor-tabs{display:flex;gap:8px;margin:-8px -8px 24px;padding:8px;border-bottom:1px solid #cdd0da;overflow-x:auto}.hours-editor-tabs button{border:0;border-radius:6px;background:transparent;color:#526071;padding:11px 14px;font:600 15px/1.2 var(--sans);white-space:nowrap}.hours-editor-tabs button[aria-selected=true]{background:#e8ebf7;color:var(--blue)}.hours-editor-tabs button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.hours-editor-tabs .tab-count{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-left:5px;padding:0 6px;border-radius:12px;background:#fff;font-size:12px}.hours-editor-panel>h3{margin-top:0}.hours-editor-panel>.small-note:first-of-type{margin-top:-10px}.hours-editor-panel .exception-editor:first-of-type{margin-top:0}#exceptions-editor-archive .exception-editor{background:#f7f7fa}
@media(max-width:600px){.hours-editor-tabs{margin-inline:-4px}.hours-editor-tabs button{padding:10px;font-size:14px}.hours-editor-panel .form-grid{grid-template-columns:1fr}}
@media(max-width:760px){.business-notice{display:block;padding:1rem}.business-notice .text-link{margin-top:.7rem}.weekly-row{grid-template-columns:1fr 1fr}.time-slots{grid-column:1/-1}.weekly-row>strong{padding-top:.7rem}.hours-preview{grid-template-columns:1fr 1fr}.care-page .saved-actions{flex-wrap:wrap}.publish-box{padding:1rem}.management-status{position:sticky;top:0}}
@media(max-width:420px){.hours-preview{grid-template-columns:1fr}.time-slot{flex-wrap:wrap}.time-slot label{flex-basis:40%}.weekly-row{gap:.5rem}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.care-page .time-slot button{width:auto;flex:none}.care-page .time-slot label{margin-bottom:0}.care-page .time-slot{align-items:center}.care-page [data-add-slot]{width:auto}.care-block .saved-actions button{width:auto}[data-business-hours] .hours dd{flex-shrink:1;text-align:right}.care-page h3{font-size:1.8rem}.care-page .small-note{font-size:.875rem!important}
@media(min-width:761px) and (max-width:1040px){.weekly-row{grid-template-columns:7rem 10rem minmax(0,1fr)}.time-slot{flex-wrap:wrap}.time-slot label{flex-basis:40%}}
/* Consolidated working surface: one task area at a time. */
.admin-header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:100px;border-bottom:1px solid var(--line)}.admin-header>div{display:flex;gap:24px;flex-wrap:wrap;font-size:14px;color:var(--blue)}.admin-page .care-page{max-width:1100px}.admin-title{padding:28px 0 14px}.admin-title h1{font-size:clamp(34px,4vw,48px);color:var(--blue);margin:0 0 12px}.admin-title p{font-size:14px;color:#536173;margin:0}.admin-tabs{display:flex;gap:0;border-bottom:1px solid #b6bdd0;margin:12px 0 20px;overflow:auto}.admin-tabs a{white-space:nowrap;padding:14px 18px;color:#526071;font-weight:600;border-bottom:3px solid transparent;font-size:15px}.admin-tabs a[aria-current=page]{color:var(--blue);border-color:var(--blue);background:#eeeff8}.admin-page .care-block{padding:22px 0 35px;border-bottom:0;scroll-margin-top:20px}.admin-page .care-block[hidden]{display:none}.admin-page .care-block h2{font-size:34px;margin-bottom:18px}.admin-page .care-block form{margin:22px 0}.admin-page .management-status{font-size:14px;padding:10px 14px;margin:0}.admin-page .secondary-tool{margin-top:28px;padding:20px 0;border-top:1px solid var(--line)}.admin-page .secondary-tool>summary{color:var(--blue);font-size:17px}.admin-page .secondary-tool>p{margin-top:20px}.admin-footer{padding-top:30px;padding-bottom:30px;color:#66717d;font-size:13px;border-top:1px solid var(--line);margin-top:40px}.admin-page .hero-actions .button{width:auto}.admin-page .publish-box{padding:20px}.admin-page .publish-box h3{font-size:24px}.admin-page .saved-special h4{font-size:24px}.admin-page .saved-actions{flex-direction:row;flex-wrap:wrap}.admin-page .saved-special .saved-actions{align-items:center}.admin-page #special-form~#saved-specials{margin:28px 0}.admin-page .care-block .eyebrow{display:none}@media(max-width:760px){.admin-header{min-height:85px;padding-top:16px;padding-bottom:16px}.admin-header>div{flex-direction:column;gap:6px;font-size:13px}.admin-tabs{margin-right:-22px;margin-left:-22px;padding:0 12px}.admin-tabs a{font-size:14px;padding:12px}.admin-title{padding:24px 0 8px}.admin-page .care-block h2{font-size:30px}.admin-page .care-block form{padding:16px}.admin-page .hero-actions{gap:10px}.admin-page .hero-actions .button{width:100%}}
@media(max-width:760px){.admin-tabs{display:grid;grid-template-columns:1fr 1fr;margin:12px 0 20px;padding:0;overflow:visible}.admin-tabs a{white-space:normal}.admin-tabs a:last-child{font-weight:500}.special-filter-label{max-width:350px}}

.special-repeat{border:1px solid #d8dbe3;padding:1.25rem;margin:1rem 0 1.5rem}.special-repeat legend{font-weight:600;padding:0 .4rem}.weekday-picker{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0 1.25rem}.weekday-picker label{position:relative;cursor:pointer;margin:0}.weekday-picker input{position:absolute;width:1px;height:1px;opacity:0}.weekday-picker span{display:grid;place-items:center;min-width:48px;min-height:46px;border:1px solid #a8afc4;border-radius:8px}.weekday-picker input:checked+span{color:#fff;background:var(--blue,#172da6);border-color:var(--blue,#172da6)}.weekday-picker input:focus-visible+span{outline:3px solid #cc7928;outline-offset:3px}.special-repeat select{max-width:320px}

.legal-page{padding-top:3rem;padding-bottom:5rem}.legal-heading{padding-bottom:2.5rem;border-bottom:1px solid #d8dbe3;margin-bottom:2.5rem}.legal-heading h1{font-size:clamp(2.6rem,6vw,5rem);overflow-wrap:anywhere}.legal-layout{display:grid;grid-template-columns:240px minmax(0,760px);gap:5rem}.legal-nav{display:flex;flex-direction:column;gap:.9rem;align-self:start;position:sticky;top:2rem}.legal-nav a{color:var(--blue,#172da6);text-decoration:none}.legal-copy section{margin-bottom:2.5rem;scroll-margin-top:2rem}.legal-copy h2{font-size:1.65rem;margin-bottom:.8rem}.legal-copy p{line-height:1.75;margin-bottom:1rem}.legal-copy a{overflow-wrap:anywhere;text-decoration:underline}.legal-notice{padding:1.1rem;background:#eceef7;border-left:3px solid #172da6;font-size:.95rem}@media(max-width:760px){.legal-layout{grid-template-columns:1fr;gap:2rem}.legal-nav{position:static;border-bottom:1px solid #d8dbe3;padding-bottom:1.5rem}.legal-page{padding-top:2rem}.special-repeat{padding:.8rem}}

.story-editor{border:1px solid #d8dbe3;padding:1rem;margin:1rem 0}.story-editor>summary{font-weight:600;cursor:pointer}.story-editor[open]>summary{margin-bottom:1rem}.story-editor-image{display:block;max-width:360px;width:100%;max-height:230px;object-fit:contain;margin:.75rem 0}.story-editor label small{font-size:.85rem;line-height:1.5;color:#526071}#story-preview{z-index:20}

/* Tour partner details stay secondary to the guest journey. */
.partner-trigger{border-top:0;border-left:0;border-right:0;background:transparent;text-align:left;justify-content:flex-start;font-size:14px;font-weight:400}
#partner-dialog{padding-top:60px;overscroll-behavior:contain}
#partner-dialog p{line-height:1.7;color:#526071}
#partner-dialog .button{margin-top:8px}
html:has(#partner-dialog[open]){overflow:hidden}

/* Compact weekly opening hours with kitchen times on the same row. */
.weekly-hours>div{align-items:start;padding:13px 0;font-size:16px}
.weekly-hours dt{font-weight:500}
.weekly-hours dd{min-width:0}
.weekly-hours dd small{display:block;font-size:14px;font-weight:400;color:#526071;margin-top:3px;line-height:1.5}
.hours-exceptions{margin-top:24px;padding:20px;border-left:3px solid var(--blue);background:#eeeff8}
.hours-exceptions h3{font-size:27px;margin:0 0 14px}
.hours-exceptions article+article{margin-top:16px;padding-top:16px;border-top:1px solid #cdd2e1}
.hours-exceptions p{font-size:14px;margin:4px 0 0;line-height:1.6}
@media(max-width:420px){.weekly-hours>div{display:block}.weekly-hours dd{text-align:left;margin-top:5px}.hours-exceptions{padding:16px}}

/* Keep editable label fragments in one typographic flow. */
.button-label{display:block;min-width:0}.button-label [data-cms-id]{display:inline}.button>[aria-hidden],.text-link>[aria-hidden]{flex:none}.hero-stamp .stamp-label{display:block}.hero-stamp .stamp-label [data-cms-id]{display:inline}

/* Social profiles: one compact, accessible pair in every public footer. */
.footer-social{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:18px}.footer-social a{display:inline-flex;align-items:center;gap:9px;min-height:44px;font-size:14px;line-height:1.4;text-decoration:none}.footer-social svg{width:19px;height:19px;flex:none}.footer-social a:hover span{text-decoration:underline;text-underline-offset:5px}.footer-social a:focus-visible{outline:2px solid var(--yellow);outline-offset:5px;border-radius:2px}

/* Clearer routes through the site, keeping its existing visual language. */
.quick-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px 28px;margin-top:26px}.quick-actions .text-link{margin:0}.page-intro.compact-intro{padding-top:28px;padding-bottom:32px}.compact-intro h1{font-size:clamp(40px,5vw,64px);margin-bottom:22px}.dates-intro .intro-bottom{margin-top:20px}.intro-hours{margin-top:18px;font-size:14px}.section-jumps{display:flex;flex-wrap:wrap;gap:12px 30px;margin-top:24px;padding-top:18px;padding-bottom:18px;border-block:1px solid var(--line)}.section-jumps a{color:var(--blue);font-weight:600;font-size:15px;padding:6px 0}.section-jumps a:hover{text-decoration:underline;text-underline-offset:5px}.section-jumps+#fahrten{padding-top:45px}.family-jumps a{display:inline-block;padding-block:8px;text-decoration:underline;text-underline-offset:5px}.family-jumps a:hover{color:var(--blue)}[id^=person-],#fragen,#erlebnisfahrten,#fahrten,#zeiten{scroll-margin-top:24px}.footer [data-hours-today]{color:#eef0ff}.compact-shop-cta{padding-top:24px;padding-bottom:24px;gap:24px}.compact-shop-cta .eyebrow{margin-bottom:8px}.compact-shop-cta h2{font-size:clamp(28px,3vw,38px);margin-bottom:10px}.compact-shop-cta p{font-size:15px;margin-bottom:0}.compact-shop-cta .cta-actions{min-width:0}
[data-all-events]{display:block}.event-month+ .event-month{margin-top:42px}.event-month>h2{font-family:var(--sans);font-weight:600;font-size:22px;padding-bottom:15px;margin:0 0 24px;border-bottom:1px solid var(--line);color:var(--blue)}.event-short-notice{background:#f3eed4;padding:12px 14px;border-left:3px solid #ae8432;font-size:14px;line-height:1.5}.event-short-notice a{text-decoration:underline;white-space:nowrap}
.fixed-ride-summary{padding:18px 20px;background:#eeeff7;border-left:3px solid var(--blue);margin-bottom:22px}.fixed-ride-summary h3{font-family:var(--sans);font-size:20px;line-height:1.4;margin:0 0 8px}.fixed-ride-summary p{font-size:15px;line-height:1.6;margin:4px 0}.inquiry-fixed-field{display:none!important}.inquiry-fixed #inquiry-schedule-note{display:none}.inquiry-fixed .form-grid{grid-template-columns:1fr}.inquiry-fixed .form-grid>label:has([name=Personen]){max-width:240px}
.care-block form:has(>.care-save-actions){overflow:visible}.admin-page .care-save-actions{position:sticky;bottom:0;z-index:5;padding:14px;margin:26px -14px -14px;background:#fffffff5;border-top:1px solid #d9ddea;box-shadow:0 -8px 22px #172da608;gap:10px;align-items:center}.admin-page .care-save-actions .button{padding:12px 16px;font-size:14px}.care-action-status{flex-basis:100%;font-size:14px;margin:0;color:#40544b;line-height:1.5}.care-action-status:empty{display:none}.care-action-status.error{color:#a31818}.weekday-copy-button{font-size:13px!important;margin-top:5px}.week-copy-dialog{width:min(480px,94vw);border:0;padding:26px;background:var(--paper);max-height:90dvh;overflow:auto}.week-copy-dialog::backdrop{background:#17263a88}.week-copy-dialog h2{font-size:30px;margin-bottom:12px}.week-copy-dialog .weekday-picker{margin:20px 0}.week-copy-dialog .hero-actions{gap:12px}.week-copy-dialog .button{font-size:14px;padding:12px 16px}
@media(max-width:760px){.home-intro h1{font-size:clamp(44px,12vw,48px);line-height:1.07}.home-intro .hero-copy{padding-top:0}.home-intro .hero-copy p{margin-top:24px}.quick-actions{gap:14px 20px}.quick-actions .button{padding:13px 17px}.compact-intro h1{font-size:42px}.section-jumps{gap:8px 22px;padding-top:12px;padding-bottom:12px}.section-jumps a{font-size:14px}.compact-shop-cta .cta-actions{margin-top:18px}.compact-shop-cta h2{font-size:30px}.event-month>h2{font-size:21px}.event-month+.event-month{margin-top:30px}#inquiry-form label:has([name=Anlass]),#inquiry-form label:has([name=Personen]){grid-column:1/-1}#inquiry-form input,#inquiry-form select,#inquiry-form textarea{font-size:16px}#inquiry-form .form-grid{gap:18px}#inquiry .dialog-close{width:44px;height:44px}.hero-slider-dots button{min-width:32px;min-height:44px}.hero-slider-toggle{min-width:44px;min-height:44px}.hero-slider-arrow{min-width:44px;min-height:44px}.admin-page .care-save-actions{padding:12px 8px;gap:8px}.admin-page .care-save-actions .button{width:auto;flex:1;min-width:135px}.admin-page .care-save-actions .text-link{flex-basis:100%;text-align:center}}
.instagram-toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:22px 0 32px}.instagram-dialog{width:min(820px,94vw);max-height:90dvh;overflow:auto;padding:38px;border:0;background:var(--paper)}.instagram-dialog::backdrop{background:#17263a99}.instagram-dialog h2{font-size:clamp(30px,4vw,44px)}.instagram-dialog p{font-size:16px;line-height:1.6}.instagram-dialog .small-note{font-size:14px}.instagram-dialog .check-label{display:flex;gap:12px;align-items:center;margin:18px 0}.instagram-dialog .check-label input{width:20px;height:20px;flex-shrink:0}.instagram-dialog .hero-actions{flex-wrap:wrap;gap:12px;margin:22px 0}.instagram-dialog .button{font-size:15px;padding:14px 18px}.instagram-dialog #instagram-state{padding:14px 18px;background:#eef0fa;border-left:3px solid var(--blue)}#instagram-warnings:empty{display:none}@media(max-width:600px){.instagram-dialog{padding:28px 20px}.instagram-toolbar .button{width:100%}}

/* Printed menu import lives beside the existing menu editor. */
.menu-import-toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:24px 0}
.menu-clear-tool{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:28px 0;padding-top:20px;border-top:1px solid var(--line,#d7d9df)}
.menu-clear-tool .text-link{color:#9c302a}
.menu-import-dialog{width:min(760px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:32px;border:1px solid #d7d9df;border-radius:18px}
.menu-import-dialog h2{font-size:clamp(1.7rem,4vw,2.6rem);margin:14px 0 20px}
.menu-import-dialog .photo-preview{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}
.menu-import-dialog figure{margin:0;min-width:0}.menu-import-dialog figcaption{font-size:.85rem;overflow-wrap:anywhere}
.menu-import-dialog .photo-preview img{height:130px;object-fit:contain;background:#f4f4f4}
.menu-import-results{padding-left:22px}.menu-import-results li{margin:12px 0}
.menu-import-dialog .danger{background:#9c302a;border-color:#9c302a}
.menu-import-dialog button:disabled{opacity:.55;cursor:wait}
@media(max-width:600px){.menu-import-dialog{padding:24px 18px}.menu-import-dialog .hero-actions{align-items:stretch}.menu-import-dialog .hero-actions button{width:100%}}
.event-source-row{border:1px solid #d7d9df;border-radius:12px;padding:16px 18px;margin:18px 0;min-width:0}
.event-source-row legend{font-size:.85rem;color:#536075;padding:0 6px}
.event-source-row label{margin-bottom:12px}.event-source-row input{min-width:0}
#event-sources-editor,#instagram-source-settings{border-top:1px solid #d7d9df;margin-top:24px;padding-top:20px}

.juice-feature{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(28px,5vw,80px);padding-top:44px;padding-bottom:44px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);scroll-margin-top:28px}
.juice-feature-heading h2{font-size:clamp(34px,4vw,54px);line-height:1.1;margin:0;max-width:520px}
.juice-feature-copy{border-left:3px solid var(--yellow,#f0e77c);padding-left:28px}
.juice-feature-copy h3{font-size:clamp(27px,3vw,36px);line-height:1.2;margin:0 0 16px;color:var(--blue)}
.juice-feature-copy p{max-width:640px;margin-bottom:16px}
.juice-menu-note{display:flex;align-items:center;gap:32px;justify-content:space-between;background:#f2efd9;padding:24px 28px;margin-bottom:28px;border-radius:4px}
.juice-menu-note h3{font-size:26px;margin:0 0 8px;color:var(--blue)}
.juice-menu-note p{font-size:16px;line-height:1.6;max-width:750px;margin:0}
.juice-menu-note>.text-link{flex-shrink:0}
@media(max-width:760px){.juice-feature{grid-template-columns:1fr;padding-top:28px;padding-bottom:28px;gap:24px}.juice-feature-copy{padding-left:20px}.juice-menu-note{align-items:flex-start;flex-direction:column;gap:18px;padding:20px}.juice-menu-note>.text-link{flex-shrink:1}}

/* Table inquiries: show the actual earliest date next to the occasion fields. */
.inquiry-table-note{grid-column:1/-1;margin:0;padding:14px 17px;background:#eef0fa;border-left:3px solid var(--blue);font-size:15px;line-height:1.6}.inquiry-table-note[hidden]{display:none}.inquiry-table-note a{color:var(--blue);font-weight:600;white-space:nowrap}

/* Keep the primary visit action distinct from the related information links. */
.visit-quick-links{display:flex;align-items:center;flex-wrap:wrap;gap:12px 28px}
.visit-quick-links .text-link{padding-block:8px}
@media(max-width:760px){.visit-actions{align-items:flex-start;flex-direction:column;gap:12px}.visit-quick-links{gap:12px 24px}}

/* The primary header action must remain legible in every interaction state. */
.site-header .nav .button:hover,.site-header .nav .button:focus-visible,.site-header .nav .button[aria-current=page]{color:#fff;text-decoration:none;background:#0e207e}

/* A deliberately discreet, but keyboard- and screen-reader-accessible admin entrance. */
.admin-entry-link{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;color:#8290d7;text-decoration:none!important;font-size:0}
.admin-entry-link:before{content:'·';font-size:18px;line-height:1}
.admin-entry-link:hover,.admin-entry-link:focus-visible{color:var(--yellow);background:#ffffff14}

/* Besuch planen: one clear path from arrival, through opening hours, to directions. */
.visit-hero{display:grid;grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr);gap:72px;align-items:center;padding-top:26px;padding-bottom:78px}
.visit-hero-copy{padding:18px 0 28px}
.visit-hero-copy h1{font-size:clamp(58px,6.3vw,88px);color:var(--blue);margin-bottom:24px}
.visit-hero-copy>p{max-width:500px;font-size:18px;line-height:1.8;margin-bottom:0}
.visit-hero-media{margin:0;min-width:0;aspect-ratio:3/2;overflow:hidden;border-radius:150px 150px 0 0}
.visit-hero-media img{height:100%;object-fit:cover;object-position:center}
.visit-actions{margin-top:30px}
.visit-parking-link{margin-top:22px}
.visit-info-links{margin-top:22px}
.visit-info-links .visit-parking-link{margin-top:0;white-space:nowrap}
.visit-hours{background:#e9edf8;padding:76px 0 80px;scroll-margin-top:24px}
.visit-hours-layout{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(440px,1.28fr);gap:86px;align-items:start}
.visit-hours-intro h2{font-size:clamp(48px,5.2vw,68px);color:var(--blue);margin-bottom:0}
.visit-hours-content{background:var(--paper);padding:30px 38px 34px}
.visit-hours-content .hours{margin-bottom:14px}
.visit-hours-content .weekly-hours>div:first-child{padding-top:0}
.visit-hours-content .weekly-hours>div:last-child{border-bottom:0}
.visit-hours-content .hours-exceptions{margin:22px -20px -20px;padding:17px 20px 15px;background:#f3eed4;border-left:0;border-top:1px solid #dad4b9}
.visit-hours-content .hours-exceptions h3{font:700 15px/1.3 var(--sans);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}
.visit-hours-content .hours-exceptions article{display:grid;grid-template-columns:minmax(140px,.72fr) minmax(0,1.28fr);gap:2px 16px;padding:10px 0}
.visit-hours-content .hours-exceptions article+article{margin-top:0;padding-top:10px}
.visit-hours-content .hours-exceptions article strong{grid-row:1/span 4;font-size:14px;line-height:1.45}
.visit-hours-content .hours-exceptions article p{font-size:13px;line-height:1.45;margin:0}
.visit-hours-content .agenda-hours-entry{margin:0 0 18px}
.visit-contact-card{margin-top:42px;padding-top:28px;border-top:1px solid #aeb8d3}
.visit-contact-card .eyebrow{color:var(--blue);margin-bottom:12px}
.visit-contact-card p{font-size:16px;line-height:1.75;margin-bottom:20px}
.visit-contact-card a:not(.button){text-decoration:underline;text-underline-offset:4px}.visit-contact-actions{display:grid;gap:10px;justify-items:start}.visit-contact-actions .button{width:min(100%,230px);justify-content:space-between}
.visit-location{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:90px;align-items:start;padding-top:84px;padding-bottom:36px}
.visit-location-heading h2{font-size:clamp(45px,5vw,62px);color:var(--blue);margin-bottom:0}
.visit-location-details{display:grid;grid-template-columns:.82fr 1.18fr;gap:24px;align-items:stretch}
.visit-location-address{border-top:1px solid var(--blue);padding:26px 4px 20px}
.visit-location-address p{font-size:21px;line-height:1.7;margin-bottom:24px}
.visit-parking-card{background:#f0efde;padding:28px}
.visit-parking-card p{margin:0 0 20px;line-height:1.75}
.village-impression{padding-top:72px}
@media(max-width:1000px){
 .visit-hero{gap:42px;grid-template-columns:minmax(0,.92fr) minmax(380px,1.08fr)}
 .visit-hours-layout{gap:48px;grid-template-columns:minmax(250px,.75fr) minmax(400px,1.25fr)}
 .visit-location{gap:48px}
 .visit-location-details{grid-template-columns:1fr}
}
@media(max-width:760px){
 .visit-hero{grid-template-columns:1fr;gap:28px;padding-top:20px;padding-bottom:52px}
 .visit-hero-copy{padding:4px 0 0}
 .visit-hero-copy h1{font-size:54px}
 .visit-hero-copy>p{font-size:16px}
 .visit-hero-copy>p br{display:none}
 .visit-hero-media{grid-row:2;aspect-ratio:4/3;border-radius:96px 96px 0 0}
 .visit-actions{align-items:stretch;flex-direction:row;gap:10px}
 .visit-actions .button{width:auto;flex:1;padding-inline:13px}
 .visit-parking-link{margin-top:18px}
 .visit-info-links{margin-top:18px}
 .visit-hours{padding:52px 0 56px}
 .visit-hours-layout{display:flex;flex-direction:column;gap:26px}
 .visit-hours-intro{display:contents}
 .visit-hours-intro>.eyebrow{order:1;margin-bottom:-10px}
 .visit-hours-intro>h2{order:2}
 .visit-hours-content{order:3}
 .visit-contact-card{order:4}
 .visit-hours-intro h2{font-size:47px}
 .visit-contact-card{margin-top:4px;padding-top:24px}
 .visit-hours-content{padding:24px 22px 28px}
 .visit-hours-content .hours-exceptions{margin:20px -14px -20px;padding:16px 14px}
 .visit-hours-content .hours-exceptions article{display:block;padding:10px 0}
 .visit-hours-content .hours-exceptions article p{margin-top:3px}
 .visit-hours-content .agenda-hours-entry .button{width:100%}
 .visit-location{grid-template-columns:1fr;gap:28px;padding-top:56px;padding-bottom:0}
 .visit-location-details{gap:18px}
 .visit-location-address{padding-top:22px}
 .visit-parking-card{padding:24px}
 .village-impression{padding-top:58px}
}
@media(max-width:390px){.visit-actions{flex-direction:column}.visit-actions .button{width:100%}}

[data-season-title]{white-space:pre-line}
.tour-group-offer{padding:24px 28px;margin:26px 0 0;background:#e9edf8;border-left:3px solid var(--blue);scroll-margin-top:24px}
.tour-group-offer h3{font-family:var(--sans);font-size:20px;color:var(--blue);margin:0 0 8px}
.tour-group-offer p{font-size:16px;line-height:1.7;margin:0;max-width:850px}
@media(max-width:760px){.tour-group-offer{padding:20px}.tour-group-offer h3{font-size:19px}.tour-group-offer p{font-size:15px}}

/* Wine sales share the Weinstube opening hours; personal contacts stay visible. */
.wine-sales-panel{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:40px;padding:30px 36px;background:#e9edf8;scroll-margin-top:24px}
.wine-sales-copy h2,.wine-sales-copy h3{color:var(--blue);font-size:clamp(28px,3vw,38px);margin:0 0 14px}
.wine-sales-copy p{font-size:16px;line-height:1.7;max-width:520px;margin:0 0 14px}
.wine-sales-hours{font-size:14px}
.wine-sales-note{font-size:14px;line-height:1.6;margin:0 0 12px}
.wine-sales-main{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;background:var(--blue);color:white;min-height:48px;font-size:15px;text-decoration:none}
.wine-sales-main strong{font-size:21px;white-space:nowrap}
.wine-sales-people{display:flex;gap:14px 26px;flex-wrap:wrap;margin-top:14px}
.wine-sales-people a{display:flex;flex-direction:column;gap:2px;min-height:44px;color:var(--blue);font-size:14px;text-decoration:none}
.wine-sales-people a>span:last-child{text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
.wine-sales-main:focus-visible,.wine-sales-people a:focus-visible{outline:3px solid #bf781f;outline-offset:4px}
.wine-sales-compact{grid-template-columns:1fr;gap:6px;margin-top:32px;padding:24px 0 0;border-top:1px solid var(--line);background:transparent}
.wine-sales-compact .wine-sales-copy h3{font-size:27px}
.wine-sales-compact .wine-sales-copy p{font-size:15px}
.wine-sales-compact .wine-sales-note{font-size:13px}
.home-wine-sales{border-top:1px solid var(--line);padding-top:14px;margin:18px 0 0;font-size:14px!important;line-height:1.6}
.home-wine-sales a{display:block;color:var(--blue);text-decoration:underline;text-underline-offset:4px;margin-top:4px}
/* Use one compact gap between the complete home cards and the next trips. */
#erleben{padding-bottom:32px}
#erleben+.home-next-events{padding-top:0}
@media(max-width:760px){
 .wine-sales-panel{grid-template-columns:1fr;gap:16px;padding:24px}
 .wine-sales-copy h2{font-size:31px}.wine-sales-copy p{font-size:15px}
 .wine-sales-compact{padding:24px 0 0;gap:6px}
 .wine-sales-main{padding:12px 14px}.wine-sales-main strong{font-size:20px}
}

/* Give the two tour headline sentences room on desktop. */
@media(min-width:1000px){.tour-film-hero .tour-hero-copy{max-width:740px}}

/* Compact guest reviews and the restaurant's wine introduction. */
.google-reviews{grid-template-columns:minmax(0,1fr) minmax(230px,.85fr) minmax(220px,.8fr);gap:32px;padding-top:32px;padding-bottom:32px;border-bottom:1px solid var(--line)}
.google-reviews .eyebrow{margin-bottom:10px;font-size:11px;letter-spacing:1.4px}
.google-reviews h2{font-size:36px;margin:0;color:var(--blue)}
.google-reviews .google-rating{padding:0 28px;background:transparent;text-align:left;border-inline:1px solid var(--line)}
.google-reviews .google-attribution{font-size:12px}
.google-reviews .rating-summary{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin-top:8px}
.google-reviews .rating-number{margin:0;gap:6px;justify-content:flex-start}
.google-reviews .rating-number strong{font-size:48px}
.google-reviews .rating-number>span{font-size:13px}
.google-reviews .rating-stars{font-size:20px;letter-spacing:1px;margin:0}
.google-reviews .rating-count{font-size:14px;margin:5px 0 0}
.google-reviews .rating-date{font-size:12px;margin:4px 0 0}
.reviews-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.reviews-actions .text-link{font-size:14px;gap:12px}
.reviews-actions .button{padding:11px 16px}
.google-reviews .review-login-note{font-size:12px;line-height:1.5;margin:0;max-width:245px}
.pairing-compact{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:48px;align-items:center;text-align:left;padding-top:24px;padding-bottom:36px}
.pairing-compact .eyebrow{font-size:11px;letter-spacing:1.4px;margin-bottom:10px}
.pairing-compact h2{font-size:36px;margin:0}
.pairing-compact p{font-size:16px;line-height:1.6;margin:0 0 12px;max-width:600px}
@media(max-width:1000px) and (min-width:761px){.google-reviews{grid-template-columns:1fr 1fr;gap:24px}.google-reviews .google-rating{border-right:0}.reviews-actions{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;align-items:center;gap:16px 24px}.google-reviews .review-login-note{max-width:none}.pairing-compact{gap:28px}}
@media(max-width:760px){.google-reviews{grid-template-columns:1fr;gap:20px;padding-top:28px;padding-bottom:28px}.google-reviews h2{font-size:32px}.google-reviews .google-rating{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0}.google-reviews .rating-number strong{font-size:42px}.google-reviews .rating-summary{margin-top:4px}.reviews-actions{gap:10px}.pairing-compact{grid-template-columns:1fr;gap:16px;padding-top:20px;padding-bottom:28px}.pairing-compact h2{font-size:32px}.pairing-compact p{font-size:15px;line-height:1.6;margin-bottom:10px}}

/* Explain unavailable weekdays on hover, keyboard focus and touch. */
.weekday-picker label.is-unavailable{cursor:not-allowed}
.weekday-picker input:disabled+span{background:#eef0f3;color:#68717f;border-color:#d5d9e1;text-decoration:line-through}
.weekday-picker label:focus-visible{outline:3px solid #cc7928;outline-offset:3px;border-radius:8px}
.weekday-picker .weekday-hint{display:none;position:absolute;left:0;bottom:calc(100% + 8px);z-index:8;width:230px;max-width:70vw;padding:10px 12px;background:#17263a;color:#fff;border-radius:8px;font-size:13px;line-height:1.45;font-weight:400;box-shadow:0 4px 15px #17263a25;pointer-events:none}
.weekday-picker label:nth-last-child(-n+3) .weekday-hint{left:auto;right:0}
.weekday-picker label:hover .weekday-hint:not([hidden]),.weekday-picker label:focus-within .weekday-hint:not([hidden]){display:block}
@media(max-width:600px){.special-repeat .weekday-picker{position:relative}.special-repeat .weekday-picker label{position:static}.special-repeat .weekday-picker .weekday-hint{left:0;right:auto;bottom:calc(100% + 8px);width:min(260px,100%);max-width:100%}}

/* Contact details are the second step of every visit inquiry. */
#inquiry-contact-step{border:0;padding:0;margin:0;min-width:0}
#inquiry-contact-step legend{font-family:var(--sans);font-size:20px;font-weight:600;padding:0}
#inquiry-contact-step .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.inquiry-step-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
@media(max-width:600px){#inquiry-contact-step .form-grid{grid-template-columns:1fr}.inquiry-step-actions .button{width:100%;justify-content:center}}

/* Show ongoing weekly offers beside their individual occurrence. */
.dish-recurrence,.menu-daily-list .dish-recurrence,.agenda-copy .agenda-recurrence{font:600 13px/1.5 var(--sans);color:var(--blue);margin:5px 0 8px}.today-recurrence{font:500 .7em/1.3 var(--sans)}

/* Occasion and compact party size share a row, including on phones. */
#inquiry-form .inquiry-occasion-row{display:grid;grid-template-columns:minmax(0,1fr) clamp(100px,22%,120px);gap:16px;grid-column:1/-1}
#inquiry-form .inquiry-occasion-row>label{grid-column:auto;min-width:0}
#inquiry-form.inquiry-fixed .inquiry-occasion-row{grid-template-columns:minmax(0,160px)}
@media(max-width:760px){#inquiry-form .inquiry-occasion-row{gap:12px}}

/* Inquiry controls wait for the maintained list; contact links stay available. */
body:not([data-inquiry-types-ready]) [data-inquiry]{visibility:hidden}
.inquiry-types-fallback{padding:18px 22px;background:#eef0fa;border-left:4px solid #172da6;margin:22px 0}.inquiry-types-fallback a{white-space:nowrap}
