:root{--color-background: #000000;--color-surface: #1A1A1A;--color-text: #FFFFFF;--color-accent: #E5B735;--font-serif: "Playfair Display", serif;--font-sans: "Karla", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--color-background);color:var(--color-text);font-family:var(--font-sans);line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:700;line-height:1.2;color:var(--color-text)}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}@media(min-width:768px){h1{font-size:3.75rem}h2{font-size:2.5rem}}a{color:var(--color-accent);text-decoration:none;transition:opacity .2s ease}a:hover{opacity:.9}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.site-header{background-color:#1a1a1ae6;backdrop-filter:blur(4px);position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(255,255,255,.1)}.header-content{display:flex;justify-content:space-between;align-items:center;padding:1rem;max-width:1200px;margin:0 auto}.logo-link{display:flex;align-items:center;gap:.75rem;color:var(--color-text)}.logo-link:hover{opacity:1}.logo-img{height:2.5rem;width:2.5rem;object-fit:contain}.logo-text{font-size:1.25rem;font-family:var(--font-serif);font-weight:700;color:var(--color-text)}.main-nav{display:none;gap:1.5rem}.main-nav a{color:var(--color-text);font-weight:500;transition:color .2s ease}.main-nav a:hover{color:var(--color-accent);opacity:1}@media(min-width:768px){.main-nav{display:flex}}.menu-button{display:block;background:none;border:none;color:var(--color-text);cursor:pointer;padding:.5rem}@media(min-width:768px){.menu-button{display:none}}.menu-button svg{width:1.5rem;height:1.5rem}.hero{position:relative;height:60vh;min-height:400px;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.7),rgba(0,0,0,.5),var(--color-background))}.hero-content{position:relative;z-index:10;text-align:center;padding:0 1rem}.hero-content h1{color:#fff;margin-bottom:1rem}.hero-subtitle{font-size:1.25rem;color:#ffffffe6;margin-bottom:1.5rem}.section{padding:4rem 1rem}.section-title{font-size:2.5rem;margin-bottom:2rem;text-align:center}.card-grid{display:grid;gap:1.5rem;max-width:1200px;margin:0 auto}@media(min-width:768px){.card-grid{grid-template-columns:repeat(3,1fr)}}.card{background-color:var(--color-surface);border-radius:.5rem;overflow:hidden;transition:transform .2s ease}.card:hover{transform:translateY(-4px)}.card-img{width:100%;height:12rem;object-fit:cover}.card-content{padding:1.5rem}.card-title{font-size:1.25rem;margin-bottom:.5rem;color:var(--color-text)}.card-text{color:#fffc;font-size:.95rem}.hours-section{background-color:var(--color-surface)}.hours-list{display:flex;flex-direction:column;gap:.75rem;max-width:400px;margin:0 auto}.hours-item{display:flex;justify-content:space-between;padding:.75rem 1rem;background-color:var(--color-background);border-radius:.25rem;color:var(--color-text)}.reservation-section{text-align:center;padding:3rem 1rem}.reservation-section h2{margin-bottom:1rem}.reservation-section p{margin-bottom:1.5rem;color:#fffc}.btn{display:inline-block;padding:.75rem 1.5rem;background-color:var(--color-accent);color:var(--color-background);font-weight:700;border-radius:.25rem;transition:opacity .2s ease}.btn:hover{opacity:.9;color:var(--color-background)}.welcome-section{max-width:800px;margin:0 auto;text-align:center;padding:4rem 1rem}.welcome-section h2{margin-bottom:1.5rem}.welcome-section p{color:#fffc;margin-bottom:1rem;line-height:1.8}.site-footer{background-color:var(--color-surface);padding:3rem 1rem;margin-top:4rem}.footer-grid{display:grid;gap:2rem;max-width:1200px;margin:0 auto}@media(min-width:768px){.footer-grid{grid-template-columns:repeat(3,1fr)}}.footer-section h3{margin-bottom:1rem;color:var(--color-text)}.footer-section p,.footer-section a{color:#fffc}.footer-section a:hover{color:var(--color-accent);opacity:1}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:2rem;padding-top:2rem;text-align:center;color:#fff9;font-size:.875rem;max-width:1200px;margin-left:auto;margin-right:auto}.gallery-grid{display:grid;gap:2rem;max-width:1200px;margin:0 auto}@media(min-width:768px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}.gallery-item{background-color:var(--color-surface);border-radius:.5rem;overflow:hidden}.gallery-img{width:100%;height:16rem;object-fit:cover}.gallery-content{padding:1.5rem}.gallery-content h3{color:var(--color-text);margin-bottom:.5rem}.gallery-content p{color:#fffc}.contact-grid{display:grid;gap:2rem;max-width:1200px;margin:0 auto}@media(min-width:768px){.contact-grid{grid-template-columns:repeat(2,1fr)}}.contact-info,.contact-map{padding:1.5rem;background-color:var(--color-surface);border-radius:.5rem}.contact-info h3,.contact-map h3{margin-bottom:1rem;color:var(--color-text)}.contact-info p{color:#fffc;margin-bottom:.5rem}.event-card{background-color:var(--color-surface);border-radius:.5rem;padding:2rem;margin-bottom:1.5rem;text-align:center;border:1px solid rgba(255,255,255,.1)}.event-card h2{color:var(--color-accent);margin-bottom:.5rem;font-size:1.5rem}.event-date{color:var(--color-accent);font-weight:700;margin-bottom:1rem}.event-description{color:#fffc;margin-bottom:1rem;line-height:1.6}.event-details{color:#fff9;font-size:.875rem}.contact-card{background-color:var(--color-surface);border-radius:.5rem;padding:2rem;margin-bottom:1.5rem;border:1px solid rgba(255,255,255,.1)}.menu-category{margin-bottom:3rem;max-width:800px;margin-left:auto;margin-right:auto;text-align:center}.menu-category h3{color:var(--color-accent);font-size:1.75rem;margin-bottom:2rem;font-family:var(--font-serif);padding-bottom:.5rem;border-bottom:2px solid var(--color-accent)}.menu-item{background-color:var(--color-background);border-radius:.5rem;padding:1.5rem;margin-bottom:1rem;border:1px solid rgba(255,255,255,.1);text-align:left}.menu-item-name{color:var(--color-text);font-weight:700;margin-bottom:.25rem}.menu-item-desc{color:#fff9;font-size:.875rem}.menu-item-price{color:var(--color-accent);font-weight:700}.text-center{text-align:center}.text-left{text-align:left}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.p-4{padding:1rem}.space-y-4>*+*{margin-top:1rem}
