:root{--bg: #faf8f4;--bg-warm: #f5f0e8;--text-main: #1a1916;--text-muted: #7a756d;--text-light: #a8a29e;--text-on-img: #ffffff;--text-on-img-muted: rgba(255, 255, 255, .82);--azure: #2d6a8f;--azure-deep: #1b4d6e;--lemon: #e8c840;--terracotta: #c7693d;--sea-foam: #7abfab;--font-display: "Cormorant Garamond", serif;--font-body: "Outfit", sans-serif;--mobile-card-w: 86vw;--mobile-card-h: 78vh;--shadow-soft: 0 8px 32px rgba(26, 25, 22, .06);--shadow-card: 0 16px 48px rgba(26, 25, 22, .1);--shadow-elevated: 0 24px 64px rgba(26, 25, 22, .16);--radius: 24px}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{scroll-behavior:auto}body{background-color:var(--bg);color:var(--text-main);font-family:var(--font-body);line-height:1.5;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.global-header{text-align:center;padding:4.5rem 1.5rem 3rem;position:relative;z-index:10;overflow:hidden;background:repeating-linear-gradient(45deg,transparent,transparent 28px,rgba(26,25,22,.03) 28px,rgba(26,25,22,.03) 56px)}.hero-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center}.hero-ornament{position:absolute;width:80px;height:80px;opacity:.12;z-index:1}.hero-ornament--tl{top:3.5rem;left:2rem;border-top:1px solid var(--azure);border-left:1px solid var(--azure)}.hero-ornament--tr{top:3.5rem;right:2rem;border-top:1px solid var(--azure);border-right:1px solid var(--azure)}.header-eyebrow{font-family:var(--font-body);font-size:.7rem;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:var(--azure);margin-bottom:1.5rem;display:flex;align-items:center;justify-content:center;gap:1rem}.header-eyebrow:before,.header-eyebrow:after{content:"";width:2rem;height:1px;background:var(--azure);opacity:.4}.logo-wrap{margin-bottom:1.25rem}.logo-img{width:clamp(180px,28vw,300px);height:auto;filter:drop-shadow(0 4px 12px rgba(27,77,110,.18)) drop-shadow(0 12px 40px rgba(27,77,110,.1)) drop-shadow(0 2px 4px rgba(0,0,0,.12));transition:filter .6s ease,transform .6s cubic-bezier(.16,1,.3,1)}.logo-img:hover{filter:drop-shadow(0 6px 20px rgba(27,77,110,.25)) drop-shadow(0 16px 52px rgba(27,77,110,.15)) drop-shadow(0 2px 6px rgba(0,0,0,.15));transform:translateY(-2px)}.restaurant-subtitle{font-family:var(--font-display);font-size:1.35rem;color:var(--text-muted);font-style:italic;font-weight:500;margin-bottom:1.5rem}.hero-divider{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;width:180px}.hero-divider:before,.hero-divider:after{content:"";flex:1;height:1px;background:linear-gradient(to right,transparent,var(--azure),transparent);opacity:.3}.hero-divider-diamond{width:6px;height:6px;background:var(--azure);transform:rotate(45deg);opacity:.4;flex-shrink:0}.hero-info{display:flex;align-items:flex-start;gap:2.5rem;margin-bottom:2.5rem}.hero-info-block{display:flex;flex-direction:column;align-items:center;gap:.2rem}.hero-info-label{font-family:var(--font-body);font-size:.65rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--azure);margin-bottom:.35rem}.hero-info-value{font-family:var(--font-body);font-size:.82rem;color:var(--text-muted);letter-spacing:.03em;font-weight:300;line-height:1.5}.hero-info-address{max-width:200px;text-align:center;line-height:1.45}.hero-info-sep{width:1px;height:48px;background:linear-gradient(to bottom,transparent,rgba(45,106,143,.25),transparent);align-self:center}.hero-booking{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.btn-book{display:inline-flex;align-items:center;gap:.6rem;background:var(--azure-deep);color:#fff;padding:.85rem 1.75rem;border-radius:9999px;text-decoration:none;font-family:var(--font-body);font-weight:500;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;transition:all .5s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-soft);border:1.5px solid transparent;cursor:pointer}.btn-book:hover{transform:translateY(-3px);box-shadow:var(--shadow-elevated);background:var(--terracotta)}.btn-book--outline{background:transparent;color:var(--azure-deep);border-color:var(--azure-deep);box-shadow:none}.btn-book--outline:hover{background:var(--azure-deep);color:#fff;border-color:var(--azure-deep)}.btn-book svg{transition:transform .4s cubic-bezier(.16,1,.3,1);flex-shrink:0}.btn-book:hover svg{transform:scale(1.1)}.menu-container{max-width:1440px;margin:0 auto;padding:0 3rem 8rem}.category{margin-bottom:6rem}.category-header{display:flex;align-items:baseline;gap:1.5rem;margin-bottom:3rem}.category-title{font-family:var(--font-display);font-size:2.8rem;font-weight:400;font-style:italic;color:var(--text-main);white-space:nowrap}.category-line{flex:1;height:1px;background:linear-gradient(to right,rgba(26,25,22,.12),transparent)}.category-count{font-size:.75rem;font-weight:400;color:var(--text-light);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.dishes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem}.dish-card{display:flex;flex-direction:column;background:var(--bg);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-card);cursor:pointer;transition:transform .6s cubic-bezier(.16,1,.3,1),box-shadow .6s cubic-bezier(.16,1,.3,1)}.dish-card:hover{transform:translateY(-6px) scale(1.01);box-shadow:var(--shadow-elevated)}.dish-image-wrap{position:relative;aspect-ratio:3 / 4;overflow:hidden;z-index:1}.dish-image{width:100%;height:100%;object-fit:cover;transform:scale(1.03);transition:transform 1.4s cubic-bezier(.16,1,.3,1)}.dish-card:hover .dish-image{transform:scale(1.1)}.dish-overlay{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;padding:1.5rem;background:linear-gradient(to top,rgba(18,16,14,.75) 0%,rgba(18,16,14,.35) 20%,transparent 40%);color:var(--text-on-img);transition:padding-bottom .5s cubic-bezier(.16,1,.3,1)}.dish-card:hover .dish-overlay{padding-bottom:1.75rem}.dish-number{position:absolute;top:1.25rem;left:1.5rem;font-family:var(--font-display);font-size:.85rem;font-weight:500;color:#ffffff80;letter-spacing:.05em;z-index:3}.dish-header{display:flex;align-items:flex-end}.dish-title{font-family:var(--font-display);font-size:1.8rem;font-weight:600;font-style:italic;line-height:1.1;text-shadow:0 2px 12px rgba(0,0,0,.5)}.dish-price{position:absolute;top:1rem;right:1rem;z-index:3;display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:#1a4663;color:#fff;box-shadow:0 4px 16px #0000004d}.dish-price-value{font-family:var(--font-body);font-size:1.25rem;font-weight:600;line-height:1;letter-spacing:-.02em;position:relative}.dish-price-currency{position:absolute;top:-.6em;right:-.7em;font-family:var(--font-body);font-size:.5rem;font-weight:500;opacity:.85}.dish-info{padding:1rem 1.5rem 1.25rem}.dish-desc{font-family:var(--font-body);font-size:.85rem;font-weight:300;color:var(--text-muted);line-height:1.65;margin-bottom:.75rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.dish-tags{display:flex;flex-wrap:wrap;gap:.4rem}.tag{display:inline-flex;align-items:center;padding:.15rem .55rem;border-radius:9999px;background:#0000000d;font-size:.65rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;border:1px solid rgba(0,0,0,.08);color:var(--text-muted)}.tag--signature{background:#e8c84026;border-color:#e8c8404d;color:var(--terracotta)}.lang-nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:center;padding-top:.75rem;padding-bottom:.5rem}.lang-pills{display:flex;align-items:center;gap:.25rem;border-radius:9999px;background:#1a19160f;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:.25rem;border:1px solid rgba(26,25,22,.08);box-shadow:0 4px 16px #0000000f}.lang-pill{padding:.375rem .875rem;font-size:.7rem;font-family:var(--font-body);font-weight:500;letter-spacing:.08em;border-radius:9999px;text-decoration:none;transition:all .2s ease;color:var(--text-muted)}.lang-pill:hover{color:var(--text-main);background:#1a19160f}.lang-pill--active{background:var(--azure-deep);color:#fff;box-shadow:0 2px 8px #1b4d6e4d}.lang-pill--active:hover{color:#fff;background:var(--azure-deep)}.site-footer{text-align:center;padding:3rem 1.5rem 2.5rem;color:var(--text-light);font-size:.8rem;letter-spacing:.05em}.footer-line{width:3rem;height:1px;background:var(--text-light);opacity:.3;margin:0 auto 2.5rem}.footer-restaurant{margin-bottom:2rem}.footer-name{font-family:var(--font-display);font-size:1.5rem;font-weight:400;font-style:italic;color:var(--text-main);margin-bottom:.25rem}.footer-tagline{font-family:var(--font-display);font-size:.9rem;font-style:italic;color:var(--text-muted);font-weight:300}.footer-details{display:flex;justify-content:center;gap:3rem;margin-bottom:1.5rem;flex-wrap:wrap}.footer-col{display:flex;flex-direction:column;align-items:center;gap:.15rem}.footer-label{font-family:var(--font-body);font-size:.6rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--azure);margin-bottom:.3rem}.footer-value{font-family:var(--font-body);font-size:.78rem;color:var(--text-muted);font-weight:300;line-height:1.5}.footer-link{color:var(--text-muted);text-decoration:none;transition:color .3s ease}.footer-link:hover{color:var(--azure)}.footer-iva{font-size:.7rem;color:var(--text-light);letter-spacing:.08em;margin-bottom:2rem}.footer-divider{width:2rem;height:1px;background:var(--text-light);opacity:.2;margin:0 auto 1.5rem}.footer-project{margin-bottom:1.25rem}.footer-project-text{font-size:.72rem;color:var(--text-light);line-height:1.6;max-width:420px;margin:0 auto}.footer-link--brand{color:var(--azure);font-weight:500}.footer-link--brand:hover{color:var(--terracotta)}.footer-credit{font-size:.65rem;color:var(--text-light);letter-spacing:.06em;opacity:.7}.lightbox{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:0;visibility:hidden}.lightbox--active{pointer-events:auto;opacity:1;visibility:visible}.lightbox--active .lightbox-backdrop{opacity:1}.lightbox--active .lightbox-img{transform:scale(1);opacity:1}.lightbox--closing .lightbox-backdrop{opacity:0;transition:opacity .35s ease}.lightbox--closing .lightbox-img{transform:scale(.85);opacity:0;transition:transform .35s cubic-bezier(.4,0,1,1),opacity .3s ease}.lightbox-backdrop{position:absolute;inset:0;background:#0a0a08eb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);opacity:0;transition:opacity .35s ease}.lightbox-content{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:2rem;cursor:pointer}.lightbox-img{max-width:92vw;max-height:88vh;object-fit:contain;border-radius:12px;box-shadow:0 32px 80px #00000080;transform:scale(.8);opacity:0;transition:transform .45s cubic-bezier(.16,1,.3,1),opacity .35s ease}.booking-popup{position:fixed;inset:0;z-index:1100;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:0;visibility:hidden}.booking-popup--active{pointer-events:auto;opacity:1;visibility:visible}.booking-popup--active .booking-backdrop{opacity:1}.booking-popup--active .booking-panel{transform:translateY(0) scale(1);opacity:1}.booking-popup--closing .booking-backdrop{opacity:0;transition:opacity .35s ease}.booking-popup--closing .booking-panel{transform:translateY(20px) scale(.95);opacity:0;transition:transform .35s ease,opacity .3s ease}.booking-backdrop{position:absolute;inset:0;background:#0a0a08e0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);opacity:0;transition:opacity .35s ease}.booking-panel{position:relative;z-index:1;background:var(--bg);border-radius:var(--radius);padding:2.5rem 2rem 2rem;width:92vw;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-elevated);transform:translateY(30px) scale(.95);opacity:0;transition:transform .45s cubic-bezier(.16,1,.3,1),opacity .35s ease}.booking-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.8rem;color:var(--text-muted);cursor:pointer;line-height:1;padding:.25rem;transition:color .2s}.booking-close:hover{color:var(--text-main)}.booking-title{font-family:var(--font-display);font-size:1.8rem;font-weight:400;font-style:italic;color:var(--text-main);margin-bottom:.25rem;padding-right:2rem}.booking-closed-note{font-size:.7rem;color:var(--terracotta);font-weight:500;letter-spacing:.05em;margin-bottom:1.5rem}.booking-section-title{font-family:var(--font-display);font-size:1.1rem;font-weight:400;font-style:italic;color:var(--text-main);margin:1.25rem 0 .75rem;padding-top:1rem;border-top:1px solid rgba(0,0,0,.06)}.booking-form{display:flex;flex-direction:column;gap:.75rem}.booking-row{display:flex;gap:.75rem}.booking-row--half .booking-field{flex:1}.booking-field{display:flex;flex-direction:column;gap:.3rem;width:100%}.booking-label{font-family:var(--font-body);font-size:.65rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--azure)}.booking-field input,.booking-field select{font-family:var(--font-body);font-size:.9rem;padding:.7rem .85rem;border:1.5px solid rgba(0,0,0,.1);border-radius:12px;background:var(--bg-warm);color:var(--text-main);transition:border-color .2s;width:100%;-webkit-appearance:none}.booking-field input:focus,.booking-field select:focus{outline:none;border-color:var(--azure)}.booking-field input::placeholder{color:var(--text-light)}.booking-required-note{font-size:.68rem;color:var(--text-light);text-align:center;margin:.25rem 0}.booking-thursday-warning{font-size:.78rem;color:#c0392b;font-weight:500;text-align:center;padding:.5rem;background:#c0392b14;border-radius:8px}.booking-submit{width:100%;justify-content:center;margin-top:.5rem;background:#25d366;border:none;font-size:.8rem}.booking-submit:hover{background:#1fb855;transform:translateY(-2px)}.booking-submit svg{flex-shrink:0}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.anim-in{animation:fadeUp .8s cubic-bezier(.16,1,.3,1) both}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.3s}.delay-4{animation-delay:.4s}@keyframes gentleBounce{0%,to{transform:translateY(0)}50%{transform:translateY(10px)}}@media(max-width:768px){body{height:100vh;height:100dvh;overflow-y:scroll;scroll-snap-type:y mandatory;overscroll-behavior:none}.global-header{height:100vh;height:100dvh;scroll-snap-align:start;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:2.5rem 1.5rem}.hero-ornament{display:none}.logo-img{width:clamp(200px,52vw,280px)}.logo-wrap{margin-bottom:.75rem}.header-eyebrow{margin-bottom:.75rem;font-size:.65rem}.restaurant-subtitle{font-size:1.05rem;margin-bottom:1rem}.hero-divider{margin-bottom:1rem;width:140px}.hero-info{flex-direction:row;gap:1.5rem;align-items:flex-start;margin-bottom:1.5rem}.hero-info-block{gap:.15rem}.hero-info-label{font-size:.65rem;margin-bottom:.25rem}.hero-info-value{font-size:.82rem}.hero-info-address{max-width:160px;font-size:.8rem}.hero-info-sep{width:1px;height:40px;align-self:center;background:linear-gradient(to bottom,transparent,rgba(45,106,143,.25),transparent)}.hero-booking{flex-direction:row;gap:.6rem;justify-content:center}.btn-book{padding:.75rem 1.4rem;font-size:.68rem;gap:.5rem}.btn-book svg{width:13px;height:13px}.scroll-indicator{position:absolute;bottom:1rem;display:flex;flex-direction:column;align-items:center;gap:.3rem;color:var(--text-muted);animation:gentleBounce 2.5s cubic-bezier(.16,1,.3,1) infinite;font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;font-weight:400}.menu-container{padding:0}.category{height:100vh;height:100dvh;scroll-snap-align:start;display:flex;flex-direction:column;margin-bottom:0;padding-top:1.75rem;position:relative;overscroll-behavior:contain}.category-header{justify-content:center;margin-bottom:1.25rem;padding:0 1.5rem;flex-shrink:0}.category-title{font-size:2rem}.category-line,.category-count{display:none}.dishes-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:1rem;padding:0 1.5rem 2.5rem;flex:1;align-items:center;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.dishes-grid::-webkit-scrollbar{display:none}.dish-card{flex:0 0 var(--mobile-card-w);max-height:var(--mobile-card-h);scroll-snap-align:center;scroll-snap-stop:always;box-shadow:0 20px 56px #0000002e}.dish-image-wrap{aspect-ratio:3 / 4;flex-shrink:1;min-height:0}.dish-title{font-size:2rem}.dish-header{flex-direction:column;align-items:flex-start;gap:.4rem;padding-bottom:.85rem}.dish-price{width:52px;height:52px}.dish-price-value{font-size:1.15rem}.dish-price-currency{font-size:.5rem}.dish-desc{-webkit-line-clamp:3;font-size:.9rem}.dish-info{padding:.75rem 1.25rem 1rem}.dish-number{font-size:.75rem}.site-footer{height:auto;min-height:30vh;scroll-snap-align:end;display:flex;flex-direction:column;justify-content:center}}.scroll-indicator{display:none}@media(min-width:1200px){.dishes-grid{grid-template-columns:repeat(4,1fr)}}
