:root{
  --ivory:#FAF7F2;
  --ocean:#1A2E3C;
  --gold:#D4A373;
  --ink:#10202A;
  --muted:#6B7C87;
  --white:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ocean);
  background:var(--ivory);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji","Segoe UI Emoji", "Segoe UI Symbol", sans-serif;
  line-height:1.6;
  font-size:16px;
}
h1,h2,h3,h4{font-family:"Playfair Display", Georgia, "Times New Roman", Times, serif; color:var(--ocean); line-height:1.2}
h1{font-size:clamp(2rem, 4vw, 3rem); margin:0.25em 0}
h2{font-size:clamp(1.5rem, 3vw, 2rem); margin:0.5em 0}
h3{font-size:clamp(1.2rem, 2.2vw, 1.4rem); margin:0.4em 0}
p{margin:0.4em 0 1em}
.container{max-width:1200px; margin:0 auto; padding:0 24px}
.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:8px;top:8px;width:auto;height:auto;padding:8px 12px;background:var(--white);border:1px solid var(--ocean)}
.site-header{position:sticky; top:0; z-index:999; background:rgba(250,247,242,0.9); backdrop-filter:saturate(180%) blur(10px); border-bottom:1px solid rgba(16,32,42,0.06)}
.nav{display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:64px}
.brand img{display:block}
.nav-menu{display:flex; gap:18px; list-style:none; margin:0; padding:0}
.nav-menu a{color:var(--ocean); text-decoration:none; font-weight:500}
.nav-menu .btn{padding:10px 14px}
.nav-toggle{display:none; background:none; border:0}
.nav-toggle span{display:block; width:24px; height:2px; background:var(--ocean); margin:5px 0; transition:.2s}
@media (max-width: 800px){
  .nav-toggle{display:block}
  .nav-menu{position:absolute; right:24px; top:64px; background:var(--ivory); padding:12px; flex-direction:column; border:1px solid rgba(16,32,42,0.08); display:none}
  .nav-menu.open{display:flex}
}
.btn{display:inline-block; background:var(--ocean); color:var(--ivory); padding:12px 18px; border-radius:999px; text-decoration:none; font-weight:600; border:1px solid var(--ocean)}
.btn:hover{opacity:.9}
.btn-accent{background:var(--gold); border-color:var(--gold); color:var(--ink)}
.hero{position:relative; min-height:70vh; display:grid; place-items:center; overflow:hidden}
.hero-media{width:100%; height:100%; object-fit:cover; position:absolute; inset:0}
.hero-overlay{position:absolute; inset:0; background:linear-gradient(180deg, rgba(26,46,60,0.55), rgba(26,46,60,0.35) 40%, rgba(250,247,242,0.0) 70%)}
.hero-content{position:relative; text-align:center; color:var(--ivory); padding:64px 0}
.hero-logo{filter:drop-shadow(0 8px 20px rgba(0,0,0,0.25))}
.hero h1{color:var(--ivory)}
.hero .sub{font-size:1.1rem; max-width:720px; margin:0.5rem auto 1rem}
.hero-cta{display:flex; gap:12px; justify-content:center; flex-wrap:wrap}
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:24px}
.card{background:var(--white); padding:16px; border-radius:16px; box-shadow:0 4px 18px rgba(16,32,42,0.06); border:1px solid rgba(16,32,42,0.06)}
.card img{width:100%; height:auto; display:block; border-radius:12px}
@media (max-width: 900px){ .grid-3{grid-template-columns:1fr} }
.about-wrap{display:grid; grid-template-columns:1.2fr 1fr; gap:24px; align-items:center}
.about-media img{border-radius:16px}
.about-text .link-arrow{color:var(--ocean); text-decoration:none; font-weight:600}
.about-text .link-arrow:hover{opacity:.85}
@media (max-width: 900px){ .about-wrap{grid-template-columns:1fr} }
.menu-preview .menu-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
.menu-item{background:var(--white); padding:16px; border-radius:12px; border:1px solid rgba(16,32,42,0.06)}
.menu-item .price{float:right; font-weight:700; color:var(--ocean)}
.menu-note{color:var(--muted); font-size:0.95rem}
@media (max-width: 900px){ .menu-preview .menu-grid{grid-template-columns:1fr} }
.gallery-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
.gallery-card img{width:100%; height:auto; display:block; border-radius:12px}
@media (max-width: 900px){ .gallery-grid{grid-template-columns:1fr} }
.contact .contact-wrap{display:grid; grid-template-columns:1fr 1fr; gap:24px}
.booking-form{display:grid; grid-template-columns:1fr 1fr; gap:12px; background:var(--white); padding:16px; border-radius:16px; border:1px solid rgba(16,32,42,0.06)}
.booking-form label{display:grid; gap:6px; font-size:0.95rem}
.booking-form input,.booking-form textarea{padding:10px 12px; border:1px solid rgba(16,32,42,0.2); border-radius:8px; font:inherit}
.booking-form textarea{grid-column:1/-1}
.booking-form button{grid-column:1/-1; justify-self:start}
@media (max-width: 900px){ .contact .contact-wrap{grid-template-columns:1fr} .booking-form{grid-template-columns:1fr} }
.site-footer{margin-top:48px; padding:24px 0; border-top:1px solid rgba(16,32,42,0.08)}
.site-footer nav{display:flex; gap:16px}
