
:root{
  --navy:#061426; --navy2:#081b31; --panel:#071728;
  --gold:#d89b50; --gold2:#f0bb70; --cream:#f7efe4;
  --muted:#c2b9ae; --line:rgba(216,155,80,.42);
}
*{box-sizing:border-box;min-width:0}
html,body{margin:0;width:100%;max-width:100%;overflow-x:hidden;background:#02070d}
body{color:var(--cream);font-family:Montserrat,Arial,sans-serif}
button,a{font:inherit} button{cursor:pointer}
.app-shell{
  width:100%; max-width:760px; min-height:100vh; margin:0 auto;
  background:linear-gradient(180deg,#07192d 0,#061426 38%,#040c16 100%);
}
.brand-header{
  position:relative; width:100%; height:235px; overflow:hidden;
  background:#061426; display:flex; align-items:center; justify-content:center;
}
.official-logo{
  display:block; width:100%; height:100%; object-fit:contain; object-position:center;
}
.top-menu,.top-wine{
  position:absolute; z-index:5; top:16px; width:48px; height:48px;
  border-radius:50%; color:var(--gold2); background:rgba(2,8,14,.62);
  border:1px solid rgba(216,155,80,.58); font-size:23px;
}
.top-menu{left:16px}.top-wine{right:16px}
.hero{position:relative;width:100%;height:auto;overflow:hidden;background:#02070d}
.hero img{display:block;width:100%;height:auto;aspect-ratio:1400/760;object-fit:cover}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(4,12,22,.88) 100%)}
.hero-title{position:absolute;left:0;right:0;bottom:18px;text-align:center;color:var(--gold2);text-shadow:0 3px 12px #000}
.hero-title>span{font-family:Cinzel,serif;font-size:clamp(34px,10vw,62px);letter-spacing:.06em}
.ornament{display:flex;justify-content:center;align-items:center;gap:9px}
.ornament i{width:62px;height:1px;background:var(--gold)} .ornament b{font-size:9px}
main{width:100%;padding:14px 12px 28px}
.categories{
  width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;margin:0;scroll-margin-top:12px;
}
.cat-card{
  width:100%;min-height:112px;padding:10px 2px;border:1px solid var(--gold);
  background:linear-gradient(180deg,#0a1d33,#061426);color:var(--cream);
  display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;
  clip-path:polygon(9% 0,91% 0,100% 9%,100% 91%,91% 100%,9% 100%,0 91%,0 9%);
}
.cat-icon{font-size:27px}
.cat-card span:last-child{font-family:Cinzel,serif;font-size:clamp(7px,2.25vw,11px);white-space:nowrap}
.reserve-strip{width:100%;margin:18px 0;border:1px solid var(--gold);background:#071728;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px}
.reserve-copy span,.reserve-copy strong{display:block;color:var(--gold2);font-family:Cinzel,serif}
.reserve-copy span{font-size:12px}.reserve-copy strong{font-size:18px}
.reserve-btn{text-decoration:none;color:#1a1209;font-weight:700;background:linear-gradient(180deg,#f4c67f,#d38f42);border-radius:999px;padding:12px 17px}
.menu-section{width:100%;scroll-margin-top:12px;margin:18px 0;padding:20px 16px;border:1px solid rgba(216,155,80,.31);background:linear-gradient(180deg,rgba(8,27,49,.96),rgba(5,17,31,.97))}
.section-heading{display:flex;flex-direction:column;align-items:center;gap:4px;margin-bottom:8px}
.section-heading span{font-family:Cinzel,serif;color:var(--gold2);font-size:25px;letter-spacing:.07em}
.section-heading small{color:var(--muted);font-size:9px;letter-spacing:.15em}
.section-heading:after{content:"◆";color:var(--gold);font-size:8px}
.menu-items article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:14px 0;border-bottom:1px solid rgba(216,155,80,.19)}
.menu-items article:last-child{border-bottom:0}
.menu-items h3{margin:0 0 5px;font-family:Cinzel,serif;font-size:15px;font-weight:600;color:#f5dfc3}
.menu-items p{margin:0;color:var(--muted);font-size:12.5px;line-height:1.5}
.menu-items strong{color:var(--gold2);font-family:Cinzel,serif;font-size:17px;white-space:nowrap}
.subheading{margin:18px 0 4px;color:var(--gold2);font-family:Cinzel,serif;text-align:center;letter-spacing:.14em}
.placeholder p{color:var(--muted);text-align:center;line-height:1.7}
.footer-actions{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:18px 0 6px;border-top:1px solid rgba(216,155,80,.32)}
.footer-actions a,.footer-actions button{text-decoration:none;border:0;background:none;color:var(--gold2);text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}
.foot-icon{font-size:25px}.footer-actions small{font-size:8px;color:var(--cream)}
.to-top{position:fixed;right:18px;bottom:18px;display:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--gold);background:#071728;color:var(--gold2);font-size:21px}
@media(max-width:430px){
  .brand-header{height:210px}
  main{padding-left:9px;padding-right:9px}
  .categories{gap:5px}
  .cat-card{min-height:105px}
  .cat-icon{font-size:25px}
}
