:root{
  --bg:#0a0908;
  --panel:#11100e;
  --cream:#f0e8d9;
  --muted:#aaa092;
  --gold:#d8a84e;
  --red:#b63c2d;
  --line:rgba(240,232,217,.14);
  --display:"Italiana", Georgia, serif;
  --sans:"DM Sans", Arial, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--cream);font-family:var(--sans);
  overflow-x:hidden;
}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
button{cursor:pointer}
::selection{background:var(--gold);color:#111}
.page-noise{
  position:fixed;inset:0;pointer-events:none;opacity:.035;z-index:100;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");
}
.cursor-glow{
  position:fixed;width:420px;height:420px;border-radius:50%;pointer-events:none;z-index:0;
  transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(216,168,78,.08),transparent 65%);
}
.site-header{
  position:fixed;top:0;left:0;right:0;height:92px;padding:0 4vw;
  display:flex;align-items:center;justify-content:space-between;z-index:50;
  border-bottom:1px solid transparent;transition:.35s;
}
.site-header.scrolled{
  height:74px;background:rgba(10,9,8,.82);backdrop-filter:blur(18px);
  border-color:var(--line);
}
.brand{display:flex;align-items:center;gap:13px}
.brand-mark{
  width:44px;height:44px;border:1px solid rgba(240,232,217,.5);border-radius:50%;
  display:grid;place-items:center;font-family:var(--display);font-size:15px;
}
.brand-copy{display:flex;flex-direction:column;gap:2px}
.brand-copy strong{font-size:14px;letter-spacing:.22em}
.brand-copy small{font-size:8px;letter-spacing:.2em;color:var(--muted)}
.desktop-nav{display:flex;gap:32px}
.desktop-nav a{
  position:relative;font-size:13px;color:#ddd5c9;transition:.25s;
}
.desktop-nav a::after{
  content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--gold);transition:.3s;
}
.desktop-nav a:hover{color:#fff}
.desktop-nav a:hover::after{right:0}
.header-actions{display:flex;align-items:center;gap:16px}
.lang-switch{display:flex;gap:4px}
.lang{
  background:transparent;border:0;color:#8f877c;padding:7px;font-size:11px;
}
.lang.active{color:var(--cream)}
.reserve-pill{
  border:1px solid rgba(240,232,217,.35);padding:11px 18px;border-radius:99px;
  font-size:12px;transition:.3s;
}
.reserve-pill:hover{background:var(--cream);color:var(--bg)}
.menu-trigger{
  width:44px;height:44px;background:transparent;border:1px solid rgba(240,232,217,.24);
  border-radius:50%;display:none;place-items:center;position:relative;
}
.menu-trigger span{position:absolute;width:16px;height:1px;background:var(--cream)}
.menu-trigger span:first-child{transform:translateY(-3px)}
.menu-trigger span:last-child{transform:translateY(3px)}

.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;padding:140px 7vw 9vh;overflow:hidden}
.hero-media,.hero-image,.hero-shade{position:absolute;inset:0}
.hero-image{
  background:
    linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.06)),
    url('https://images.unsplash.com/photo-1515003197210-e0cd71810b5f?auto=format&fit=crop&w=2200&q=88') center/cover;
  transform:scale(1.04);animation:heroZoom 14s ease-in-out infinite alternate;
}
.hero-shade{background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(10,9,8,.08) 50%,rgba(10,9,8,.84))}
@keyframes heroZoom{to{transform:scale(1.11)}}
.hero-content{position:relative;z-index:2;max-width:1040px}
.eyebrow{
  text-transform:uppercase;letter-spacing:.22em;font-size:10px;color:var(--gold);font-weight:700;
  margin:0 0 22px;
}
.hero h1,.section h2,.promo h2{
  font-family:var(--display);font-weight:400;margin:0;line-height:.86;letter-spacing:-.03em;
}
.hero h1{font-size:clamp(66px,9.5vw,148px)}
.hero h1 span{display:block}
.hero h1 .outline{-webkit-text-stroke:1px rgba(240,232,217,.75);color:transparent}
.hero-description{font-size:16px;line-height:1.6;max-width:460px;color:#d1c8bb;margin:28px 0}
.hero-ctas{display:flex;align-items:center;gap:32px}
.primary-cta{
  display:flex;align-items:center;gap:34px;background:var(--cream);color:var(--bg);
  padding:16px 18px 16px 22px;border-radius:2px;font-weight:600;font-size:13px;transition:.3s;
}
.primary-cta:hover{background:var(--gold);transform:translateY(-3px)}
.primary-cta b{font-size:20px;font-weight:400}
.text-link{font-size:13px;border-bottom:1px solid rgba(240,232,217,.5);padding-bottom:5px}
.hero-side-card{
  position:absolute;right:4vw;bottom:7vh;z-index:2;width:210px;padding:22px;
  border:1px solid rgba(240,232,217,.2);backdrop-filter:blur(12px);background:rgba(10,9,8,.24);
}
.side-label{display:block;color:var(--gold);font-size:8px;letter-spacing:.2em;margin-bottom:25px}
.hero-side-card strong{display:block;font-family:var(--display);font-size:23px;font-weight:400}
.hero-side-card small{color:#bdb4a7;line-height:1.5}
.scroll-cue{position:absolute;right:4vw;top:48%;z-index:2;display:flex;align-items:center;gap:12px;transform:rotate(90deg);transform-origin:right}
.scroll-cue span{text-transform:uppercase;font-size:9px;letter-spacing:.25em}
.scroll-cue i{width:54px;height:1px;background:#fff;position:relative}
.scroll-cue i::after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:var(--gold);right:0;top:-2px;animation:scrollDot 2s infinite}
@keyframes scrollDot{50%{right:88%}}

.marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;background:#0d0c0a}
.marquee-track{width:max-content;display:flex;align-items:center;gap:28px;animation:marquee 28s linear infinite}
.marquee span{font-family:var(--display);font-size:24px;letter-spacing:.06em}
.marquee b{color:var(--gold)}
@keyframes marquee{to{transform:translateX(-50%)}}

.section{padding:130px 6vw}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:55px}
.section h2{font-size:clamp(50px,6.5vw,100px)}
.experience{background:#0d0c0a}
.experience-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:18px}
.experience-card{min-height:610px;position:relative;overflow:hidden;background:#181511}
.experience-card.card-large{min-height:700px}
.card-image{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.experience-card:hover .card-image{transform:scale(1.06)}
.image-ceviche{background-image:linear-gradient(0deg,rgba(0,0,0,.75),transparent 60%),url('https://images.unsplash.com/photo-1539136788836-5699e78bfc75?auto=format&fit=crop&w=1400&q=85')}
.image-cocktail{background-image:linear-gradient(0deg,rgba(0,0,0,.8),transparent 65%),url('https://images.unsplash.com/photo-1551024506-0bccd828d307?auto=format&fit=crop&w=1100&q=85')}
.image-fire{background-image:linear-gradient(0deg,rgba(0,0,0,.8),transparent 65%),url('https://images.unsplash.com/photo-1547592180-85f173990554?auto=format&fit=crop&w=1100&q=85')}
.card-content{position:absolute;left:0;right:0;bottom:0;padding:30px;z-index:2}
.card-content span{font-size:10px;color:var(--gold)}
.card-content h3{font-family:var(--display);font-size:33px;font-weight:400;margin:12px 0}
.card-content p{color:#c2b8aa;font-size:13px;line-height:1.65;max-width:360px}

.menu-section{background:var(--cream);color:var(--bg)}
.menu-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:40px}
.menu-intro>p{max-width:430px;color:#5f584e;line-height:1.75}
.menu-section .eyebrow{color:#8d6425}
.category-tabs{
  display:flex;gap:10px;overflow-x:auto;padding:45px 0 26px;border-bottom:1px solid rgba(10,9,8,.14);
  scrollbar-width:none;
}
.category-tabs::-webkit-scrollbar{display:none}
.category{
  white-space:nowrap;border:1px solid rgba(10,9,8,.2);background:transparent;color:#524c44;
  padding:12px 17px;border-radius:99px;font-size:12px;transition:.25s;
}
.category.active,.category:hover{background:var(--bg);color:var(--cream);border-color:var(--bg)}
.dish-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding-top:30px}
.dish-card{background:#e7ddcd;position:relative;overflow:hidden;min-height:470px;animation:cardIn .5s both}
@keyframes cardIn{from{opacity:0;transform:translateY(18px)}}
.dish-photo{height:275px;background-size:cover;background-position:center;transition:.6s}
.dish-card:hover .dish-photo{transform:scale(1.045)}
.dish-meta{padding:21px}
.dish-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.dish-meta h3{font-family:var(--display);font-size:27px;font-weight:400;margin:0}
.price{font-weight:700;font-size:15px}
.dish-meta p{font-size:12px;line-height:1.55;color:#676056}
.dish-badge{
  position:absolute;top:14px;left:14px;background:var(--gold);color:#1c160e;
  border-radius:99px;padding:7px 10px;text-transform:uppercase;font-size:8px;font-weight:700;letter-spacing:.12em;
}
.menu-footer{display:flex;justify-content:space-between;align-items:center;margin-top:34px;border-top:1px solid rgba(10,9,8,.14);padding-top:25px}
.menu-footer p{font-size:11px;color:#71695f}
.all-menu-btn{border:0;background:transparent;display:flex;gap:18px;align-items:center;font-weight:600}
.all-menu-btn b{width:42px;height:42px;border:1px solid rgba(10,9,8,.3);border-radius:50%;display:grid;place-items:center;font-size:18px}

.story{display:grid;grid-template-columns:1.1fr 1fr;gap:8vw;align-items:center}
.story-image{
  min-height:760px;background:
  linear-gradient(180deg,transparent 60%,rgba(0,0,0,.5)),
  url('https://images.unsplash.com/photo-1414235077428-338989a2e8c0?auto=format&fit=crop&w=1500&q=86') center/cover;
  position:relative;
}
.story-stamp{
  position:absolute;right:-55px;top:70px;width:145px;height:145px;border-radius:50%;
  background:var(--gold);color:#17110a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  font-size:10px;letter-spacing:.2em;animation:spin 16s linear infinite;
}
.story-stamp b{font-size:28px}
@keyframes spin{to{transform:rotate(360deg)}}
.story-copy p:not(.eyebrow){color:#aaa094;line-height:1.8;max-width:510px;font-size:15px}
.line-link{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:24px 0;margin-top:30px;font-size:13px}
.line-link i{font-style:normal;font-size:19px;color:var(--gold)}

.promo{min-height:100svh;position:relative;display:flex;align-items:center;padding:10vh 7vw;overflow:hidden}
.promo-bg{position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(5,4,3,.9),rgba(5,4,3,.2)),
  url('https://images.unsplash.com/photo-1470337458703-46ad1756a187?auto=format&fit=crop&w=2200&q=85') center/cover;
}
.promo-content{position:relative;z-index:2;width:100%}
.promo h2{font-size:clamp(80px,12vw,180px)}
.promo-bottom{display:grid;grid-template-columns:180px 1fr 80px;gap:40px;align-items:end;margin-top:55px}
.promo-bottom strong{font-family:var(--display);font-size:100px;color:var(--gold);font-weight:400}
.promo-bottom p{max-width:430px;color:#c9c0b4;line-height:1.7}
.circle-link{width:68px;height:68px;border:1px solid rgba(255,255,255,.45);border-radius:50%;display:grid;place-items:center;font-size:24px;transition:.3s}
.circle-link:hover{background:var(--cream);color:var(--bg);transform:rotate(45deg)}

.gallery-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:45px}
.gallery-grid{display:grid;grid-template-columns:1.3fr .8fr .8fr;grid-template-rows:310px 310px;gap:14px}
.gallery-item{background-size:cover;background-position:center;overflow:hidden}
.g1{grid-row:1/3;background-image:url('https://images.unsplash.com/photo-1516211697506-8360dbcfe9a4?auto=format&fit=crop&w=1200&q=85')}
.g2{background-image:url('https://images.unsplash.com/photo-1559339352-11d035aa65de?auto=format&fit=crop&w=900&q=85')}
.g3{background-image:url('https://images.unsplash.com/photo-1504674900247-0877df9cc836?auto=format&fit=crop&w=900&q=85')}
.g4{grid-column:2/4;background-image:url('https://images.unsplash.com/photo-1550966871-3ed3cdb5ed0c?auto=format&fit=crop&w=1400&q=85')}

.reserve-section{background:#b63c2d;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start}
.reserve-section .eyebrow{color:#25130f}
.reserve-copy p:not(.eyebrow){max-width:470px;line-height:1.7;color:#f2d7d1}
.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:25px 18px;padding-top:15px}
.booking-form label{display:flex;flex-direction:column;gap:8px}
.booking-form label span{font-size:10px;text-transform:uppercase;letter-spacing:.16em}
.booking-form input,.booking-form select{
  appearance:none;border:0;border-bottom:1px solid rgba(255,255,255,.45);background:transparent;color:#fff;
  padding:12px 2px;outline:none;border-radius:0;
}
.booking-form select option{color:#111}
.booking-form button{
  grid-column:1/3;margin-top:18px;border:0;background:var(--cream);color:var(--bg);padding:18px 22px;
  display:flex;justify-content:space-between;font-weight:700;
}
.success-message{display:none;grid-column:1/3;font-size:12px;line-height:1.5}
.booking-form.submitted .success-message{display:block}

footer{padding:80px 6vw 25px;background:#070605}
.footer-brand{display:flex;flex-direction:column;align-items:flex-start}
.footer-brand h3{font-family:var(--display);font-size:54px;font-weight:400;margin:18px 0 2px}
.footer-brand p{color:var(--muted);font-size:12px}
.footer-info{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:70px 0;border-top:1px solid var(--line);padding-top:30px}
.footer-info div{display:flex;flex-direction:column;gap:8px}
.footer-info small{color:#766e64;text-transform:uppercase;letter-spacing:.16em;font-size:9px}
.footer-info span,.footer-info a{font-size:13px}
.footer-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;color:#766e64;font-size:10px}

.menu-overlay{
  position:fixed;inset:0;background:#0a0908;z-index:90;display:grid;grid-template-columns:40% 60%;
  opacity:0;visibility:hidden;transition:.45s cubic-bezier(.7,0,.2,1);
}
.menu-overlay.open{opacity:1;visibility:visible}
.overlay-visual{
  background:linear-gradient(0deg,rgba(0,0,0,.4),transparent),url('https://images.unsplash.com/photo-1515003197210-e0cd71810b5f?auto=format&fit=crop&w=1100&q=85') center/cover;
  transform:translateX(-40px);transition:.65s cubic-bezier(.7,0,.2,1);
}
.menu-overlay.open .overlay-visual{transform:none}
.overlay-content{padding:5vh 5vw;display:flex;flex-direction:column}
.overlay-top{display:flex;justify-content:space-between;color:#867e72;text-transform:uppercase;font-size:9px;letter-spacing:.22em}
.overlay-close{background:transparent;border:0;color:#fff;font-size:36px;font-weight:200}
.overlay-nav{display:flex;flex-direction:column;margin:auto 0}
.overlay-nav a{display:flex;align-items:center;gap:25px;padding:8px 0;overflow:hidden}
.overlay-nav span{font-size:9px;color:var(--gold)}
.overlay-nav em{font-family:var(--display);font-style:normal;font-size:clamp(45px,5vw,78px);line-height:1;transition:.35s}
.overlay-nav a:hover em{transform:translateX(18px);color:var(--gold)}
.overlay-footer{display:flex;justify-content:space-between;color:#8c8377;font-size:11px;border-top:1px solid var(--line);padding-top:20px}

.reveal{opacity:0;transform:translateY(34px);transition:opacity .8s ease,transform .8s ease}
.reveal.visible{opacity:1;transform:none}

@media(max-width:1050px){
  .desktop-nav{display:none}.menu-trigger{display:grid}
  .experience-grid{grid-template-columns:1fr 1fr}.card-large{grid-column:1/3}
  .dish-grid{grid-template-columns:repeat(2,1fr)}
  .story{gap:60px}.story-image{min-height:620px}
}
@media(max-width:720px){
  .site-header{height:72px;padding:0 18px}.brand-copy small{display:none}.brand-mark{width:38px;height:38px}
  .reserve-pill{display:none}.header-actions{gap:6px}.lang{padding:5px}
  .hero{padding:120px 20px 70px;min-height:95svh}
  .hero h1{font-size:clamp(55px,17vw,78px);line-height:.9}
  .hero-description{font-size:14px}.hero-side-card,.scroll-cue{display:none}
  .hero-ctas{align-items:flex-start;flex-direction:column;gap:20px}
  .section{padding:85px 20px}.section h2{font-size:48px;line-height:.94}
  .section-heading,.menu-intro,.gallery-heading{display:block}
  .experience-grid{display:block}.experience-card,.experience-card.card-large{min-height:530px;margin-bottom:14px}
  .dish-grid{grid-template-columns:1fr}.dish-card{min-height:auto}.dish-photo{height:260px}
  .menu-footer{align-items:flex-start;gap:20px}
  .story{grid-template-columns:1fr;gap:55px}.story-image{min-height:500px}.story-stamp{right:15px;top:20px;width:110px;height:110px}
  .promo{padding:80px 20px}.promo h2{font-size:64px}.promo-bottom{grid-template-columns:1fr;gap:10px}.promo-bottom strong{font-size:80px}
  .gallery-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.gallery-item{min-width:82vw;height:430px;scroll-snap-align:start}
  .reserve-section{grid-template-columns:1fr}.booking-form{grid-template-columns:1fr}.booking-form button,.success-message{grid-column:auto}
  .footer-info{grid-template-columns:1fr}.footer-bottom{gap:18px}
  .menu-overlay{grid-template-columns:1fr}.overlay-visual{display:none}.overlay-content{padding:28px 22px}
  .overlay-nav em{font-size:48px}
  .cursor-glow{display:none}
}
