:root{--ci-blue:#24475c;--ink:#24475c;--deep:#24475c;--cream:#f6f3ed;--sand:#ece8df;--text:#56666f;--line:#d9d9d2;--surface:#fbf9f5;--muted:#5e727e;--strong:#24475c;--on-strong:#f6f3ed;--button-bg:#24475c;--button-text:#faf8f2;--border-strong:#aab9be;--serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;--focus:#aa8860;color-scheme:light}
html[data-theme=dark]{--ink:#e8edf0;--deep:#182f3d;--cream:#101f29;--sand:#192e3b;--text:#becbd1;--line:#344b59;--surface:#142630;--muted:#a5b8c2;--strong:#1b3545;--on-strong:#f1f2ec;--button-bg:#c0d0d8;--button-text:#142c3c;--border-strong:#58717f;--focus:#d4b78d;color-scheme:dark}
body{background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:15px;transition:background-color .25s,color .25s}h1,h2,h3{font-weight:400}h2{letter-spacing:-.035em}::selection{background:#c8d6dc;color:#173444}.header{height:96px;padding:0 4%;gap:24px;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:none}.brand{width:167px}.brand img{mix-blend-mode:multiply}.desktop-nav{gap:27px;font-size:12px}.header-actions{gap:22px}.preferences{display:flex;align-items:center;gap:16px}.language-switch{display:flex;align-items:center;gap:7px;font-size:10px;letter-spacing:.1em;line-height:1}.language-switch a{display:flex;align-items:center;min-width:24px;min-height:36px;color:var(--muted);transition:color .2s}.language-switch a.active{color:var(--ink);text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}.language-switch a:hover{color:var(--ink)}.language-switch>span{color:var(--line);font-size:13px}.theme-toggle{display:flex;align-items:center;justify-content:center;gap:6px;min-width:36px;min-height:36px;padding:5px;color:var(--ink);border-radius:50%;transition:background .2s}.theme-toggle:hover{background:var(--sand)}.theme-toggle svg{width:19px;height:19px;display:block}.theme-label{display:none}.theme-sun{display:block}.theme-moon{display:none}html[data-theme=dark] .theme-sun{display:none}html[data-theme=dark] .theme-moon{display:block}html[data-theme=dark] .brand img{filter:invert(1) grayscale(1);mix-blend-mode:screen}.button{padding:13px 21px;min-height:46px;border-radius:3px;font-size:11px;letter-spacing:.045em;font-weight:400;gap:26px;border-width:1px;transition:color .2s,background .2s,border-color .2s,transform .2s}.button span{font-size:18px}.button:hover{transform:translateY(-1px)}.button-dark{background:var(--button-bg);color:var(--button-text);border-color:var(--button-bg)}.button-dark:hover{background:var(--ink);color:var(--cream);border-color:var(--ink)}.button-cream{background:#f6f3ed;color:#24475c;border-color:#f6f3ed}.button-cream:hover{background:#fffdf7;border-color:#fffdf7}.button-outline{color:#fffdf7;border-color:#edece4a8;background:transparent}.button-outline:hover{background:#f8f6ef17}.button-border{border-color:var(--border-strong);color:var(--ink)}.button-border:hover{background:var(--sand)}.header .button{padding:12px 19px;font-size:11px;gap:21px}.menu-toggle span{background:var(--ink)}.mobile-nav{background:var(--surface);box-shadow:0 12px 28px #0d243014}.mobile-nav a{border-color:var(--line)}.mobile-booking{display:none}.hero{height:min(770px,calc(100svh - 96px));min-height:610px}.hero-shade{background:linear-gradient(90deg,#122d3ab3,#1d35453b 63%,#152b3914),linear-gradient(0deg,#122a3866,transparent 45%)}.hero-content{padding-top:105px}.hero h1{font-size:clamp(68px,7.7vw,116px);line-height:.99;letter-spacing:-.035em;margin:28px 0 29px}.hero-copy{font-size:14px;letter-spacing:.01em}.hero-buttons{margin-top:30px;gap:12px}.hero .button{padding:14px 23px;min-height:48px}.hero .eyebrow{color:#f7f5ef}.hero-bottom{color:#eceee8;border-color:#e9eeea5c;padding:20px 0}.eyebrow{font-size:9px;letter-spacing:.2em}.green{color:var(--muted)}.section-pad{padding-top:105px;padding-bottom:105px}.intro h2{font-size:64px;line-height:1.02}.intro{padding-bottom:65px}.intro-text{padding-top:5px}.intro-text p{font-size:14px;line-height:1.95}.wave{font-family:Georgia,serif;color:#7a929f;font-size:42px;margin-bottom:26px}.text-link{font-size:11px;letter-spacing:.035em;gap:26px;border-color:var(--border-strong)}.text-link:hover{color:var(--muted)}.restaurant-images figcaption{color:var(--muted);font-size:17px}.restaurant-images img{border-radius:2px}.menu-section{border-color:var(--line)}.menu-content h2{font-size:58px;line-height:1.02}.menu-content>p:not(.eyebrow){font-size:14px;line-height:1.9}.menu-photo img{border-radius:2px}.photo-note{font-size:30px;background:var(--sand);box-shadow:0 8px 30px #152c3410}.menu-links strong{font-size:28px}.menu-links small{color:var(--muted)}.round-arrow{width:33px;height:33px;border-color:var(--border-strong);font-size:18px}.menu-links a:hover .round-arrow{background:var(--sand)}.events-section{background:var(--strong);color:var(--on-strong)}.events-top h2{font-size:64px;line-height:1.03}.events-top .eyebrow,.event-number{color:#bbccd6}.events-top>p,.event-details #event-copy,.event-list,.event-foot>span{color:#d2dce2}.event-tabs{border-color:#67818f}.event-tabs button{color:#b8cbd5;font-size:12px}.event-tabs button[aria-selected=true]{color:#f7f4ed}.event-tabs button[aria-selected=true]:after{background:#ede7db}.event-details h3{font-size:43px;line-height:1.07}.event-list li{border-color:#5e788654}.event-list li:before{color:#b9ced8}.event-foot{border-color:#6c859466}.light-link{border-color:#97aeba}.event-photo img{border-radius:2px}.section-title h2{font-size:56px}.gallery-item>span{font-size:22px}.gallery-item img{border-radius:2px}.gift-section{background:var(--sand)}.gift-mark{border-color:var(--border-strong);font-size:77px;color:var(--ink)}.gift-section h2{font-size:44px}.gift-section p:not(.eyebrow){color:var(--text)}.contact-heading h2{font-size:62px}.contact-data h3{font-size:26px}.contact-data .text-link{font-size:11px}.newsletter-section{padding:66px 7%;border-top:1px solid var(--line);background:var(--surface);display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.newsletter-copy .eyebrow{color:var(--muted)}.newsletter-copy h2{font-size:58px;line-height:1.1;margin:16px 0}.newsletter-copy>p:last-child{font-size:13px;line-height:1.9;max-width:410px;color:var(--text)}.newsletter-actions>.button{width:100%;justify-content:space-between;max-width:390px}.newsletter-note{font-size:11px;line-height:1.8;color:var(--muted);max-width:390px;margin:14px 0 23px}.social-links{display:flex;gap:27px}.social-links a{display:inline-flex;align-items:center;gap:9px;font-size:11px;letter-spacing:.03em;padding:9px 0;color:var(--ink)}.social-links svg{width:19px;height:19px}.social-links a>span:last-child{margin-left:7px;font-size:17px;transition:transform .2s}.social-links a:hover>span:last-child{transform:translate(2px,-2px)}.topic-directory{border-color:var(--line);background:var(--cream);gap:20px 30px;padding-top:27px;padding-bottom:27px}.topic-directory .text-link{font-size:10px;gap:12px}.topic-hero h1{font-size:62px;line-height:1.03;letter-spacing:-.035em}.topic-hero>img{border-radius:2px}.topic-hero>div>p:last-child{font-size:14px}.breadcrumbs{color:var(--muted)}.topic-copy h2,.topic-faq h2{font-size:43px}.topic-copy>p{font-size:14px;color:var(--text)}.topic-copy strong{color:var(--ink);font-weight:600}.topic-copy p .text-link{border-color:var(--border-strong);color:var(--ink);letter-spacing:normal}.topic-faq summary{font-size:15px}.topic-faq summary:after{color:var(--muted)}.topic-faq details p{color:var(--text);font-size:14px}.topic-end{background:var(--sand)}.topic-end h2{font-size:50px}th{background:var(--sand);color:var(--ink)}td{color:var(--text)}footer{background:var(--strong);color:var(--on-strong);padding-top:47px}.footer-top{border-color:#6b859266}.footer-brand{font-family:Georgia,serif;font-size:30px}.footer-top p{font-size:25px}.footer-bottom{color:#c1d0d8}.back-top{border-color:#8299a5}.reserve-dialog{background:var(--cream);color:var(--ink);box-shadow:0 18px 80px #071b2540;border-radius:5px;padding:48px}.reserve-dialog h2{font-size:45px}.reserve-dialog .dialog-note{color:var(--muted)}.dialog-event{border-color:var(--line)}.gallery-dialog{background:#142d3c;color:#f5f1e8}.gallery-controls button{border-color:#668294}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline-color:var(--focus)}dialog::backdrop{background:#091c2ab8}.mobile-nav a:hover{color:var(--muted)}
@media(max-width:1200px){.header{gap:18px;padding:0 3%}.brand{width:148px}.desktop-nav{gap:19px;font-size:11px}.header-actions{gap:15px}.preferences{gap:11px}.header .button{padding:12px 15px;gap:15px}.intro h2{font-size:56px}.menu-content h2{font-size:49px}.events-top h2{font-size:56px}.topic-hero h1{font-size:54px}}
@media(max-width:1050px){.desktop-nav{display:none}.menu-toggle{display:flex;flex-direction:column;gap:6px;width:32px;padding:5px;min-height:36px;justify-content:center}.menu-toggle span{height:1px;width:22px}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.header{height:88px;padding:0 5%}.brand{width:165px}.header-actions{gap:20px}.preferences{gap:17px}.mobile-nav{top:88px;padding:18px 6%}.section-pad{padding-top:80px;padding-bottom:80px}.hero{height:calc(100svh - 88px)}.intro h2{font-size:53px}.restaurant-images{padding-bottom:80px}.menu-content h2{font-size:45px}.events-top h2{font-size:54px}.event-details h3{font-size:38px}.newsletter-section{gap:8%}.newsletter-copy h2{font-size:51px}.contact-heading h2{font-size:53px}}
@media(max-width:800px){.header{height:80px}.brand{width:150px}.mobile-nav{top:80px}.hero{height:calc(94svh - 80px);min-height:610px}.hero-content{padding-top:105px}.hero h1{font-size:82px}.hero-copy{font-size:14px}.intro h2{font-size:57px}.intro{padding-bottom:55px}.menu-content h2{font-size:52px}.events-top h2{font-size:57px}.event-details h3{font-size:43px}.section-title h2{font-size:51px}.gift-section h2{font-size:40px}.contact-heading h2{font-size:57px}.newsletter-section{grid-template-columns:1fr;gap:30px;padding:55px 7%}.newsletter-copy>p:last-child{max-width:540px}.newsletter-actions>.button,.newsletter-note{max-width:480px}.newsletter-copy h2{font-size:54px}.topic-hero h1{font-size:53px}.topic-copy h2,.topic-faq h2{font-size:40px}.topic-end h2{font-size:47px}.footer-top p{font-size:22px}}
@media(max-width:600px){body{padding-bottom:calc(70px + env(safe-area-inset-bottom,0px))}.header{height:76px;padding:0 6%;gap:12px}.brand{width:130px}.header-actions{gap:13px}.preferences{gap:11px}.header-actions>.reserve-button{display:none}.language-switch{gap:5px;font-size:10px}.language-switch a{min-width:23px}.theme-toggle{min-width:32px;min-height:36px}.menu-toggle{width:28px;padding:3px}.mobile-nav{top:76px}.mobile-booking{position:fixed;display:grid;grid-template-columns:1fr 1fr;gap:10px;bottom:0;left:0;right:0;padding:11px 6% max(11px,env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);z-index:29;box-shadow:0 -6px 25px #0a293008}.mobile-booking .button{padding:11px 14px;min-height:44px;font-size:10px;gap:15px}.hero{height:calc(100svh - 146px);min-height:590px}.hero-content{padding-top:90px}.hero h1{font-size:65px}.hero .button{padding:13px 17px;gap:18px;font-size:10px}.hero-copy{font-size:12px}.hero-buttons{gap:10px}.hero-bottom{font-size:8px;padding:18px 0}.section-pad{padding-top:64px;padding-bottom:64px}.intro h2{font-size:48px}.menu-content h2{font-size:45px}.events-top h2{font-size:48px}.event-details h3{font-size:37px}.section-title h2{font-size:44px}.gift-section h2{font-size:40px}.contact-heading h2{font-size:50px}.newsletter-section{padding:45px 6%}.newsletter-copy h2{font-size:49px}.newsletter-actions .button{font-size:10px;padding:13px 17px}.social-links{gap:25px}.topic-hero h1{font-size:45px}.topic-copy h2,.topic-faq h2{font-size:36px}.topic-end h2{font-size:43px}.reserve-dialog{padding:38px 24px}.reserve-dialog h2{font-size:39px}.footer-top p{font-size:23px}.topic-directory{gap:14px 23px}}
@media(max-width:380px){.header{padding:0 5%;gap:8px}.brand{width:118px}.header-actions{gap:9px}.preferences{gap:7px}.hero h1{font-size:59px}.hero .button{padding:12px 13px;font-size:9px;gap:15px}.hero-content{padding-top:80px}.topic-hero h1{font-size:40px}.mobile-booking{padding-left:5%;padding-right:5%}.newsletter-actions .button{font-size:9px}}
@media(prefers-reduced-motion:reduce){body,.button,.theme-toggle,.social-links a>span:last-child{transition:none}}

.skip-link{background:var(--surface);color:var(--ink)}

/* The persistent mobile action bar replaces duplicate in-page actions. */
@media(max-width:600px){
  main .reserve-button,
  main .hero-buttons{display:none}
}

/* Curated original photography */
.hero-shade{background:linear-gradient(90deg,#0b2539cc,#122c4166 65%,#122c4133),linear-gradient(0deg,#10263888,transparent 50%)}
.hero-image{object-position:center 53%}.curated-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.curated-gallery .gallery-item{display:block!important;text-align:left}.curated-gallery .gallery-item img{height:360px;object-fit:cover}.curated-gallery .gallery-item>span{display:block;position:static;background:none;color:var(--ink);font-family:var(--serif);font-size:24px;line-height:1.2;padding:16px 0 0}.topic-photo-section{padding:20px 7% 80px}.topic-photo-section>h2{font-size:48px;margin-bottom:14px}.topic-photo-section>.eyebrow{margin-bottom:30px}.topic-hero>img{object-position:center 45%}
@media(max-width:900px){.curated-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 20px}.curated-gallery .gallery-item img{height:350px}}
@media(max-width:600px){.curated-gallery{grid-template-columns:1fr;gap:30px}.curated-gallery .gallery-item img{height:420px}.curated-gallery .gallery-item>span{font-size:24px}.topic-photo-section{padding:15px 6% 55px}.topic-photo-section>h2{font-size:39px}.hero-image{object-position:57% center}}
/* Even photo grid, independent of source orientation and caption length. */
.gallery-grid.curated-gallery{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:32px 24px}.curated-gallery .gallery-item{display:grid!important;grid-template-rows:auto 1fr;align-content:start;align-self:stretch;min-width:0;width:100%;margin:0;padding:0}.curated-gallery .gallery-item img{width:100%;height:auto!important;aspect-ratio:4/3;object-fit:cover;object-position:center;border-radius:3px}.curated-gallery .gallery-item>span{min-height:3.4em;padding:14px 0 12px;font-size:22px;line-height:1.2;border-bottom:1px solid var(--line)}
.social-links{gap:14px;flex-wrap:wrap}.social-links a{font-size:14px;min-height:50px;padding:12px 18px;border:1px solid var(--border-strong);border-radius:3px;gap:11px}.social-links svg{width:24px;height:24px}.social-links a:hover{background:var(--sand)}
.desktop-nav{gap:18px;font-size:11px}.desktop-nav a{white-space:nowrap}.desktop-nav a[aria-current=page]:after{right:0}.header{gap:18px}.wedding-detail{padding-top:25px;border-top:1px solid var(--line)}.wedding-next{display:flex;gap:28px;align-items:center;flex-wrap:wrap;padding:25px 0}.mobile-nav{max-height:calc(100dvh - 150px);overflow-y:auto}
@media(min-width:801px) and (max-width:1320px){.desktop-nav{display:none}.menu-toggle{display:flex;flex-direction:column;gap:6px;width:30px;padding:4px}.menu-toggle span{height:1px;width:22px}.mobile-nav{top:96px}}
@media(max-width:900px){.gallery-grid.curated-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 20px}.curated-gallery .gallery-item>span{font-size:21px}}
@media(max-width:600px){.gallery-grid.curated-gallery{grid-template-columns:minmax(0,1fr);gap:26px}.curated-gallery .gallery-item>span{min-height:0;font-size:23px;padding:13px 0 15px}.social-links{display:grid;grid-template-columns:1fr 1fr;gap:10px}.social-links a{font-size:13px;padding:12px;justify-content:center;gap:8px}.social-links a>span:last-child{margin-left:0}.wedding-next{display:grid;gap:20px}.wedding-next .button{white-space:normal}.wedding-detail{padding-top:20px}}
.hero-slide{opacity:0;transition:opacity 1s ease;pointer-events:none}.hero-slide.is-active{opacity:1}.hero-slider-controls{position:absolute;right:7%;bottom:90px;z-index:2;display:flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid #ffffff70;border-radius:3px;background:#102a3b80;color:white;backdrop-filter:blur(8px)}.hero-slider-controls button{display:grid;place-items:center;width:44px;height:44px;color:white;font-size:20px;padding:0}.hero-slider-controls button:hover{background:#ffffff1a}.hero-slider-controls [data-slide-count]{font:11px Arial,sans-serif;letter-spacing:.13em;min-width:55px;text-align:center}.hero-slider-controls [data-slide-pause]{border-left:1px solid #ffffff50;font-size:17px;margin-left:5px}.hero-slider-controls:focus-within{outline:1px solid #fff}@media(max-width:600px){.hero-slider-controls{left:6%;right:auto;bottom:78px;padding:1px 4px}.hero-slide{transition-duration:.6s}}@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}

/* Legal pages share the restaurant's restrained typography and responsive spacing. */
.legal-page{max-width:1040px;margin:auto;padding:150px 6% 90px}.legal-heading h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(40px,6vw,70px);line-height:1.06;margin:20px 0}.legal-heading p{font-size:18px;line-height:1.65;max-width:700px}.legal-heading small{opacity:.7}.legal-review{margin:32px 0;padding:22px 26px;border:1px solid currentColor;border-radius:3px;line-height:1.65}.legal-review p{font-size:14px;margin:8px 0 0}.legal-nav{display:flex;gap:24px;flex-wrap:wrap;border-bottom:1px solid #929a9d66;padding:0 0 22px;margin:32px 0}.legal-nav a{padding:10px 0;text-underline-offset:6px}.legal-nav a[aria-current]{font-weight:700}.legal-section{padding:20px 0;border-bottom:1px solid #929a9d44;scroll-margin-top:110px}.legal-section h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:30px;line-height:1.2}.legal-section p{font-size:16px;line-height:1.85;white-space:pre-line;overflow-wrap:anywhere}.legal-page>.button{margin-top:28px}@media(max-width:600px){.legal-page{padding:120px 6% 100px}.legal-heading p{font-size:16px}.legal-review{padding:18px}.legal-section h2{font-size:27px}.legal-nav{gap:20px}}@media print{.legal-page{padding:0;max-width:none}.header,.mobile-nav,.mobile-booking,footer,dialog,.legal-nav,.legal-page>.button{display:none!important}}
.legal-heading h1{overflow-wrap:anywhere;hyphens:auto}@media(max-width:600px){.legal-heading h1{font-size:clamp(30px,8.5vw,40px)}}

.header-actions,.preferences,.language-switch{flex-shrink:0}
/* Quiet line icons and consistent mobile navigation tiles. */
.action-icon{width:20px;height:20px;flex:0 0 20px;vertical-align:middle;display:inline-block}.button .action-icon,.text-link .action-icon{margin-left:auto}.footer-news>.action-icon{width:25px;height:25px;flex-basis:25px}
@media(max-width:600px){.topic-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:stretch}.topic-directory>a.text-link{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;width:100%;min-width:0;height:76px;margin:0;padding:12px;font-size:12px;line-height:1.35;gap:8px;border:1px solid var(--line);border-radius:3px;background:var(--surface)}.mobile-nav>a{box-sizing:border-box;display:flex;align-items:center;min-height:52px;padding:12px 0;font-size:14px;line-height:1.4}.mobile-booking .button{height:48px;min-width:0;justify-content:space-between}.mobile-booking .action-icon{width:18px;height:18px;flex-basis:18px}}
/* Restrained, compact entry points for external forms. */
#anfrage.compact-enquiry{width:calc(100% - 12%);max-width:760px;margin:48px auto;padding:0}
#anfrage.compact-enquiry>h2{font-size:32px;line-height:1.15;margin:0 0 18px}
.widget-gate.compact-widget{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding:20px 0;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;background:transparent}
.compact-widget .button{min-height:44px;padding:11px 20px;font-size:12px;letter-spacing:.02em;width:auto}
.compact-widget .widget-privacy{font:12px/1.5 Arial,sans-serif;color:var(--muted);margin:0}
.widget-privacy a{text-decoration:underline;text-underline-offset:3px}
.compact-widget .widget-slot:empty{display:none}
.compact-widget .widget-slot{flex-basis:100%;min-width:0}
.compact-widget.widget-open{padding:0;border:0}
.compact-widget.widget-open>.widget-privacy{display:none}
.compact-widget .widget-slot iframe{margin:0 0 8px}
.compact-widget .widget-slot>a{font:12px/1.5 Arial,sans-serif;padding:8px 0;color:var(--muted)}
.reserve-dialog{width:min(680px,calc(100% - 32px));padding:32px}
.reserve-dialog h2{font-size:32px;margin:0 32px 20px 0}
.reserve-dialog .booking-groups{font:12px/1.6 Arial,sans-serif;color:var(--muted);margin:16px 0 0}
.reserve-dialog .booking-groups a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){#anfrage.compact-enquiry{margin:32px auto}#anfrage.compact-enquiry>h2{font-size:28px}.widget-gate.compact-widget{gap:12px;padding:16px 0}.compact-widget .widget-privacy{flex-basis:100%;font-size:11px}.reserve-dialog{padding:28px 20px}.reserve-dialog h2{font-size:28px}.compact-widget.widget-open{padding:0}}
.compact-widget>[hidden]{display:none!important}
.gift-nav-link{white-space:nowrap}.mobile-nav .gift-nav-link{gap:10px}.gift-nav-icon{flex-shrink:0}.gift-actions{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.gift-section .gift-partner{font-size:11px;line-height:1.5;color:var(--muted);margin:0}.gift-actions .button{gap:20px}#gutscheine{scroll-margin-top:110px}.header .desktop-nav{gap:18px}
@media(min-width:1051px) and (max-width:1250px){.header{gap:14px;padding-left:3%;padding-right:3%}.header .desktop-nav{gap:12px;font-size:10px}.header .brand{width:145px}.header-actions{gap:12px}}
.reserve-dialog .booking-groups{margin:0 0 18px}.event-foot .event-advice-link{font-size:12px;color:#d2dce2;text-decoration:underline;text-underline-offset:4px}.event-foot .event-advice-link:hover{color:#fff}#anfrage{scroll-margin-top:120px}
@media(max-width:600px){#anfrage{scroll-margin-top:90px}}

/* Click-only, local questions helper; no external service or chat storage. */
.questions-launcher{position:fixed;right:24px;bottom:24px;z-index:45;width:56px;height:56px;display:grid;place-items:center;border:1px solid var(--border-strong);border-radius:50%;background:var(--button-bg);color:var(--button-text);box-shadow:0 4px 18px #102a3b26;cursor:pointer}
.questions-panel{position:fixed;inset:auto 24px 92px auto;margin:0;width:min(390px,calc(100vw - 32px));max-height:calc(100dvh - 120px);overflow:auto;padding:24px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);box-shadow:0 16px 60px #102a3b33;font:15px/1.55 Arial,sans-serif}
.questions-panel::backdrop{background:#102a3b33}.questions-panel header{display:flex;justify-content:space-between;gap:16px}.questions-panel header small{font-size:10px;letter-spacing:.16em}.questions-panel h2{font:32px/1.1 'Cormorant Garamond',Georgia,serif;margin:8px 0 0}.questions-close{min-width:44px;height:44px;font-size:27px;color:var(--ink);border:0;background:transparent;cursor:pointer}.questions-intro{margin:18px 0;color:var(--text);font-size:14px}.questions-topics{display:grid;grid-template-columns:1fr 1fr;gap:8px}.questions-topics button{min-height:46px;padding:10px;border:1px solid var(--line);border-radius:5px;background:var(--cream);color:var(--ink);font:13px/1.3 Arial,sans-serif;cursor:pointer}.questions-topics button[aria-pressed=true]{background:var(--button-bg);color:var(--button-text)}.questions-answer:empty{display:none}.questions-answer{margin-top:16px;padding:16px;background:var(--cream);border-radius:6px}.questions-answer p{margin:0 0 12px;font-size:14px}.questions-answer a,.questions-action{display:block;padding:10px 0;color:var(--ink);text-decoration:underline;text-underline-offset:4px;font:14px/1.4 Arial,sans-serif;border:0;background:transparent;cursor:pointer;text-align:left}.questions-panel footer{display:block!important;margin:20px 0 0!important;padding:16px 0 0!important;border-top:1px solid var(--line);background:transparent!important;color:var(--ink)!important}.questions-email{font-size:14px;text-decoration:underline;text-underline-offset:4px}.questions-panel footer small{display:block;font-size:11px;color:var(--muted);margin-top:8px}.questions-panel :focus-visible,.questions-launcher:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
@media(max-width:900px){.questions-launcher{right:16px;bottom:calc(88px + env(safe-area-inset-bottom))}.questions-panel{right:16px;bottom:calc(156px + env(safe-area-inset-bottom));max-height:calc(100dvh - 180px - env(safe-area-inset-bottom));padding:20px}}
@media print{.questions-launcher,.questions-panel{display:none!important}}

/* Restore the original fine underline and improve desktop menu legibility. */
.desktop-nav a:focus-visible::after{right:0}
@media(min-width:1321px){.desktop-nav{font-size:12.5px;gap:16px}.header{gap:16px}}
@media(min-width:1440px){.desktop-nav{font-size:14px;gap:22px}}

/* Boathouse line icons for the three venue benefits, DE and EN. */
.event-list li{display:flex;align-items:center;gap:14px;padding:11px 0}
.event-list li::before{content:"";display:block;flex:0 0 28px;width:28px;height:28px;padding:0;background:currentColor;color:#c4d6df;mask-position:center;mask-size:contain;mask-repeat:no-repeat}
.event-list li:nth-child(1)::before{mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2028%2028%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.25%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2012%2014%204l11%208M6%2010v12h16V10M10%2022v-8h8v8M2%2025q3-3%206%200t6%200t6%200t6%200%22%2F%3E%3C%2Fsvg%3E")}
.event-list li:nth-child(2)::before{mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2028%2028%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.25%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2011h22L14%203%203%2011Zm11%200v10M4%2022h20M6%2018v4m16-4v4M8%2015h12M2%2026q3-3%206%200t6%200t6%200t6%200%22%2F%3E%3C%2Fsvg%3E")}
.event-list li:nth-child(3)::before{mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2028%2028%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.25%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2215%22%20cy%3D%2214%22%20r%3D%228%22%2F%3E%3Ccircle%20cx%3D%2215%22%20cy%3D%2214%22%20r%3D%225%22%2F%3E%3Cpath%20d%3D%22M3%204v7m3-7v7m-3%200h3M4.5%2011v13M26%204v20M26%204q-4%206%200%2010%22%2F%3E%3C%2Fsvg%3E")}
.tour-section{scroll-margin-top:110px;background:var(--sand);padding-top:70px;padding-bottom:70px}.tour-section h2{margin:16px 0 32px}.tour-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.tour-card{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:4px;overflow:hidden}.tour-image{position:relative;display:block;width:100%;aspect-ratio:16/9;padding:0;border:0;overflow:hidden}.tour-image img{width:100%;height:100%;object-fit:cover}.tour-symbol{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:68px;height:68px;border:1px solid #ffffffbb;border-radius:50%;background:#24475cdd;color:#fff;font:18px Arial,sans-serif}.tour-symbol svg{width:30px;height:30px}.tour-caption{padding:24px}.tour-caption h3{font:30px/1.2 var(--serif);margin:0 0 16px}.tour-caption a,.tour-caption button{display:inline-block;color:var(--ink);font:14px/1.5 Arial,sans-serif;text-decoration:underline;text-underline-offset:5px;padding:8px 0}.tour-caption small{display:block;color:var(--muted);font-size:11px;margin-top:8px}.tour-video .widget-slot:empty{display:none}.tour-video [hidden]{display:none!important}.tour-video iframe{display:block;width:100%;height:auto;aspect-ratio:16/9;border:0}.tour-video .widget-slot>a{display:block;padding:8px 24px;font-size:12px;text-decoration:underline}.tour-crosslink{padding:15px 7% 45px;color:var(--ink)}.tour-crosslink a{font-size:14px;text-decoration:underline;text-underline-offset:5px}@media(max-width:700px){.tour-grid{grid-template-columns:1fr}.tour-section{padding:48px 6%}.tour-caption{padding:20px}.tour-caption h3{font-size:27px}}

/* Newsletter: native, compact sign-up using the supplied Brevo form fields. */
.newsletter-section{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7%;align-items:start}
.newsletter-copy h2{font-size:clamp(36px,3.8vw,56px);text-wrap:balance}
.newsletter-copy .social-links{margin-top:22px;flex-wrap:wrap;gap:14px}
.newsletter-actions{min-width:0;padding-top:12px}
.newsletter-form{max-width:560px;margin:0}
.newsletter-form>label{display:block;font-size:13px;color:var(--ink);margin-bottom:10px}
.newsletter-input-row{display:flex;gap:10px;align-items:stretch}
.newsletter-input-row input{width:100%;min-width:0;min-height:50px;border:1px solid var(--border-strong);border-radius:3px;background:var(--cream);color:var(--ink);font:inherit;font-size:16px;padding:12px 14px;box-sizing:border-box}
.newsletter-input-row input::placeholder{color:var(--muted);opacity:1}
.newsletter-input-row .button{min-width:116px;justify-content:center;font-size:13px;padding:12px 22px;cursor:pointer}
.newsletter-input-row .button:disabled{opacity:.6;cursor:wait}
.newsletter-form .newsletter-consent{display:flex;align-items:flex-start;gap:10px;margin:16px 0 10px;font-size:12px;line-height:1.65;color:var(--text);cursor:pointer}
.newsletter-consent input{flex:0 0 18px;width:18px;height:18px;margin:1px 0 0;accent-color:var(--ink)}
.newsletter-privacy,.newsletter-details{font-size:11px;line-height:1.7;color:var(--text);margin:8px 0}
.newsletter-privacy a,.newsletter-fallback{text-decoration:underline;text-underline-offset:3px}
.newsletter-details summary{cursor:pointer;width:fit-content;padding:3px 0;color:var(--muted)}
.newsletter-details p{margin:8px 0;max-width:52ch}
.newsletter-result{font-size:13px;line-height:1.7;border-left:2px solid var(--ink);padding:10px 14px;background:var(--sand);margin:16px 0 0;color:var(--ink)}
.newsletter-result[data-state=error]{border-color:#a64a35}
.newsletter-fallback{font-size:12px;display:inline-block;margin-top:10px}
.newsletter-fallback[hidden],.newsletter-result[hidden]{display:none}
.newsletter-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.newsletter-form :focus-visible{outline:2px solid var(--focus);outline-offset:4px}
@media(max-width:700px){.newsletter-section{grid-template-columns:1fr;gap:26px;padding:44px 6%}.newsletter-copy h2{font-size:40px}.newsletter-actions{padding-top:0}.newsletter-form{max-width:none}.newsletter-copy .social-links{margin-top:16px}}
@media(max-width:380px){.newsletter-input-row{flex-direction:column}.newsletter-input-row .button{width:100%}}

/* Clear, accessible reservation options, shared by every page. */
#reserve-dialog{width:min(720px,calc(100% - 32px));max-height:90dvh;overflow:auto;padding:36px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px}
#reserve-dialog .booking-eyebrow{margin:0 40px 8px 0;font:11px/1.5 Arial,sans-serif;letter-spacing:.16em;color:var(--muted)}
#reserve-dialog h2{margin:0 32px 24px 0;font:400 40px/1.1 var(--serif);letter-spacing:-.025em}
#reserve-dialog .booking-option{padding:24px;border:1px solid var(--line);border-radius:6px;background:var(--cream)}
#reserve-dialog .booking-option+.booking-option{margin-top:16px}
#reserve-dialog .booking-contact{background:var(--surface)}
#reserve-dialog .booking-option-heading{display:flex;align-items:center;gap:16px}
#reserve-dialog .booking-symbol{display:flex;align-items:center;justify-content:center;flex:0 0 46px;width:46px;height:46px;border:1px solid var(--border-strong);border-radius:50%;color:var(--ink)}
#reserve-dialog .booking-icon{width:24px;height:24px;flex-shrink:0}
#reserve-dialog h3{margin:0;font:600 22px/1.3 Arial,sans-serif;letter-spacing:0}
#reserve-dialog .booking-option-heading p{margin:5px 0 0;font:16px/1.5 Arial,sans-serif;color:var(--text)}
#reserve-dialog .booking-online .widget-gate{margin:20px 0 0;padding:0;border:0;gap:0}
#reserve-dialog .booking-online [data-booking-next]{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:54px;font:600 17px/1.4 Arial,sans-serif;padding:14px 20px;letter-spacing:0;border-radius:4px}
#reserve-dialog .booking-contact-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}
#reserve-dialog .booking-contact-link{display:flex;align-items:center;gap:12px;min-width:0;min-height:76px;padding:14px;border:1px solid var(--border-strong);border-radius:4px;text-decoration:none;background:var(--surface);transition:background .2s,border-color .2s}
#reserve-dialog .booking-contact-link:hover{background:var(--sand);border-color:var(--ink)}
#reserve-dialog .booking-contact-link strong{display:block;font:600 17px/1.4 Arial,sans-serif}
#reserve-dialog .booking-contact-link small{display:block;margin-top:3px;font:14px/1.4 Arial,sans-serif;color:var(--muted);overflow-wrap:anywhere}
#reserve-dialog .booking-confirmation{margin:15px 0 0;font:13px/1.5 Arial,sans-serif;color:var(--muted)}
@media(max-width:600px){#reserve-dialog{padding:26px 18px;width:calc(100% - 24px)}#reserve-dialog h2{font-size:34px;margin-bottom:20px}#reserve-dialog .booking-option{padding:18px}#reserve-dialog .booking-option-heading{gap:12px}#reserve-dialog .booking-symbol{width:40px;height:40px;flex-basis:40px}#reserve-dialog h3{font-size:20px}#reserve-dialog .booking-option-heading p{font-size:15px}#reserve-dialog .booking-contact-actions{grid-template-columns:1fr;gap:10px;margin-top:16px}#reserve-dialog .booking-contact-link{min-height:64px}#reserve-dialog .booking-online [data-booking-next]{font-size:16px}}

/* Zenchef is a separate step; the first dialog always remains the choice screen. */
body:has(#reserve-dialog[open]),body:has(#zenchef-dialog[open]){overflow:hidden}
#zenchef-dialog{width:min(760px,calc(100% - 32px));max-height:92dvh;padding:30px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:8px}
#zenchef-dialog h2{margin:18px 32px 8px 0;font:400 36px/1.15 var(--serif)}
#zenchef-dialog .zenchef-intro{margin:0 0 20px;font:16px/1.5 Arial,sans-serif;color:var(--text)}
#zenchef-dialog .booking-back{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:0 8px 0 0;margin-right:36px;font:15px/1.4 Arial,sans-serif;color:var(--ink);text-decoration:underline;text-underline-offset:4px}
#zenchef-dialog .booking-back svg{width:20px;height:20px}
#zenchef-dialog .booking-icon{width:24px;height:24px}
#zenchef-dialog [data-load]{display:flex;align-items:center;justify-content:center;gap:12px;min-height:50px;font-size:16px}
#zenchef-dialog .widget-slot iframe{display:block;border:0;border-radius:4px;width:100%}
@media(max-width:600px){#zenchef-dialog{padding:22px 16px;width:calc(100% - 24px)}#zenchef-dialog h2{font-size:30px}#zenchef-dialog .zenchef-intro{font-size:15px}}

/* A concise notice at the activation button replaces a repeated cookie dialog. */
#reserve-dialog .booking-privacy,#zenchef-dialog .booking-privacy{margin:10px 0 0;font:13px/1.5 Arial,sans-serif;color:var(--text)}
.booking-privacy a{text-decoration:underline;text-underline-offset:3px}
#zenchef-dialog .widget-open .booking-privacy{display:none}
