:root{--accent-red: #e63946;--accent-teal: #2a9d8f;--accent-orange: #f4a261;--dark-bg: #0f0f0f;--darker-bg: #0a0a0a;--light-text: #f5f5f5;--muted-text: #b0b0b0;--card-bg: rgba(20, 20, 20, 0.8);--glass-bg: rgba(255, 255, 255, 0.05);--glass-border: rgba(255, 255, 255, 0.1)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:"Lato",sans-serif;background-color:var(--dark-bg);color:var(--light-text);line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:"Playfair Display",serif;letter-spacing:1px}a{color:var(--accent-red);text-decoration:none;transition:color .3s ease}a:hover{color:var(--accent-orange)}img{width:100%}.navbar-container{position:fixed;top:0;width:100%;z-index:1000;padding:20px 40px;background:var(--glass-bg);backdrop-filter:blur(20px);border-bottom:1px solid var(--glass-border);display:flex;justify-content:space-between;align-items:center}.logo-brand{font-family:"Playfair Display",serif;font-size:24px;font-weight:700;color:var(--accent-red);letter-spacing:2px}.nav-links{display:flex;list-style:none;gap:40px}.nav-links a{font-size:14px;text-transform:uppercase;letter-spacing:1px;transition:color .3s ease}.nav-links a:hover{color:var(--accent-teal)}.nav-toggle{display:none;flex-direction:column;background:none;border:none;cursor:pointer;gap:6px}.nav-toggle span{width:25px;height:2px;background-color:var(--light-text);transition:.3s ease}.nav-toggle.active span:nth-child(1){transform:rotate(45deg) translateY(12px)}.nav-toggle.active span:nth-child(2){opacity:0}.nav-toggle.active span:nth-child(3){transform:rotate(-45deg) translateY(-12px)}.mobile-nav{display:flex;opacity:0;position:fixed;top:54px;left:0;right:0;background:var(--darker-bg);border-bottom:1px solid var(--glass-border);flex-direction:column;padding:20px;gap:15px;pointer-events:none;z-index:100;transition:all .3s ease-in-out}.mobile-nav a{font-size:14px;text-transform:uppercase;letter-spacing:1px}@keyframes fadeUpScroll{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.fade-on-scroll{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.fade-on-scroll.visible{animation:fadeUpScroll .8s ease forwards}body{padding-top:70px}.hero-banner{background:linear-gradient(135deg, rgba(52, 12, 16, 0.5) 0%, rgba(11, 40, 37, 0.7) 100%),url(assets/images/cucina-napoletana-pizza-69134d58b09f7.webp) center/cover no-repeat;padding:120px 40px;text-align:center;margin-top:0}.hero-title{font-size:72px;margin-bottom:20px;color:var(--accent-red);text-transform:uppercase;letter-spacing:4px}.hero-subtitle{font-size:18px;color:var(--muted-text);margin-bottom:40px;letter-spacing:1px}.cta-button{display:inline-block;padding:15px 40px;background:var(--accent-red);color:var(--light-text);font-size:14px;text-transform:uppercase;letter-spacing:1px;border:none;cursor:pointer;transition:all .3s ease;font-family:"Lato",sans-serif;margin:10px}.cta-button:hover{transform:scale(1.05)}.cta-button.secondary{background:rgba(0,0,0,0);border:2px solid var(--accent-teal);color:var(--accent-teal)}.cta-button.secondary:hover{background:var(--accent-teal);color:var(--darker-bg)}.section{padding:100px 40px;max-width:1200px;margin:0 auto}.section-title{font-size:48px;margin-bottom:40px;text-align:center;color:var(--light-text);position:relative;display:inline-block;width:100%}.section-title::after{content:"";display:block;width:100px;height:3px;background:var(--accent-red);margin:20px auto 0}.experience-wrapper{text-align:center;padding:0 20px}.experience-wrapper img{max-width:600px}.map-wrapper{margin-top:60px;border:1px solid var(--glass-border);height:450px}.map-wrapper iframe{height:100%}.card-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));gap:30px;margin-top:60px}.card-grid.reservation-page{grid-template-columns:1fr 1fr 1fr}.content-card{background:var(--card-bg);padding:40px;border:1px solid var(--glass-border);transition:all .3s ease;backdrop-filter:blur(10px)}.content-card:hover{border-color:var(--accent-red);background:rgba(230,57,70,.05)}.card-title{font-size:24px;margin-bottom:15px;color:var(--accent-red)}.card-text{font-size:14px;color:var(--muted-text);line-height:1.8}.card-price{font-size:20px;color:var(--accent-orange);margin-top:15px;font-weight:bold}.form-wrapper{background:var(--card-bg);padding:50px;border:1px solid var(--glass-border);max-width:800px;margin:30px auto}.form-group{margin-bottom:25px}.form-group label{display:block;margin-bottom:8px;font-size:14px;text-transform:uppercase;letter-spacing:1px;color:var(--light-text)}.form-group input,.form-group textarea,.form-group select{width:100%;padding:12px 15px;background:rgba(102,101,101,.3);border:1px solid var(--glass-border);color:var(--light-text);font-family:"Lato",sans-serif;font-size:14px;transition:border-color .3s ease}.form-group select{color:#0a0a0a}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--accent-red);background:rgba(230,57,70,.05)}.form-group textarea{resize:vertical;min-height:120px}.form-group select{cursor:pointer}.form-submit{width:100%;padding:15px;background:var(--accent-red);color:var(--light-text);border:none;font-size:14px;text-transform:uppercase;letter-spacing:1px;cursor:pointer;transition:all .3s ease;font-family:"Lato",sans-serif}.form-submit:hover{background:var(--accent-orange)}.gallery-container{display:grid;grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));gap:20px;margin-top:60px}.gallery-item{position:relative;overflow:hidden;aspect-ratio:1;background:var(--card-bg);border:1px solid var(--glass-border)}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.gallery-item:hover img{transform:scale(1.05)}.gallery-item-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top, rgba(0, 0, 0, 0.9), transparent);padding:20px;color:var(--light-text);font-size:14px}.asymmetric-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:20px;margin-top:60px}.grid-item-wide{grid-column:span 2;grid-row:span 2}.grid-item-tall{grid-row:span 2}.modal{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);z-index:2000;align-items:center;justify-content:center;backdrop-filter:blur(5px)}.modal.active{display:flex}.modal-content{background:var(--darker-bg);padding:50px;max-width:500px;width:90%;border:1px solid var(--accent-red);position:relative}.modal-close{position:absolute;top:20px;right:20px;font-size:28px;cursor:pointer;color:var(--accent-red);background:none;border:none}.modal-title{font-size:36px;color:var(--accent-red);margin-bottom:20px;text-align:center}.modal-text{text-align:center;color:var(--muted-text);margin-bottom:30px}.footer-container{background:var(--card-bg);border-top:1px solid var(--glass-border);padding:40px;text-align:center}.footer-nav{display:flex;justify-content:center;gap:30px;list-style:none;margin-bottom:20px;flex-wrap:wrap}.footer-nav a{font-size:12px;text-transform:uppercase;letter-spacing:1px}.footer-copyright{font-size:12px;color:var(--muted-text)}@media(max-width: 768px){.navbar-container{padding:15px 20px}.logo-brand{font-size:18px}.nav-links{display:none}.nav-toggle{display:flex}.mobile-nav.active{opacity:1;pointer-events:all}.hero-title{font-size:42px}.hero-subtitle{font-size:16px}.hero-banner{margin-top:-16px}.section{padding:60px 20px}.section-title{font-size:36px}.form-wrapper{padding:30px 20px;margin:40px 20px}.asymmetric-grid{grid-template-columns:repeat(2, 1fr)}.grid-item-wide{grid-column:span 2;grid-row:auto}.grid-item-tall{grid-row:auto}.footer-nav{gap:15px}.modal-content{padding:25px}.modal-title{font-size:28px}.card-grid.reservation-page{grid-template-columns:1fr}}@media(max-width: 480px){.navbar-container{padding:12px 15px}.hero-title{font-size:28px}.section{padding:40px 15px}.section-title{font-size:24px}.card-grid{grid-template-columns:1fr}.form-wrapper{padding:20px 15px;margin:30px 15px}}
