
:root{
  --bg:#0a0b0b; --panel:#101212; --text:#f4efe8; --muted:#b7b0a7;
  --soft:#8e8880; --line:rgba(244,239,232,.16); --accent:#d99b4a;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:"DM Sans",sans-serif;font-size:15px;line-height:1.65}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
.site-header{height:92px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;background:rgba(10,11,11,.88);backdrop-filter:blur(14px)}
.logo{font-weight:700;letter-spacing:.16em;font-size:20px}.logo span{color:var(--accent)}
.nav{display:flex;gap:34px;align-items:center}.nav a{font-size:13px;color:#d7d1c9;transition:.25s}.nav a:hover{color:var(--accent)}
.header-cta,.btn{border:1px solid var(--line);padding:13px 22px;border-radius:999px;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:600;transition:.25s}
.header-cta{border-color:rgba(217,155,74,.7)}.header-cta:hover,.btn-ghost:hover{background:rgba(217,155,74,.1);border-color:var(--accent)}
.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:22px}
.hero{min-height:calc(100vh - 92px);position:relative;display:flex;align-items:center;padding:8vw 10vw;overflow:hidden}
.hero-image{position:absolute;inset:0;background:url("https://images.unsplash.com/photo-1544025162-d76694265947?auto=format&fit=crop&w=2200&q=90") center/cover}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,9,9,.86) 0%,rgba(8,9,9,.58) 48%,rgba(8,9,9,.2) 100%)}
.hero-content{position:relative;z-index:2;max-width:690px}.eyebrow{color:var(--accent);font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:600}
h1,h2,h3,blockquote{font-family:"Playfair Display",serif;font-weight:500;line-height:.95;margin:0}
h1{font-size:clamp(68px,9vw,128px);letter-spacing:-.055em}.hero h1 em,h2 em,h3 em,blockquote em{font-weight:500}
.hero-text{max-width:560px;color:#ddd5cc;margin:28px 0 34px;font-size:16px}
.hero-actions{display:flex;gap:12px}.btn-primary{background:#f2eee7;color:#151515;border-color:#f2eee7}.btn-primary:hover{background:#fff}.btn-ghost{color:#eee}
.hero-card{position:absolute;right:9vw;bottom:10vh;width:140px;height:140px;border:1px solid rgba(244,239,232,.35);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;z-index:2}
.hero-card span,.hero-card small{font-size:9px;letter-spacing:.16em;color:var(--muted)}.hero-card strong{font-family:"Playfair Display";font-size:36px;font-weight:500;margin:3px}
.scroll-note{position:absolute;bottom:34px;left:10vw;color:#aaa;font-size:9px;letter-spacing:.2em}
.section{padding:130px 7vw}.section-label{font-size:10px;letter-spacing:.2em;color:var(--soft);margin-bottom:55px}
.story-grid,.section-heading,.gallery-heading{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end}
h2{font-size:clamp(48px,6vw,86px);letter-spacing:-.045em}.story-copy{max-width:530px;color:var(--muted)}.story-copy p{margin:0 0 18px}.text-link{display:inline-block;margin-top:14px;color:#eee;border-bottom:1px solid var(--accent);padding-bottom:4px}
.section-heading>p,.gallery-heading>p{color:var(--muted);max-width:380px;margin:0 0 6px}
.dish-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:60px}.dish-card{background:var(--panel);border:1px solid var(--line)}
.dish-image{height:340px;background-size:cover;background-position:center;position:relative}.dish-1{background-image:url("https://images.unsplash.com/photo-1544025162-d76694265947?auto=format&fit=crop&w=1000&q=88")}.dish-2{background-image:url("https://images.unsplash.com/photo-1558030006-450675393462?auto=format&fit=crop&w=1000&q=88")}.dish-3{background-image:url("https://images.unsplash.com/photo-1546833999-b9f581a1996d?auto=format&fit=crop&w=1000&q=88")}
.dish-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.6))}.dish-image span{position:absolute;left:18px;bottom:16px;z-index:1;font-size:9px;letter-spacing:.15em}.dish-body{padding:22px}.dish-body>span{font-size:10px;color:var(--soft)}.dish-body h3{font-size:30px;margin:12px 0}.dish-body p{color:var(--muted);font-size:13px;min-height:64px}.dish-body strong{display:block;margin-top:20px;font-size:15px;color:#eee}.menu-note{color:var(--soft);font-size:10px;margin-top:22px}
.quote-band{padding:120px 7vw;text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#0d0f0f}.quote-band blockquote{font-size:clamp(48px,7vw,90px);margin-top:18px}
.gallery-heading{align-items:end}.gallery-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr;grid-template-rows:280px 280px;gap:12px;margin-top:58px}.gallery-item{margin:0;overflow:hidden}.gallery-item.tall{grid-row:span 2}.gallery-item.wide{grid-column:2 / 4}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.gallery-item:hover img{transform:scale(1.035)}
.experience-panel{padding:80px 7vw;border:1px solid var(--line);background:linear-gradient(120deg,#121414,#0d0f0f);display:flex;justify-content:space-between;gap:50px;align-items:end}.experience-stats{display:flex;gap:70px}.experience-stats div{display:flex;flex-direction:column}.experience-stats strong{font-family:"Playfair Display";font-size:42px}.experience-stats span{color:var(--muted);font-size:11px}
.reservation-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.contact-copy{color:var(--muted);max-width:500px;margin:28px 0}.quick-links{display:flex;gap:22px;font-size:10px;letter-spacing:.14em;text-transform:uppercase}.quick-links a{border-bottom:1px solid var(--line);padding-bottom:4px}
.reservation-form{border:1px solid var(--line);padding:30px;background:#0e1010}.reservation-form label{display:block;color:#bcb5ad;font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px}.reservation-form input,.reservation-form select,.reservation-form textarea{width:100%;margin-top:8px;background:#151717;border:1px solid var(--line);color:#f3eee8;padding:14px;outline:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.submit-btn{width:100%;cursor:pointer}.form-message{color:var(--accent);font-size:11px}.success-card{display:none;margin-top:14px;padding:16px;border:1px solid rgba(217,155,74,.45);background:rgba(217,155,74,.07);gap:10px;flex-direction:column}.success-card.show{display:flex}.success-card strong{font-size:13px}.success-card span{font-size:11px;color:var(--muted)}.success-icon{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--accent);color:var(--accent)}
.location{padding-top:90px;padding-bottom:80px}.location-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:7vw;align-items:center}.map-card{height:500px;overflow:hidden;border:1px solid var(--line)}.map-card iframe{width:100%;height:100%;border:0;filter:saturate(.65) contrast(1.03) brightness(.88)}
.contact-info{padding:8px 0}.contact-info .eyebrow{margin-bottom:24px}.contact-info h3{font-size:clamp(58px,6vw,88px);letter-spacing:-.05em;margin-bottom:50px}.contact-info>div{padding:22px 0;border-bottom:1px solid var(--line)}.contact-info>div:first-of-type{border-top:1px solid var(--line)}.contact-info>div>span{display:block;color:var(--accent);font-size:10px;letter-spacing:.2em;font-weight:600;margin-bottom:7px}.contact-info p{margin:0;color:#eee;font-size:16px;line-height:1.55}.contact-info .btn{display:inline-block;margin-top:28px}
.footer{border-top:1px solid var(--line);padding:30px 7vw;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;color:var(--soft);font-size:11px}.footer p{text-align:center;margin:0}.footer small{text-align:right}
.page-loader{position:fixed;inset:0;background:#090a0a;display:grid;place-items:center;z-index:100;transition:opacity .5s}.page-loader>span{font-weight:700;letter-spacing:.18em}.page-loader span span{color:var(--accent)}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){
  .nav{display:none;position:absolute;top:92px;left:0;right:0;background:#0b0c0c;border-bottom:1px solid var(--line);padding:20px 7vw;flex-direction:column;align-items:flex-start}.nav.open{display:flex}.menu-toggle{display:block}.header-cta{display:none}
  .hero{padding:100px 7vw;min-height:760px}.hero-card{right:7vw;bottom:7vw}.hero-text{font-size:14px}.section{padding:90px 7vw}
  .story-grid,.section-heading,.gallery-heading,.reservation-grid,.location-grid{grid-template-columns:1fr;gap:35px}.dish-grid{grid-template-columns:1fr}.dish-image{height:380px}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:240px 240px 240px}.gallery-item.tall{grid-row:span 2}.gallery-item.wide{grid-column:1 / 3}
  .experience-panel{flex-direction:column;align-items:flex-start}.experience-stats{gap:35px}.map-card{height:390px}.footer{grid-template-columns:1fr;gap:15px;text-align:center}.footer p,.footer small{text-align:center}
}
@media(max-width:560px){
  .site-header{height:76px}.nav{top:76px}.hero{min-height:720px}.hero-card{width:105px;height:105px}.hero-card strong{font-size:28px}.hero-card small{font-size:7px}
  .hero-actions{flex-wrap:wrap}.gallery-grid{grid-template-columns:1fr;grid-template-rows:300px 220px 220px 300px}.gallery-item.tall,.gallery-item.wide{grid-column:auto;grid-row:auto}
  .form-row{grid-template-columns:1fr}.contact-info h3{font-size:54px}.map-card{height:330px}
}
