*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color:#ff6b6b;--secondary-color:#ffd43b;--accent-color:#51cf66;--dark-color:#1a1a1a;--light-color:#f8f9fa;--text-color:#2d3436;--text-light:#636e72;--border-color:#dfe6e9;--font-primary:'Cormorant Garamond',serif;--font-secondary:'Montserrat',sans-serif;--transition-smooth:all .4s cubic-bezier(.4,0,.2,1);--transition-fast:all .2s ease}html{scroll-behavior:smooth;overflow-x:hidden}body{font-family:var(--font-secondary);color:var(--text-color);line-height:1.6;overflow-x:hidden;background:#fff}img{max-width:100%;height:auto;display:block}a{text-decoration:none;color:inherit;transition:var(--transition-fast)}ul{list-style:none}button{cursor:pointer;border:none;background:0 0;font-family:inherit}.cursor{width:20px;height:20px;border:2px solid var(--primary-color);border-radius:50%;position:fixed;pointer-events:none;z-index:9999;transition:.1s;transform:translate(-50%,-50%);mix-blend-mode:difference}.cursor-follower{width:8px;height:8px;background:var(--primary-color);border-radius:50%;position:fixed;pointer-events:none;z-index:9999;transition:.15s;transform:translate(-50%,-50%)}h1,h2,h3,h4,h5,h6{font-family:var(--font-primary);font-weight:600;line-height:1.2;margin-bottom:1rem}h1{font-size:clamp(2.5rem,5vw,4.5rem)}h2{font-size:clamp(2rem,4vw,3.5rem)}h3{font-size:clamp(1.5rem,3vw,2.5rem)}h4{font-size:1.5rem}p{margin-bottom:1rem;color:var(--text-light)}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.container-fluid{max-width:100%;padding:0 2rem}.section-title{font-size:clamp(2rem,4vw,3.5rem);margin-bottom:3rem;position:relative;display:inline-block}.section-title.center{display:block;text-align:center}.section-title::after{content:'';position:absolute;bottom:-10px;left:0;width:60px;height:3px;background:var(--primary-color)}.section-title.center::after{left:50%;transform:translateX(-50%)}.btn{display:inline-block;padding:1rem 2.5rem;font-family:var(--font-secondary);font-size:1rem;font-weight:500;text-transform:uppercase;letter-spacing:1px;border-radius:50px;transition:var(--transition-smooth);position:relative;overflow:hidden;z-index:1}.btn::before{content:'';position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,.3);transition:width .6s,height .6s,top .6s,left .6s;transform:translate(-50%,-50%);z-index:-1}.btn:hover::before{width:300px;height:300px}.btn-primary{background:var(--primary-color);color:#fff;border:2px solid var(--primary-color)}.btn-primary:hover{background:#ff5252;border-color:#ff5252;transform:translateY(-2px);box-shadow:0 10px 30px rgba(255,107,107,.3)}.btn-secondary{background:0 0;color:var(--dark-color);border:2px solid var(--dark-color)}.btn-secondary:hover{background:var(--dark-color);color:#fff;transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.2)}.btn-full{width:100%}.navbar{position:fixed;top:0;left:0;width:100%;padding:1.5rem 0;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);box-shadow:0 2px 20px rgba(0,0,0,.1);z-index:1000;transition:var(--transition-smooth)}.nav-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.logo h1{font-size:2rem;color:var(--primary-color);margin:0;font-weight:700;letter-spacing:2px}.nav-menu{display:flex;gap:3rem;align-items:center}.nav-menu a{font-weight:500;text-transform:uppercase;letter-spacing:1px;font-size:.9rem;position:relative;padding:.5rem 0}.nav-menu a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--primary-color);transition:width .3s ease}.nav-menu a.active::after,.nav-menu a:hover::after{width:100%}.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;z-index:1001}.hamburger span{width:25px;height:3px;background:var(--dark-color);transition:var(--transition-smooth);border-radius:3px}.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(8px,8px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}.hero{height:100vh;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(135deg,#667eea 0,#764ba2 100%)}.hero::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 20% 50%,rgba(255,107,107,.3) 0,transparent 50%),radial-gradient(circle at 80% 80%,rgba(81,207,102,.3) 0,transparent 50%),radial-gradient(circle at 40% 20%,rgba(255,212,59,.3) 0,transparent 50%);animation:heroGradient 15s ease infinite}@keyframes heroGradient{0%,100%{opacity:1}50%{opacity:.8}}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.3);z-index:1}.hero-content{position:relative;z-index:2;text-align:center;color:#fff;padding:2rem}.hero-title{font-size:clamp(2.5rem,6vw,5rem);margin-bottom:1.5rem;animation:fadeInUp 1s ease .3s both;text-shadow:2px 2px 20px rgba(0,0,0,.3)}.hero-subtitle{font-size:clamp(1rem,2vw,1.5rem);margin-bottom:2.5rem;color:rgba(255,255,255,.9);animation:fadeInUp 1s ease .6s both}.hero-content .btn{animation:fadeInUp 1s ease .9s both}.scroll-indicator{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);z-index:2}.scroll-indicator span{display:block;width:2px;height:40px;background:rgba(255,255,255,.6);position:relative;animation:scrollDown 2s infinite}@keyframes scrollDown{0%{height:10px;opacity:0}50%{height:40px;opacity:1}100%{height:10px;opacity:0}}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.about-section{padding:8rem 0;background:#fff}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}.about-image{position:relative}.image-wrapper{position:relative;border-radius:20px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.15);transition:var(--transition-smooth)}.image-wrapper:hover{transform:translateY(-10px);box-shadow:0 30px 80px rgba(0,0,0,.2)}.image-wrapper svg{display:block;width:100%;height:auto}.about-text{font-size:1.1rem;line-height:1.8;margin-bottom:1.5rem}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3rem}.stat-item{text-align:center;padding:2rem 1rem;background:var(--light-color);border-radius:15px;transition:var(--transition-smooth)}.stat-item:hover{transform:translateY(-5px);box-shadow:0 10px 30px rgba(0,0,0,.1)}.stat-number{font-size:3rem;color:var(--primary-color);margin-bottom:.5rem}.stat-label{font-size:.9rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-light)}.features-section{padding:8rem 0;background:linear-gradient(135deg,#f5f7fa 0,#c3cfe2 100%)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:3rem;margin-top:4rem}.feature-card{background:#fff;padding:3rem 2rem;border-radius:20px;text-align:center;transition:var(--transition-smooth);box-shadow:0 10px 40px rgba(0,0,0,.1)}.feature-card:hover{transform:translateY(-10px);box-shadow:0 20px 60px rgba(0,0,0,.15)}.feature-icon{width:80px;height:80px;margin:0 auto 2rem;transition:var(--transition-smooth)}.feature-card:hover .feature-icon{transform:scale(1.1) rotate(5deg)}.feature-card h3{font-size:1.5rem;margin-bottom:1rem;color:var(--dark-color)}.feature-card p{font-size:1rem;line-height:1.6}.gallery-section{padding:8rem 0;background:#fff}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-top:4rem}.gallery-item{position:relative;border-radius:15px;overflow:hidden;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.1)}.gallery-item svg{display:block;width:100%;height:auto;transition:var(--transition-smooth)}.gallery-overlay{position:absolute;bottom:0;left:0;width:100%;padding:2rem;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);color:#fff;transform:translateY(100%);transition:var(--transition-smooth)}.gallery-item:hover .gallery-overlay{transform:translateY(0)}.gallery-item:hover svg{transform:scale(1.1)}.gallery-overlay h3{font-size:1.5rem;margin:0}.cta-section{padding:8rem 0;background:var(--dark-color);color:#fff;text-align:center}.cta-content h2{font-size:clamp(2rem,4vw,3.5rem);margin-bottom:1.5rem;color:#fff}.cta-content p{font-size:1.2rem;margin-bottom:2.5rem;color:rgba(255,255,255,.8)}.footer{background:#1a1a1a;color:#fff;padding:4rem 0 2rem}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:3rem;margin-bottom:3rem}.footer-col h3,.footer-col h4{color:var(--primary-color);margin-bottom:1.5rem}.footer-col p{color:rgba(255,255,255,.7);line-height:1.8}.footer-col ul li{margin-bottom:.8rem}.footer-col ul li a{color:rgba(255,255,255,.7);transition:var(--transition-fast)}.footer-col ul li a:hover{color:var(--primary-color);padding-left:5px}.footer-bottom{text-align:center;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1)}.footer-bottom p{color:rgba(255,255,255,.5);margin:0}.page-header{padding:12rem 0 6rem;background:linear-gradient(135deg,#667eea 0,#764ba2 100%);color:#fff;text-align:center;position:relative;overflow:hidden}.page-header::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 30% 50%,rgba(255,107,107,.3) 0,transparent 50%),radial-gradient(circle at 70% 30%,rgba(81,207,102,.3) 0,transparent 50%)}.page-header h1{font-size:clamp(2.5rem,5vw,4rem);margin-bottom:1rem;position:relative;z-index:1}.page-header p{font-size:1.2rem;color:rgba(255,255,255,.9);position:relative;z-index:1}.menu-section{padding:6rem 0;background:#fff}.menu-tabs{display:flex;justify-content:center;gap:2rem;margin-bottom:4rem;flex-wrap:wrap}.tab-btn{padding:1rem 2rem;font-family:var(--font-secondary);font-weight:500;font-size:1rem;text-transform:uppercase;letter-spacing:1px;background:var(--light-color);border:2px solid transparent;border-radius:50px;cursor:pointer;transition:var(--transition-smooth)}.tab-btn.active,.tab-btn:hover{background:var(--primary-color);color:#fff;transform:translateY(-2px);box-shadow:0 5px 20px rgba(255,107,107,.3)}.menu-category{display:none}.menu-category.active{display:block;animation:fadeIn .5s ease}@keyframes fadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:3rem}.menu-item{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 5px 30px rgba(0,0,0,.1);transition:var(--transition-smooth)}.menu-item:hover{transform:translateY(-10px);box-shadow:0 15px 50px rgba(0,0,0,.15)}.menu-item-image{width:100%;height:250px;overflow:hidden}.menu-item-image svg{width:100%;height:100%;transition:var(--transition-smooth)}.menu-item:hover .menu-item-image svg{transform:scale(1.1)}.menu-item-content{padding:2rem}.menu-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.menu-item-header h3{font-size:1.5rem;margin:0;color:var(--dark-color)}.price{font-size:1.3rem;font-weight:700;color:var(--primary-color);font-family:var(--font-primary)}.menu-item-description{font-size:.95rem;line-height:1.6;color:var(--text-light);margin:0}.wine-pairing{padding:6rem 0;background:linear-gradient(135deg,#f5f7fa 0,#c3cfe2 100%);text-align:center}.pairing-content h2{font-size:clamp(2rem,4vw,3rem);margin-bottom:1rem}.pairing-content p{font-size:1.1rem;margin-bottom:1.5rem}.pairing-price{font-size:2rem!important;font-family:var(--font-primary);color:var(--primary-color)!important;font-weight:700;margin-bottom:2rem!important}.reservation-section{padding:6rem 0;background:#fff}.reservation-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:4rem}.reservation-info h2{font-size:2rem;margin-bottom:2rem}.info-card{background:var(--light-color);padding:2rem;border-radius:15px;margin-bottom:2rem;transition:var(--transition-smooth)}.info-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px rgba(0,0,0,.1)}.info-icon{width:60px;height:60px;margin-bottom:1rem}.info-card h3{font-size:1.3rem;margin-bottom:1rem;color:var(--dark-color)}.info-card p{font-size:.95rem;line-height:1.6;margin-bottom:.5rem}.info-card p:last-child{margin-bottom:0}.reservation-form-container{position:relative}.reservation-form{background:#fff;padding:3rem;border-radius:20px;box-shadow:0 10px 50px rgba(0,0,0,.1)}.reservation-form h2{font-size:2rem;margin-bottom:2rem;text-align:center}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--dark-color)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:1rem;border:2px solid var(--border-color);border-radius:10px;font-family:var(--font-secondary);font-size:1rem;transition:var(--transition-fast)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:0;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(255,107,107,.1)}.form-group textarea{resize:vertical;min-height:100px}.checkbox-group{display:flex;align-items:center}.checkbox-label{display:flex;align-items:center;cursor:pointer;user-select:none}.checkbox-label input[type=checkbox]{width:auto;margin-right:.5rem;cursor:pointer}.checkbox-label span{font-size:.9rem;color:var(--text-light)}.form-note{font-size:.85rem;color:var(--text-light);text-align:center;margin-top:1rem}.success-message{display:none;text-align:center;padding:3rem}.success-message.show{display:block;animation:fadeIn .5s ease}.success-message svg{width:100px;height:100px;margin:0 auto 2rem}.success-message h3{font-size:2rem;color:var(--accent-color);margin-bottom:1rem}.success-message p{font-size:1.1rem;margin-bottom:2rem}.map-section{padding:0;background:var(--light-color)}.map-container{width:100%;height:400px}.map-container svg{width:100%;height:100%}[data-aos]{opacity:0;transition:opacity .8s ease,transform .8s ease}[data-aos].aos-animate{opacity:1}[data-aos=fade-up]{transform:translateY(50px)}[data-aos=fade-up].aos-animate{transform:translateY(0)}[data-aos=fade-right]{transform:translateX(-50px)}[data-aos=fade-right].aos-animate{transform:translateX(0)}[data-aos=fade-left]{transform:translateX(50px)}[data-aos=fade-left].aos-animate{transform:translateX(0)}[data-aos=zoom-in]{transform:scale(.8)}[data-aos=zoom-in].aos-animate{transform:scale(1)}@media (max-width:1024px){.about-grid,.reservation-grid{grid-template-columns:1fr;gap:3rem}.menu-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (max-width:768px){.nav-menu{position:fixed;top:0;right:-100%;width:70%;height:100vh;background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:2rem;transition:var(--transition-smooth);box-shadow:-5px 0 20px rgba(0,0,0,.1)}.nav-menu.active{right:0}.hamburger{display:flex}.stats{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.menu-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}@media (max-width:480px){.container,.container-fluid{padding:0 1rem}.hero-title{font-size:2rem}.btn{padding:.8rem 2rem;font-size:.9rem}.about-section,.cta-section,.features-section,.gallery-section{padding:4rem 0}.feature-card{padding:2rem 1.5rem}.menu-item-content,.reservation-form{padding:1.5rem}}
