@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&display=swap");*,:after,:before{margin:0;padding:0;box-sizing:border-box}:root{--wine:#722f37;--wine-dark:#5a252c;--cream:#faf3e0;--bronze:#cd7f32;--bronze-light:#e8a94d;--black:#1a1a1a;--white:#fff}html{scroll-behavior:smooth;font-size:16px}body{font-family:Playfair Display,Georgia,serif;background-color:var(--cream);color:var(--black);line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}.section-label{font-size:.75rem;letter-spacing:.25em;text-transform:uppercase;color:var(--bronze);font-weight:500;margin-bottom:1rem}.section-title{font-size:clamp(2rem,5vw,3.5rem);font-weight:500;color:var(--wine);line-height:1.2;margin-bottom:1.5rem}.divider{width:60px;height:1px;background-color:var(--bronze);margin:2rem 0}.divider-center{margin:2rem auto}.btn{display:inline-block;padding:1rem 2.5rem;font-size:.875rem;letter-spacing:.15em;text-transform:uppercase;font-weight:500;transition:all .3s ease;cursor:pointer}.btn-primary{background-color:var(--wine);color:var(--cream);border:1px solid var(--wine)}.btn-primary:hover{background-color:var(--wine-dark);border-color:var(--wine-dark)}.btn-outline{background-color:transparent;color:var(--cream);border:1px solid var(--cream)}.btn-outline:hover{background-color:var(--cream);color:var(--wine)}.btn-outline-dark{color:var(--wine);border-color:var(--wine)}.btn-outline-dark:hover{background-color:var(--wine);color:var(--cream)}.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.5rem 0;transition:background-color .4s ease,padding .4s ease}.nav.scrolled{background-color:rgba(114,47,55,.95);padding:1rem 0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.nav-inner{display:flex;align-items:center;justify-content:space-between}.nav-logo{font-size:1.5rem;font-weight:600;color:var(--cream);letter-spacing:.05em}.nav-links{display:flex;gap:2.5rem;list-style:none}.nav-links a{color:var(--cream);font-size:.875rem;letter-spacing:.1em;text-transform:uppercase;transition:color .3s ease;position:relative}.nav-links a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1px;background-color:var(--bronze);transition:width .3s ease}.nav-links a:hover:after{width:100%}.nav-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px}.nav-toggle span{display:block;width:24px;height:1.5px;background-color:var(--cream);transition:all .3s ease}.hero{position:relative;height:100vh;min-height:700px;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-bg{position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,26,26,.3),rgba(26,26,26,.5)),url(https://images.unsplash.com/photo-1414235077428-338989a2e8c0?w=1920&q=80) 50%/cover no-repeat;transform:scale(1.1);transition:transform .1s linear}.hero-content{position:relative;z-index:2;text-align:center;color:var(--cream);padding:0 24px}.hero-label{font-size:.75rem;letter-spacing:.3em;text-transform:uppercase;color:var(--bronze-light);margin-bottom:1.5rem}.hero-title{font-size:clamp(2.5rem,8vw,6rem);font-weight:400;line-height:1.1;margin-bottom:1.5rem}.hero-title em{font-style:italic;color:var(--bronze-light)}.hero-subtitle{font-size:clamp(1rem,2vw,1.25rem);font-weight:400;opacity:.9;margin-bottom:3rem;font-style:italic}.hero-cta{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap}.hero-scroll{position:absolute;bottom:3rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--cream);font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;opacity:.7}.hero-scroll-line{width:1px;height:40px;background:linear-gradient(to bottom,var(--cream),transparent);animation:scrollPulse 2s ease-in-out infinite}@keyframes scrollPulse{0%,to{opacity:.3}50%{opacity:1}}.menu-section{padding:8rem 0;background-color:var(--cream)}.menu-header{text-align:center;margin-bottom:5rem}.menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-gap:4rem;gap:4rem}.menu-category h3{font-size:1.5rem;font-weight:500;color:var(--wine);text-align:center}.menu-category h3,.menu-item{margin-bottom:2rem}.menu-item-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.5rem}.menu-item-name{font-size:1.125rem;font-weight:500;color:var(--black)}.menu-item-price{font-size:1rem;color:var(--bronze);font-weight:500}.menu-item-desc{font-size:.875rem;color:#666;font-style:italic;line-height:1.6}.chef-section{padding:8rem 0;background-color:var(--wine);color:var(--cream)}.chef-inner{display:grid;grid-template-columns:1fr 1fr;grid-gap:6rem;gap:6rem;align-items:center}.chef-image-wrapper{position:relative;aspect-ratio:3/4;overflow:hidden}.chef-image{width:100%;height:100%;object-fit:cover;filter:sepia(10%) contrast(1.05)}.chef-content{padding:2rem 0}.chef-content .section-label{color:var(--bronze-light)}.chef-content .section-title{color:var(--cream)}.chef-content .divider{background-color:var(--bronze)}.chef-bio{font-size:1.125rem;line-height:1.8;opacity:.9;margin-bottom:2rem}.chef-signature{font-size:2rem;font-style:italic;color:var(--bronze-light)}.reservation-section{padding:8rem 0;background-color:var(--cream)}.reservation-inner{display:grid;grid-template-columns:1fr 1fr;grid-gap:6rem;gap:6rem;align-items:start}.reservation-info h2{margin-bottom:1.5rem}.reservation-info p{font-size:1.125rem;line-height:1.8;color:#555;margin-bottom:2rem}.reservation-detail{gap:1rem;margin-bottom:1rem}.reservation-detail,.reservation-detail-icon{display:flex;align-items:center;font-size:1rem}.reservation-detail-icon{width:40px;height:40px;justify-content:center;background-color:var(--wine);color:var(--cream)}.reservation-form{background-color:var(--white);padding:3rem;border:1px solid rgba(114,47,55,.1)}.form-group{margin-bottom:1.5rem}.form-label{display:block;font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--wine);margin-bottom:.5rem;font-weight:500}.form-input,.form-select,.form-textarea{width:100%;padding:1rem;font-family:inherit;font-size:1rem;border:1px solid #ddd;background-color:var(--white);transition:border-color .3s ease;color:var(--black)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--wine)}.form-textarea{resize:vertical;min-height:120px}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}.form-submit{width:100%;padding:1.25rem;background-color:var(--wine);color:var(--cream);font-size:.875rem;letter-spacing:.15em;text-transform:uppercase;font-weight:500;border:none;cursor:pointer;transition:background-color .3s ease}.form-submit:hover{background-color:var(--wine-dark)}.location-section{padding:8rem 0;background-color:var(--black);color:var(--cream)}.location-section .section-label{color:var(--bronze-light)}.location-section .section-title{color:var(--cream)}.location-inner{display:grid;grid-template-columns:1fr 1fr;grid-gap:4rem;gap:4rem}.location-details{display:flex;flex-direction:column;gap:2.5rem}.location-block h4{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze);margin-bottom:1rem;font-weight:500}.location-block p{font-size:1rem;line-height:1.8;opacity:.85}.location-block a{color:var(--bronze-light);transition:opacity .3s ease}.location-block a:hover{opacity:.8}.location-map{aspect-ratio:1;background-color:#2a2a2a;display:flex;align-items:center;justify-content:center;border:1px solid rgba(205,127,50,.2);position:relative;overflow:hidden}.location-map:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(205,127,50,.05) 1px,transparent 0),linear-gradient(rgba(205,127,50,.05) 1px,transparent 0);background-size:40px 40px}.location-map-pin{width:60px;height:60px;background-color:var(--wine);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;position:relative;z-index:1}.location-map-pin:after{content:"";position:absolute;width:80px;height:80px;border:1px solid var(--wine);border-radius:50%;opacity:.3;animation:ping 2s ease-out infinite}@keyframes ping{0%{transform:scale(1);opacity:.3}to{transform:scale(1.5);opacity:0}}.footer{padding:4rem 0 2rem;background-color:var(--wine-dark);color:var(--cream)}.footer-inner{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;grid-gap:4rem;gap:4rem;margin-bottom:4rem}.footer-brand h3{font-size:1.5rem;font-weight:600;margin-bottom:1rem}.footer-brand p{font-size:.875rem;opacity:.7;line-height:1.7}.footer-col h4{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze);margin-bottom:1.5rem;font-weight:500}.footer-col ul{list-style:none}.footer-col li{margin-bottom:.75rem}.footer-col a{font-size:.875rem;opacity:.7;transition:opacity .3s ease}.footer-col a:hover{opacity:1}.footer-bottom{border-top:1px solid hsla(44,72%,93%,.1);padding-top:2rem;display:flex;justify-content:space-between;align-items:center;font-size:.75rem;opacity:.5}.mobile-menu{display:none;position:fixed;inset:0;background-color:var(--wine);z-index:99;flex-direction:column;align-items:center;justify-content:center;gap:2rem;opacity:0;pointer-events:none;transition:opacity .3s ease}.mobile-menu.open{opacity:1;pointer-events:auto}.mobile-menu a{color:var(--cream);font-size:1.5rem;letter-spacing:.1em;text-transform:uppercase}@media (max-width:1024px){.chef-inner,.location-inner,.reservation-inner{grid-template-columns:1fr;gap:3rem}.chef-image-wrapper{max-width:500px;margin:0 auto}.footer-inner{grid-template-columns:1fr 1fr;gap:3rem}}@media (max-width:768px){.nav-links{display:none}.mobile-menu,.nav-toggle{display:flex}.hero{min-height:600px}.chef-section,.location-section,.menu-section,.reservation-section{padding:5rem 0}.menu-grid{gap:3rem}.form-row{grid-template-columns:1fr}.reservation-form{padding:2rem}.footer-inner{grid-template-columns:1fr;gap:2rem;text-align:center}.footer-bottom{flex-direction:column;gap:1rem;text-align:center}}@media (max-width:480px){.hero-cta{flex-direction:column;align-items:center}.btn{width:100%;text-align:center}.location-map{aspect-ratio:4/3}}