@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500&display=swap');
:root{
  --page-width: 1300px;
  --page-gutter: 6%;
  --page-gutter-max: 78px;
  --page-inset: calc(max(0px, (100% - var(--page-width)) / 2) + min(var(--page-gutter), var(--page-gutter-max)));
  --cream:#f6f2e9;--green:#183e32;--ink:#25382e;--gold:#aa8439;--muted:#72766c;--line:#deddd1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.7 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:5px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400}h1{font-size:clamp(44px,5.1vw,78px);line-height:1.12;letter-spacing:-2px}h2{font-size:clamp(34px,3.5vw,50px);line-height:1.18;letter-spacing:-1.3px}h3{font-size:26px;line-height:1.3}header{height:94px;padding:0 var(--page-inset);display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--cream);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;font:20px/1.3 Georgia,serif;letter-spacing:2.2px}.brand small{display:block;font:8px/2.3 'DM Sans',sans-serif;letter-spacing:3px}.brand-mark{font-size:38px;font-weight:400;color:var(--green)}nav{display:flex;align-items:center;gap:30px;font-size:12px}nav>a:not(.button):hover{color:var(--gold)}.button{display:inline-flex;gap:34px;align-items:center;justify-content:center;background:var(--green);color:#fff;padding:14px 25px;border:1px solid transparent;border-radius:3px;font-size:13px;transition:background .2s,transform .2s}.button:hover{background:#2d5445;transform:translateY(-2px)}.button.cream{background:var(--cream);color:var(--green)}.button.cream:hover{background:#e7e3d5}.button.small{padding:11px 23px}.nav-toggle{display:none}.hero{position:relative;min-height:610px;height:min(690px,78vh);background:#45614b url('assets/golden-sunset-terrace.png') center 58%/cover;color:#fff;display:flex;align-items:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,26,17,.66),rgba(9,26,17,.08) 88%),linear-gradient(0deg,rgba(9,26,17,.28),transparent 40%)}.hero-content{position:relative;padding:55px var(--page-inset);width:100%}.eyebrow{font-size:10px;letter-spacing:2.4px;font-weight:600;margin-bottom:22px}.green{color:var(--gold)}.hero-desc{margin:25px 0 32px;font-size:17px;letter-spacing:.3px}.actions{display:flex;gap:12px}.photo-label{position:absolute;right:25px;bottom:24px;font-size:9px;letter-spacing:1.5px;background:#183e328c;padding:5px 10px}.scroll-hint{position:absolute;bottom:29px;left:var(--page-inset);font-size:9px;letter-spacing:2px;display:flex;gap:18px}.info-strip{display:grid;grid-template-columns:repeat(3,1fr);max-width:1200px;margin:auto;padding:23px 0;border-bottom:1px solid var(--line);font-size:12px}.section{max-width:var(--page-width);margin:auto;padding:90px min(var(--page-gutter),var(--page-gutter-max))}.about{display:grid;grid-template-columns:1fr 1.2fr;gap:70px;align-items:center}.about-copy>p:not(.eyebrow){margin-top:24px;max-width:360px;color:#666c62}.about-copy .editor-note{font-size:9px;letter-spacing:1px;padding-left:13px;border-left:2px solid #c6be9e}.editor-note span{font-size:11px;letter-spacing:0}.text-link{display:inline-flex;gap:40px;border-bottom:1px solid #a6ab9d;padding-bottom:5px;margin-top:27px;font-size:12px}.about-photo{height:420px;position:relative}.about-photo img{width:100%;height:100%;object-fit:cover;object-position:38% 55%;border-radius:2px}.about-photo figcaption{position:absolute;bottom:14px;left:17px;background:#183e32c9;color:#fff;padding:4px 9px;font-size:8px;letter-spacing:1.2px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:35px}.section-heading>p,.gallery-subtitle{font-size:12px;max-width:330px}.muted{color:var(--muted)}.menu-section{padding-top:25px}.filters{display:flex;gap:9px;margin-bottom:25px;flex-wrap:wrap}.filters button{border:1px solid #d2d6c9;border-radius:30px;background:transparent;padding:8px 19px;color:var(--green);font-size:12px}.filters button.active{background:var(--green);border-color:var(--green);color:#fff}.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:21px}.menu-card{border:1px solid var(--line);border-radius:4px;overflow:hidden}.menu-image{height:230px;background:#e1e4d6;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.menu-image.minuman{background:#e8dfce}.menu-image.favorit{background:#dedfd3}.menu-image img{width:100%;height:100%;object-fit:cover}.dish-art{font:145px/1 Georgia,serif;color:#859277;border:1px solid #b5bea6;border-radius:50%;width:150px;height:150px;text-align:center;transform:rotate(-12deg)}.minuman .dish-art{font-size:110px;color:#a5987b;border-color:#cbbfa7}.favorit .dish-art{font-size:115px;color:#8d967c}.menu-image small{position:absolute;bottom:13px;font-size:8px;letter-spacing:1.6px;color:#566149}.menu-card-copy{padding:20px}.menu-card h3{display:flex;justify-content:space-between;font-size:24px;margin-bottom:13px}.menu-card h3 span{font:22px sans-serif;color:var(--gold)}.menu-card p{font-size:11px;margin:5px 0}.fine-print{font-size:10px;color:var(--muted);margin-top:18px}.gallery-section{border-top:1px solid var(--line);padding-top:65px}.gallery-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:20px}.gallery-tile{height:300px;padding:0;border:0;border-radius:3px;overflow:hidden;position:relative;color:#fff;text-align:left;background:#64755a}.gallery-tile img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.gallery-tile:hover img{transform:scale(1.04)}.gallery-tile>span:not(.line-art){position:absolute;left:20px;right:20px;bottom:33px;z-index:2;font:23px Georgia,serif;display:flex;justify-content:space-between}.gallery-tile b{font-weight:400}.gallery-tile small{position:absolute;bottom:15px;left:20px;z-index:2;font-size:8px;letter-spacing:1.2px}.terrace:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 30%,#0f281cba)}.placeholder.garden{background:#63745b}.placeholder.moments{background:#9b9578}.line-art{display:block;text-align:center;font:140px Georgia,serif;opacity:.35;margin-top:-25px}.reservation{max-width:none;background:var(--green);color:var(--cream);display:grid;grid-template-columns:1fr 1fr;gap:100px;padding:80px max(8%,calc((100vw - 1100px)/2))}.reservation>div>p:not(.eyebrow){margin-top:25px;font-size:13px;color:#d3dbcc}.reservation .eyebrow{color:#c5b581}.reservation-note{border-left:1px solid #75846b;padding-left:15px;max-width:330px;font-size:10px!important}form{padding-top:6px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:11px;margin-bottom:19px}label>span{opacity:.65}input,textarea{display:block;width:100%;min-width:0;margin-top:7px;background:#ffffff0a;border:1px solid #6b7e6d;border-radius:2px;padding:11px;color:#fff;color-scheme:dark;font-size:13px}input::placeholder,textarea::placeholder{color:#acb8a6}textarea{resize:vertical}form>.button{width:100%}.form-footnote{font-size:10px;opacity:.7;margin-top:12px}#reservation-result{border:1px solid #71836e;padding:20px;margin-top:20px;font-size:12px}.message-preview{white-space:pre-wrap;margin:13px 0}.visit{display:grid;grid-template-columns:1fr 1fr;gap:75px}.visit address{font-style:normal;margin:25px 0 12px;font-size:13px}.visit .muted{font-size:10px}.hours{margin-top:30px;border-top:1px solid var(--line)}.hours>div{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:12px 0;font-size:11px}.hours strong{font-weight:500}.map-placeholder{background-color:#e5e7dc;background-image:linear-gradient(35deg,transparent 46%,#f6f2e9 46%,#f6f2e9 49%,transparent 49%),linear-gradient(115deg,transparent 46%,#f6f2e9 46%,#f6f2e9 49%,transparent 49%);background-size:115px 160px;border:1px solid #d8ddcd;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:35px 20px;min-height:390px}.map-pin{display:block;font-size:45px;color:var(--green)}.map-placeholder p{font-size:11px}.map-placeholder .eyebrow{margin:20px 0 5px;font-size:8px}.map-placeholder .button{margin-top:23px;font-size:11px}footer{border-top:1px solid var(--line);padding:35px 6%;display:flex;align-items:center;justify-content:space-between;gap:30px}footer p{font-size:11px;color:var(--muted)}footer>div{text-align:center;font-size:10px}footer>div small{display:block;color:var(--muted)}.mobile-actions{display:none}dialog{background:var(--cream);border:0;border-radius:5px;color:var(--ink);max-width:850px;width:90%;padding:30px}dialog::backdrop{background:#071b13c4}dialog img{width:100%;max-height:65vh;object-fit:cover}dialog h3{margin-top:18px}dialog p{font-size:12px;margin-top:8px}.dialog-close{position:absolute;right:12px;top:10px;background:var(--cream);border:0;border-radius:50%;font-size:26px;line-height:32px;width:34px;color:var(--green)}.dialog-placeholder{height:300px;background:#dce1d1;display:grid;place-items:center;font-size:100px;color:#7b886e}
@media(min-width:1600px){footer{padding-left:calc((100vw - 1350px)/2);padding-right:calc((100vw - 1350px)/2)}}
@media(max-width:950px){:root{--page-gutter:5%}header{gap:15px}.brand{font-size:17px}nav{gap:19px}.about{gap:35px}.section{padding:65px 5%}.reservation{gap:40px;padding:65px 5%}.hero{min-height:560px}.menu-image{height:190px}.gallery-tile{height:250px}.visit{gap:35px}footer p{display:none}}
@media(max-width:700px){html{scroll-padding-top:80px}body{padding-bottom:63px}header{height:76px}.brand{font-size:16px;gap:9px}.brand small{font-size:7px}.brand-mark{font-size:29px}.nav-toggle{display:block;border:0;background:none;color:var(--green);font-size:23px;padding:8px}nav{display:none;position:absolute;top:76px;left:0;right:0;flex-direction:column;align-items:stretch;padding:20px 6%;background:var(--cream);box-shadow:0 14px 20px #183e3214;gap:0}nav.open{display:flex}nav>a{padding:12px}nav .button{margin-top:10px}.hero{height:610px;min-height:0;max-height:85svh;background-position:60% center}.hero-content{padding:40px 7% 75px}.hero h1{font-size:44px;letter-spacing:-1.5px}.hero .eyebrow{font-size:8px}.hero-desc{font-size:14px;margin:24px 0}.actions .button{font-size:11px;padding:13px 19px;gap:20px}.scroll-hint{left:7%;font-size:7px;bottom:45px}.photo-label{left:7%;right:auto;bottom:15px;font-size:7px;padding:2px 7px}.info-strip{padding:15px 10px;font-size:9px}.section{padding:52px 6%}.about{grid-template-columns:1fr;gap:28px}.about h2 br{display:none}.about-copy>p:not(.eyebrow){margin-top:18px;max-width:none;font-size:13px}.eyebrow{font-size:8px;margin-bottom:15px}.about-photo{height:275px}.section-heading{display:block;margin-bottom:25px}.section-heading>p{margin-top:18px}.section-heading>p,.gallery-subtitle{font-size:11px}h2{font-size:36px;letter-spacing:-.9px}.menu-section{padding-top:10px}.filters{gap:6px}.filters button{padding:7px 12px;font-size:10px}.menu-grid{grid-template-columns:1fr;gap:20px}.menu-image{height:230px}.menu-card-copy{padding:19px}.menu-card h3{font-size:27px}.gallery-grid{grid-template-columns:1fr 1fr;gap:12px}.gallery-tile:first-child{grid-column:1/-1;height:260px}.gallery-tile{height:210px}.gallery-tile>span:not(.line-art){font-size:19px;left:13px;right:13px}.gallery-tile small{font-size:6px;left:13px}.line-art{font-size:110px}.reservation{grid-template-columns:1fr;gap:32px}.reservation h2 br{display:none}.reservation>div>p:not(.eyebrow){margin-top:18px}.form-row{gap:12px}input,textarea{font-size:16px;padding:10px}label{font-size:10px}.visit{grid-template-columns:1fr;gap:30px}.map-placeholder{min-height:320px}footer{padding:30px 6%;display:block}footer>div{text-align:center;margin-top:0}.mobile-actions{display:grid;position:fixed;bottom:0;left:0;right:0;z-index:30;grid-template-columns:1fr 1fr;background:var(--green);color:var(--cream);padding:10px 15px calc(10px + env(safe-area-inset-bottom));gap:10px;box-shadow:0 -3px 18px #102b2222}.mobile-actions a{text-align:center;font-size:12px;padding:8px}.mobile-actions a:last-child{background:#aa8439;border-radius:2px}.dialog-placeholder{height:210px}dialog{padding:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.info-strip a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-width: 0;
  min-height: 44px;
  padding: 0 8px;
  border-right: 1px solid var(--line);
  color: var(--green);
  text-align: center;
  line-height: 1.4;
}
.info-strip a:last-child { border-right: 0; }
.info-strip a:hover,
.info-strip a:focus-visible { color: var(--gold); }
.info-strip .info-icon {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  font-size: 21px;
  line-height: 1;
}.instagram-link svg{flex:none}.instagram-link small{font-size:10px;line-height:1.4;overflow-wrap:anywhere}@media(max-width:700px){.hero .actions{display:none}.instagram-link small{font-size:8px}}

footer{justify-content:center}footer>div{margin-inline:auto;text-align:center}

.menu-photo-trigger, .menu-photo-arrow {
  border: 0;
  background: transparent;
  cursor: zoom-in;
  padding: 0;
}
.menu-photo-trigger { width: 100%; height: 100%; }
.menu-photo-trigger img { display: block; }
.menu-photo-arrow {
  display: grid;
  place-items: center;
  min-width: 44px;
  min-height: 44px;
  margin: -6px -8px -6px 0;
}
.menu-photo-trigger:focus-visible { outline-offset: -4px; }
.menu-photo-dialog { max-width: 650px; text-align: center; }
.menu-photo-dialog img { display: block; max-height: 70dvh; object-fit: contain; }
.menu-photo-dialog .dialog-close { min-width: 44px; min-height: 44px; }
#gallery-dialog {
  opacity: 0;
  transition: opacity 220ms ease, transform 220ms ease, display 220ms, overlay 220ms;
  transition-behavior: allow-discrete;
}
#gallery-dialog:modal { overscroll-behavior: contain; }
#gallery-dialog[open] { opacity: 1; }
#gallery-dialog::backdrop {
  overflow: hidden;
  overscroll-behavior: contain;
  background-color: transparent;
  transition: background-color 220ms ease, display 220ms, overlay 220ms;
  transition-behavior: allow-discrete;
}
#gallery-dialog[open]::backdrop { background-color: #071b13c4; }
@starting-style {
  #gallery-dialog[open] { opacity: 0; }
  #gallery-dialog[open]::backdrop { background-color: transparent; }
}
@media (prefers-reduced-motion: no-preference) {
  #gallery-dialog { transform: translateY(8px) scale(.97); }
  #gallery-dialog[open] { transform: none; }
  @starting-style {
    #gallery-dialog[open] { transform: translateY(8px) scale(.97); }
  }
}
@media (prefers-reduced-motion: reduce) {
  /* The site-wide rule already disables transitions on the dialog itself. */
  #gallery-dialog::backdrop { transition: none; }
}

.gallery-subtitle { margin-top: 12px; }
#reservation-event[hidden], #reservation-mode[hidden] { display: none; }
.reservation select {
  display: block; width: 100%; min-width: 0; margin-top: 7px;
  padding: 11px; border: 1px solid #6b7e6d; border-radius: 2px;
  background: var(--green); color: var(--cream); color-scheme: dark; font: inherit;
  font-size: max(1rem, 13px);
}
.reservation-hint { margin: -10px 0 15px; }
.reservation button:disabled { opacity: .65; cursor: default; transform: none; }
#reservation-result a { margin-top: 12px; }
.gallery-tile img { display: block; }
.gallery-tile:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
.gallery-actions { display: flex; justify-content: center; margin-top: 26px; }
.gallery-collection-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 24px;
}
.gallery-collection-grid .gallery-tile {
  grid-column: auto;
  height: auto;
  aspect-ratio: 1;
}
.gallery-collection-grid img { position: absolute; inset: 0; }
.venue-photo-dialog { max-width: 900px; padding-top: 56px; }
.venue-photo-dialog .venue-photo {
  height: min(65dvh, 610px);
  max-height: none;
  border-radius: 3px;
  background: #e8e6dc;
}
.gallery-navigation {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 18px;
  margin-top: 12px;
}
.gallery-navigation button {
  width: 44px;
  height: 44px;
  background: transparent;
  border: 1px solid var(--line);
  border-radius: 50%;
  color: var(--green);
  font-size: 20px;
}
.gallery-navigation button:hover { background: #e8e6dc; }
.gallery-position { min-width: 4em; font-size: 13px; }
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
@media (max-width: 900px) {
  .gallery-collection-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .gallery-grid .gallery-tile { height: auto; aspect-ratio: 4 / 3; }
  .gallery-grid .gallery-tile:first-child { aspect-ratio: 16 / 10; }
  .gallery-grid img { position: absolute; inset: 0; }
  .gallery-collection-grid { gap: 10px; }
  .venue-photo-dialog .venue-photo { height: min(60dvh, 500px); }
}

.brand-logo{display:block;width:auto;height:72px;max-width:180px;object-fit:contain}@media(max-width:700px){.brand-logo{height:60px;max-width:150px}}

@media (max-width: 700px) and (prefers-reduced-motion: no-preference) {
  #navigation {
    opacity: 0;
    transform: translateY(-8px);
    pointer-events: none;
    transition: opacity 200ms ease, transform 200ms ease, display 200ms;
    transition-behavior: allow-discrete;
  }
  #navigation.open {
    opacity: 1;
    transform: none;
    pointer-events: auto;
  }
  @starting-style {
    #navigation.open { opacity: 0; transform: translateY(-8px); }
  }
}

.menu-cover {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
}
.menu-cover:focus-visible { outline-offset: -4px; }
.menu-cover .menu-photo-trigger { height: 230px; cursor: inherit; }
.menu-cover .menu-card-copy { display: grid; gap: 5px; font-size: 11px; }
.menu-cover-title {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
  font: 24px/1.3 'Playfair Display', Georgia, serif;
}
.menu-cover-title span,
.menu-cover:hover .menu-cover-title,
.menu-cover[aria-expanded="true"] .menu-cover-title { color: var(--gold); }
.menu-catalog-actions { display: flex; justify-content: center; margin-top: 24px; }
#menu-show-more[hidden] { display: none; }
#menu-catalog {
  margin-top: 34px;
  padding-top: 24px;
  border-top: 1px solid var(--line);
}
.menu-catalog-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 16px;
}
.menu-catalog-control {
  min-height: 44px;
  padding: 6px 12px;
  background: transparent;
  color: var(--green);
  border: 1px solid var(--line);
  border-radius: 4px;
  font-size: 13px;
}
.menu-catalog-control:hover,
.menu-catalog-control[aria-pressed="true"] { background: #e8e6dc; }
#menu-catalog .filters { margin: 16px 0 8px; }
#menu-catalog-status { margin-bottom: 14px; font-size: 12px; }
.menu-page-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.menu-page {
  padding: 0;
  border: 0;
  border-radius: 4px;
  overflow: hidden;
  background: var(--green);
  cursor: zoom-in;
}
.menu-page img { display: block; width: 100%; height: auto; }
.menu-page-dialog { padding-top: 57px; max-width: 820px; }
.menu-page-dialog .menu-page-view {
  height: min(56vh, 670px);
  height: min(56dvh, 670px);
  overflow: auto;
  overscroll-behavior: contain;
  background: #e8e6dc;
  border-radius: 4px;
}
.menu-page-dialog .menu-page-view img { height: 100%; max-height: none; }
.menu-page-dialog .is-zoomed img {
  width: max(100%, 726px);
  height: auto;
}
.menu-page-dialog [data-photo-zoom] { margin-top: 8px; }
@media (max-width: 950px) {
  .menu-cover .menu-photo-trigger { height: 190px; }
}
@media (max-width: 700px) {
  .menu-cover .menu-photo-trigger { height: 230px; }
  .menu-page-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 360px) {
  .menu-page-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: no-preference) {
  #menu-catalog:not([hidden]) { animation: menu-catalog-in 180ms ease-out; }
  @keyframes menu-catalog-in {
    from { opacity: .7; transform: translateY(6px); }
  }
}

@media (prefers-reduced-motion: no-preference) {
  @supports ((animation-timeline: view()) and (animation-range: entry)) {
    /* Individual translation lets the gallery keep its hover scale. */
    :is(.about-photo, .menu-photo-trigger, .gallery-tile) > img {
      animation: photo-enter auto ease-out backwards, photo-exit auto ease-in forwards;
      animation-timeline: view();
      animation-range: entry 0% entry 55%, exit 45% exit 100%;
    }

    @keyframes photo-enter {
      from { translate: 0 14px; opacity: .84; }
    }

    @keyframes photo-exit {
      to { translate: 0 -14px; opacity: .84; }
    }
  }
}
