@font-face{font-family:Gloock;src:url('/assets/fonts/gloock-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
.lune-page{--lune-ink:#18343b;--lune-muted:#4a6169;--lune-blue:#c5d5ed;--lune-paper:#f5f7f6;--lune-line:#bac9cc;--lune-butter:#f1d582;background:var(--lune-paper);color:var(--lune-ink);color-scheme:light;scrollbar-color:var(--lune-muted) var(--lune-paper)}
.lune-page ::selection{background:var(--lune-ink);color:white}
.lune-page :focus-visible{outline:3px solid #295f86;outline-offset:4px}
.lune-page h1,.lune-page h2,.lune-menu-feature h3{font-family:Manrope,sans-serif;font-weight:700;letter-spacing:-.025em;text-wrap:balance}
.lune-page h2{font-size:clamp(2rem,3.2vw,3rem);line-height:1.15;max-width:19ch}
.lune-page p{max-width:56ch;line-height:1.75}
.lune-wrap{width:min(1240px,calc(100% - 96px));margin-inline:auto}
.lune-page section[id]{scroll-margin-top:80px}
.demo-banner{position:sticky;top:0;z-index:10;display:flex;justify-content:center;gap:28px;align-items:center;padding:9px 24px;background:var(--lune-ink);color:white;font-size:.75rem;line-height:1.5}
.demo-banner a{color:var(--lune-butter);white-space:nowrap}
.lune-header{display:flex;gap:40px;align-items:center;padding:24px max(48px,calc((100vw - 1240px)/2));background:var(--lune-paper);border-bottom:1px solid var(--lune-line)}
.lune-brand{font-family:Gloock,Georgia,serif;font-weight:400;font-size:3rem;line-height:1;letter-spacing:-.025em;text-decoration:none}
.lune-brand span{color:var(--lune-ink)}
.lune-header nav{display:flex;gap:32px;margin-left:auto;align-items:center}
.lune-header nav a{padding:12px 0;font-size:.875rem;text-decoration:none;font-weight:700}
.lune-nav-book{border-bottom:1px solid currentColor}
.lune-page .language-switch button{color:var(--lune-muted);min-height:44px}
.lune-page .language-switch button[aria-pressed=true]{color:var(--lune-ink);text-decoration-color:var(--lune-ink)}
.lune-hero{display:grid;grid-template-columns:1fr 1.1fr;grid-template-rows:auto 1fr;gap:28px 72px;padding:64px max(48px,calc((100vw - 1240px)/2)) 72px;background:var(--lune-paper);align-items:start}
.lune-hero h1{grid-column:1;max-width:12ch;font-size:clamp(3.4rem,5.5vw,5rem);line-height:1.06;margin:22px 0 0}
.lune-invitation{grid-column:1;align-self:start;padding:0}
.lune-invitation>p{font-size:1rem;max-width:40ch;color:var(--lune-muted)}
.lune-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:30px}
.lune-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:15px 24px;border:1px solid var(--lune-ink);border-radius:2px;background:var(--lune-ink);color:white;text-decoration:none;font-size:.875rem;font-weight:700;line-height:1.4;transition:background-color 160ms ease,transform 120ms var(--ease-out)}
.lune-text-link{padding:10px 0;background:none;border:0;border-bottom:1px solid currentColor;color:inherit;font-size:.875rem;font-weight:700;text-decoration:none;cursor:pointer}
.lune-photo{grid-column:2;grid-row:1/3;position:relative;min-width:0;overflow:hidden;margin:0}
.lune-photo img{width:100%;height:520px;object-fit:cover;object-position:61% center}
.lune-photo figcaption{background:var(--lune-paper);color:var(--lune-muted);padding:12px 0 0;font-size:.75rem}
.lune-menu{padding-block:72px 88px;border-top:1px solid var(--lune-line)}
.lune-section-intro{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:40px}
.lune-section-intro p{color:var(--lune-muted);font-size:.94rem;max-width:40ch}
.lune-menu-spread{display:grid;grid-template-columns:.7fr 1.3fr;gap:72px;align-items:start}
.lune-menu-feature{position:sticky;top:88px}
.lune-menu-feature img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:62% center}
.lune-menu-feature figcaption{font-size:.75rem;color:var(--lune-muted);line-height:1.6;margin-top:10px}
.lune-menu-feature h3{font-size:1.25rem;line-height:1.4;max-width:25ch;margin-top:24px}
.lune-menu-feature>p{font-size:.94rem;margin-top:10px;color:var(--lune-muted)}
.menu-controls{display:flex;flex-wrap:wrap;align-items:center;gap:22px;padding-bottom:24px;border-bottom:1px solid var(--lune-line)}
.menu-categories{display:flex;flex-wrap:wrap;gap:4px}
.menu-categories button{background:transparent;border:0;border-bottom:2px solid transparent;color:var(--lune-muted);padding:10px 12px;min-height:44px;font-size:.875rem}
.menu-categories button[aria-pressed=true]{color:var(--lune-ink);border-color:var(--lune-ink);font-weight:700}
.vegetarian-control{display:flex;align-items:center;gap:10px;font-size:.875rem;cursor:pointer;color:var(--lune-ink)}
.vegetarian-control input{width:20px;height:20px;min-height:20px;margin:0;accent-color:var(--lune-ink)}
.menu-count{font-size:.8rem;color:var(--lune-muted);padding-top:18px;min-height:34px}
.menu-list{display:grid;grid-template-columns:1fr}
.dish{display:flex;justify-content:space-between;gap:24px;padding-block:25px;border-bottom:1px solid var(--lune-line)}
.dish h3{font-size:1.125rem;line-height:1.4;letter-spacing:0}
.dish p{font-size:.875rem;color:var(--lune-muted);margin-top:8px}
.dish-price{white-space:nowrap;font-size:.95rem;font-weight:700;font-variant-numeric:tabular-nums}
.lune-fine{font-size:.8rem;color:var(--lune-muted);margin-top:24px;line-height:1.7}
#menu-empty{padding-block:30px}
.lune-visit{background:var(--lune-blue);padding-block:64px}
.lune-visit-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:96px;align-items:start}
.lune-visit h2{margin-bottom:28px}
.lune-visit p{color:var(--lune-ink)}
.lune-hours{padding:0}
.lune-hours h3{font-size:1rem;margin-bottom:18px}
.lune-hours p{padding:15px 0;border-bottom:1px solid #a6b8b9;font-size:.94rem;font-variant-numeric:tabular-nums}
.lune-booking.lune-wrap{width:100%;max-width:none;padding:80px max(48px,calc((100vw - 1240px)/2));display:grid;grid-template-columns:1fr 1.1fr;gap:80px;background:var(--lune-ink);color:var(--lune-paper);align-items:start}
.lune-booking h2{margin-bottom:28px}
.lune-booking>div>p{color:#ccdadc;max-width:36ch}
.booking-workspace{padding:36px;background:var(--lune-paper);color:var(--lune-ink);border-radius:2px}
.booking-workspace fieldset{padding:0;border:0;margin:0;min-width:0}
.booking-fields{display:grid;grid-template-columns:1.2fr 1fr;gap:26px 20px;margin-bottom:24px}
.booking-fields label,.booking-slots legend{font-size:.875rem;font-weight:700;display:block;margin-bottom:10px;color:var(--lune-ink)}
.booking-fields input,.booking-fields select{background:white;color:var(--lune-ink);border:1px solid #789097;min-width:0;border-radius:2px;min-height:48px;width:100%;caret-color:var(--lune-ink);color-scheme:light}
.booking-fields .booking-slots{grid-column:1/-1}
.time-slots{display:flex;gap:10px;flex-wrap:wrap}
.time-slot{position:relative;cursor:pointer;margin:0!important}
.time-slot input{position:absolute;opacity:0;width:1px;height:1px;min-height:0}
.time-slot span{display:block;padding:12px 16px;border:1px solid #789097;border-radius:2px;font-size:.94rem;font-weight:400;min-height:48px;transition:transform 120ms var(--ease-out)}
.time-slot input:checked+span{background:var(--lune-ink);color:white;border-color:var(--lune-ink)}
.time-slot input:focus-visible+span{outline:3px solid #295f86;outline-offset:4px}
.booking-slots .lune-fine{margin-top:14px}
#slots-hint{font-size:.9rem;color:var(--lune-muted);margin-top:8px}
.booking-preview{border-block:1px solid var(--lune-line);padding-block:18px;margin-bottom:24px}
.booking-preview>span{font-size:.8rem;color:var(--lune-muted)}
.booking-preview p{font-size:.94rem;font-weight:700;min-height:3.3em;margin-top:8px}
.booking-workspace .lune-button{width:100%}
#booking-status{color:#823824;font-size:.85rem;margin-top:18px}
#booking-status:empty{display:none}
.confirmation-mark{width:48px;height:48px;margin-bottom:24px}
#demo-confirmation h3{font-size:1.45rem;line-height:1.35}
#booking-summary{padding-block:24px;font-size:1.1rem;font-weight:700}
.demo-emphasis{background:#e3eae8;padding:15px;font-size:.875rem;margin-bottom:18px}
.lune-faq{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;padding-block:64px}
.lune-faq h2{font-size:2rem}
.lune-faq details{border-color:var(--lune-line)}
.lune-faq summary{font-size:1rem;line-height:1.5;list-style:revert;padding-right:0}
.lune-faq details p{color:var(--lune-muted);font-size:.94rem}
.lune-project-close{padding-block:60px;background:var(--lune-paper);border-top:1px solid var(--lune-line)}
.lune-project-close .lune-wrap{display:grid;grid-template-columns:1fr 1fr;gap:30px 80px;align-items:start}
.lune-project-close h2{grid-row:1/3;font-size:2.4rem}
.lune-project-close p{font-size:.94rem;max-width:42ch}
.lune-project-close .lune-button{justify-self:start}
.lune-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;padding:30px 48px;font-size:.8rem;color:var(--lune-muted)}
.lune-footer a{font-weight:700;text-decoration:none;color:var(--lune-ink)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(hover:hover) and (pointer:fine){.lune-button:hover{background:#2b4c53}.lune-header nav a:hover,.lune-text-link:hover{text-decoration:underline}.menu-categories button:hover{color:var(--lune-ink)}.time-slot:hover span{border-color:var(--lune-ink)}}
html[data-input=pointer] .lune-button:active,html[data-input=pointer] .time-slot:active span{transform:scale(.98)}
html[data-input=keyboard] .lune-button,html[data-input=keyboard] .time-slot span{transition:none}
@media(prefers-reduced-motion:no-preference){.lune-hero h1{animation:hero-settle 600ms var(--ease-out) both}.lune-invitation{animation:hero-settle 600ms 60ms var(--ease-out) both}.lune-photo img{animation:stage-settle 1000ms var(--ease-out) both}}
@media(max-width:1000px){.lune-wrap{width:calc(100% - 56px)}.lune-header{padding-inline:28px;gap:24px}.lune-header nav{gap:20px}.lune-hero{padding-inline:28px;gap:24px 40px}.lune-photo img{height:480px}.lune-menu-spread,.lune-visit-grid,.lune-faq{gap:40px}.lune-booking.lune-wrap{padding-inline:28px;gap:40px}.booking-workspace{padding:28px}}
@media(max-width:720px){.demo-banner{justify-content:space-between;padding:9px 20px;gap:14px;font-size:.75rem}.demo-banner span{max-width:29ch}.lune-header{padding:18px 20px;flex-wrap:wrap;gap:14px}.lune-brand{font-size:2.7rem}.lune-header .language-switch{position:static;margin-left:auto}.lune-header nav{order:3;justify-content:space-between;width:100%;gap:12px}.lune-header nav a{font-size:.8rem}.lune-hero{grid-template-columns:1fr;padding:28px 20px 44px;gap:24px}.lune-hero h1{font-size:clamp(2.75rem,10vw,3.7rem);max-width:14ch;margin:0}.lune-invitation{padding:0}.lune-invitation>p{max-width:42ch}.lune-actions{gap:20px;margin-top:24px}.lune-photo{grid-column:1;grid-row:auto}.lune-photo img{height:300px;object-position:58% center}.lune-photo figcaption{font-size:.75rem}.lune-wrap{width:calc(100% - 40px)}.lune-menu{padding-block:44px 56px}.lune-section-intro{display:block;margin-bottom:28px}.lune-section-intro p{margin-top:16px}.lune-menu-spread,.lune-visit-grid,.lune-faq{grid-template-columns:1fr;gap:32px}.lune-page h2{font-size:2.1rem;max-width:20ch}.lune-menu-feature{position:static;display:grid;grid-template-columns:1fr 1fr;gap:0 20px;align-items:start;margin-bottom:8px}.lune-menu-feature figure{grid-row:1/3}.lune-menu-feature img{aspect-ratio:1}.lune-menu-feature h3{font-size:1.1rem;margin:0}.lune-menu-feature>p{font-size:.875rem;margin-top:10px}.lune-menu-feature figcaption{font-size:.7rem}.menu-categories button{padding-inline:10px}.dish{padding-block:22px}.lune-visit{padding-block:44px}.lune-booking.lune-wrap{padding:52px 20px;grid-template-columns:1fr;gap:28px}.booking-workspace{padding:24px 20px}.lune-faq{padding-block:48px}.lune-project-close{padding-block:44px}.lune-project-close .lune-wrap{grid-template-columns:1fr;gap:24px}.lune-project-close h2{grid-row:auto}.lune-footer{padding:28px 20px;flex-direction:column;gap:12px}}
@media(max-width:359px){.lune-header nav a{font-size:.75rem}.booking-fields{grid-template-columns:1fr}.lune-menu-feature{grid-template-columns:1fr}.lune-menu-feature figure{grid-row:auto}.lune-menu-feature img{aspect-ratio:4/3}.lune-menu-feature h3{margin-top:20px}.lune-hero h1{font-size:2.75rem}.lune-photo img{height:260px}}
@media(prefers-reduced-motion:reduce){.lune-page .lune-button,.lune-page .time-slot span{transition:none;transform:none!important}.lune-hero h1,.lune-invitation,.lune-photo img{animation:none!important}}
