*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--cream: #f7f1e6;--cream-light: #fbf7ef;--cream-dark: #ece2cf;--olive: #3a4a2e;--olive-light: #5a6e48;--olive-dark: #2a3622;--terracotta: #c0653a;--terracotta-light: #d4845a;--terracotta-dark: #a4502a;--gold: #c9a44c;--gold-light: #dcb968;--anthracite: #2b2b28;--anthracite-light: #4a4a44;--white: #ffffff;--shadow-sm: 0 2px 8px rgba(43, 43, 40, .06);--shadow-md: 0 8px 30px rgba(43, 43, 40, .08);--shadow-lg: 0 20px 60px rgba(43, 43, 40, .12);--radius: 14px;--radius-sm: 8px;--radius-lg: 24px;--transition: .4s cubic-bezier(.25, .46, .45, .94);--max-width: 1200px}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:Inter,system-ui,-apple-system,sans-serif;font-weight:400;line-height:1.6;color:var(--anthracite);background-color:var(--cream);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3{font-family:Playfair Display,Georgia,serif;font-weight:600;line-height:1.2}img{max-width:100%;height:auto;display:block}a{color:var(--olive);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--terracotta)}address{font-style:normal}.container{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}.demo-bar{background:var(--olive-dark);color:var(--cream);text-align:center;padding:.5rem 1rem;font-size:.75rem;letter-spacing:.03em;position:relative;z-index:1000}.demo-bar p{opacity:.85}.nav-header{position:sticky;top:0;z-index:999;background:#f7f1e6f5;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(201,164,76,.2);transition:box-shadow var(--transition)}.nav-header.scrolled{box-shadow:var(--shadow-sm)}.nav-container{max-width:var(--max-width);margin:0 auto;padding:.9rem 1.5rem;display:flex;align-items:center;justify-content:space-between}.nav-logo{display:flex;flex-direction:column;line-height:1.1}.nav-logo-main{font-family:Playfair Display,serif;font-size:1.5rem;font-weight:700;color:var(--olive);letter-spacing:.02em}.nav-logo-sub{font-size:.68rem;text-transform:uppercase;letter-spacing:.15em;color:var(--terracotta);margin-top:2px}.nav-menu{display:flex;align-items:center;gap:2rem;list-style:none}.nav-menu a{font-size:.92rem;font-weight:500;color:var(--anthracite);position:relative;padding:.3rem 0}.nav-menu a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--terracotta);transition:width var(--transition)}.nav-menu a:hover:after,.nav-menu a:focus-visible:after{width:100%}.nav-cta{background:var(--terracotta);color:var(--white)!important;padding:.55rem 1.5rem!important;border-radius:var(--radius-sm);transition:background var(--transition),transform var(--transition)}.nav-cta:hover{background:var(--terracotta-dark);transform:translateY(-1px)}.nav-cta:after{display:none}.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:.5rem;z-index:1001}.nav-toggle span{width:26px;height:2px;background:var(--olive);border-radius:2px;transition:all var(--transition)}.nav-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle.active span:nth-child(2){opacity:0}.nav-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;text-align:center;background:url(https://images.pexels.com/photos/36909413/pexels-photo-36909413.jpeg?auto=compress&cs=tinysrgb&w=1600) center/cover no-repeat;background-attachment:scroll}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#2a36228c,#2a362259,#2a3622b3)}.hero-content{position:relative;z-index:2;max-width:760px;padding:0 1.5rem}.hero-eyebrow{font-size:.85rem;text-transform:uppercase;letter-spacing:.25em;color:var(--gold-light);margin-bottom:1.2rem}.hero-title{font-size:clamp(2.5rem,7vw,4.5rem);color:var(--cream);font-weight:700;margin-bottom:1.5rem;text-shadow:0 2px 20px rgba(0,0,0,.3)}.hero-subtitle{font-size:clamp(1rem,2.5vw,1.3rem);color:var(--cream-light);font-weight:300;line-height:1.7;margin-bottom:2.5rem;max-width:560px;margin-left:auto;margin-right:auto}.hero-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.hero-scroll-hint{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);z-index:2}.hero-scroll-hint span{display:block;width:24px;height:44px;border:2px solid rgba(247,241,230,.5);border-radius:12px;position:relative}.hero-scroll-hint span:after{content:"";position:absolute;top:8px;left:50%;transform:translate(-50%);width:4px;height:8px;background:#f7f1e699;border-radius:2px;animation:scrollHint 2s ease-in-out infinite}@keyframes scrollHint{0%{opacity:1;top:8px}to{opacity:0;top:24px}}.btn{display:inline-block;padding:.85rem 2rem;font-size:.95rem;font-weight:500;font-family:Inter,sans-serif;border-radius:var(--radius-sm);border:none;cursor:pointer;transition:all var(--transition);text-align:center;letter-spacing:.02em}.btn-primary{background:var(--terracotta);color:var(--white);box-shadow:0 4px 16px #c0653a40}.btn-primary:hover{background:var(--terracotta-dark);color:var(--white);transform:translateY(-2px);box-shadow:0 6px 24px #c0653a59}.btn-secondary{background:transparent;color:var(--cream);border:2px solid rgba(247,241,230,.6)}.btn-secondary:hover{background:#f7f1e61f;border-color:var(--cream);color:var(--cream);transform:translateY(-2px)}.section .btn-secondary{color:var(--olive);border-color:var(--olive-light)}.section .btn-secondary:hover{background:#3a4a2e14;color:var(--olive-dark);border-color:var(--olive)}.section{padding:5rem 0}.section-header{text-align:center;margin-bottom:3rem}.section-eyebrow{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:.25em;color:var(--terracotta);margin-bottom:.8rem}.section-title{font-size:clamp(1.8rem,4vw,2.6rem);color:var(--olive);font-weight:600}.section-divider{display:flex;align-items:center;justify-content:center;gap:.8rem;margin-top:1.2rem}.divider-line{width:50px;height:1px;background:var(--gold)}.divider-ornament{width:10px;height:10px;border:1.5px solid var(--gold);transform:rotate(45deg);flex-shrink:0}.storia{background:var(--cream-light)}.storia-content{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center}.storia-text p{font-size:1.05rem;line-height:1.8;color:var(--anthracite-light);margin-bottom:1.2rem}.storia-image{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-md)}.storia-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.storia-image:hover img{transform:scale(1.04)}.specialita{background:var(--cream)}.specialita-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem}.dish-card{background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform var(--transition),box-shadow var(--transition)}.dish-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}.dish-image{aspect-ratio:3 / 2;overflow:hidden}.dish-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.dish-card:hover .dish-image img{transform:scale(1.06)}.dish-body{padding:1.5rem}.dish-body h3{font-size:1.3rem;color:var(--olive);margin-bottom:.5rem}.dish-body p{font-size:.92rem;line-height:1.6;color:var(--anthracite-light)}.specialita-note{text-align:center;margin-top:2.5rem;font-size:.9rem;color:var(--olive-light);font-style:italic}.esperienza{background:var(--olive);color:var(--cream)}.esperienza .section-eyebrow{color:var(--gold-light)}.esperienza .section-title{color:var(--cream)}.esperienza .divider-line{background:var(--gold-light)}.esperienza .divider-ornament{border-color:var(--gold-light)}.esperienza-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.esperienza-item{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:#ffffff0f;border-radius:var(--radius);border:1px solid rgba(201,164,76,.15);transition:background var(--transition),border-color var(--transition)}.esperienza-item:hover{background:#ffffff1a;border-color:#c9a44c59}.esperienza-icon{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:var(--gold-light)}.esperienza-icon svg{width:32px;height:32px}.esperienza-item span:last-child{font-size:.98rem;font-weight:500;color:var(--cream)}.galleria{background:var(--cream-light)}.gallery-disclaimer{margin-top:1rem;font-size:.82rem;color:var(--olive-light);font-style:italic}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:1rem}.gallery-item{overflow:hidden;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);position:relative}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.gallery-item:hover img{transform:scale(1.06)}.gallery-item-tall{grid-row:span 2}.recensioni{background:var(--cream)}.recensioni-summary{text-align:center;margin-bottom:2.5rem}.recensioni-score{display:flex;align-items:center;justify-content:center;gap:.8rem;flex-wrap:wrap}.score-number{font-family:Playfair Display,serif;font-size:3rem;font-weight:700;color:var(--terracotta)}.score-stars{display:flex;gap:4px}.score-stars svg{width:22px;height:22px;color:var(--gold)}.score-label{font-size:1.1rem;color:var(--anthracite-light)}.recensioni-count{margin-top:.5rem;font-size:.95rem;color:var(--olive-light)}.recensioni-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem}.recensione-card{background:var(--white);border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow-sm);position:relative}.recensione-card:before{content:"“";position:absolute;top:.5rem;left:1rem;font-family:Playfair Display,serif;font-size:3.5rem;color:var(--gold);opacity:.3;line-height:1}.recensione-text{font-size:1.05rem;line-height:1.7;color:var(--anthracite);margin-bottom:1rem;position:relative;z-index:1}.recensione-syn{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--olive-light);font-weight:500}.recensioni-cta{text-align:center;margin-top:2.5rem}.orari{background:var(--cream-light)}.orari-content{text-align:center;max-width:520px;margin:0 auto}.orari-table{width:100%;border-collapse:collapse;margin-bottom:2rem;text-align:left}.orari-table th,.orari-table td{padding:.7rem 1rem;font-size:.95rem;border-bottom:1px solid rgba(201,164,76,.2)}.orari-table th{font-family:Inter,sans-serif;font-weight:600;color:var(--olive);width:40%}.orari-table td{color:var(--anthracite-light);font-weight:400}.orari-table tr:last-child th,.orari-table tr:last-child td{border-bottom:none}@media (max-width: 640px){.orari-table th,.orari-table td{padding:.6rem .5rem;font-size:.88rem}}.contatti{background:var(--cream)}.contatti-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}.contatti-name{font-size:1.6rem;color:var(--olive);margin-bottom:1rem}.contatti-address p{font-size:1.05rem;line-height:1.8;color:var(--anthracite-light)}.contatti-address a{color:var(--terracotta);font-weight:500}.contatti-buttons{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.8rem}.contatti-map{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-md);min-height:360px}.contatti-map iframe{width:100%;height:360px;border:0;display:block}.footer{background:var(--olive-dark);color:var(--cream);padding:3rem 0 1.5rem}.footer-content{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem;padding-bottom:2rem;border-bottom:1px solid rgba(201,164,76,.15)}.footer-brand{text-align:left}.footer-name{font-family:Playfair Display,serif;font-size:1.4rem;font-weight:700;color:var(--cream);margin-bottom:.3rem}.footer-tagline{font-size:.85rem;color:var(--gold-light);letter-spacing:.05em}.footer-info p,.footer-legal p{font-size:.9rem;line-height:1.7;color:#f7f1e6b3}.footer-info a,.footer-legal a{color:#f7f1e6b3}.footer-info a:hover,.footer-legal a:hover{color:var(--gold-light)}.footer-legal{text-align:right}.footer-bottom{text-align:center;padding-top:1.5rem}.footer-bottom p{font-size:.78rem;color:#f7f1e673;letter-spacing:.05em}@media (max-width: 900px){.nav-menu{gap:1.2rem}.nav-menu a{font-size:.85rem}.specialita-grid,.esperienza-grid{grid-template-columns:repeat(2,1fr)}.recensioni-grid{grid-template-columns:1fr;max-width:500px;margin:0 auto}.storia-content{grid-template-columns:1fr;gap:2rem}.storia-image{max-height:400px;order:-1}.contatti-grid{grid-template-columns:1fr;gap:2rem}.gallery-grid{grid-template-columns:repeat(3,1fr)}.footer-content{grid-template-columns:1fr;text-align:center}.footer-brand,.footer-legal{text-align:center}}@media (max-width: 640px){.section{padding:3.5rem 0}.nav-toggle{display:flex}.nav-menu{position:fixed;top:0;right:-100%;width:75%;max-width:320px;height:100vh;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:0;padding:5rem 2rem 2rem;background:var(--cream-light);box-shadow:-8px 0 30px #0000001f;transition:right .4s cubic-bezier(.25,.46,.45,.94);z-index:998}.nav-menu.open{right:0}.nav-menu li{width:100%;border-bottom:1px solid rgba(201,164,76,.15);padding:.8rem 0;opacity:0;transform:translate(20px);transition:opacity .3s ease,transform .3s ease}.nav-menu.open li{opacity:1;transform:translate(0)}.nav-menu.open li:nth-child(1){transition-delay:.1s}.nav-menu.open li:nth-child(2){transition-delay:.15s}.nav-menu.open li:nth-child(3){transition-delay:.2s}.nav-menu.open li:nth-child(4){transition-delay:.25s}.nav-menu.open li:nth-child(5){transition-delay:.3s}.nav-menu.open li:nth-child(6){transition-delay:.35s}.nav-menu.open li:nth-child(7){transition-delay:.4s}.nav-menu a{font-size:1rem;display:block}.nav-cta{display:inline-block;margin-top:.5rem}.specialita-grid,.esperienza-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:160px}.hero-buttons{flex-direction:column;align-items:center}.hero-buttons .btn{width:100%;max-width:280px}.contatti-buttons{flex-direction:column}.contatti-buttons .btn{width:100%;text-align:center}}:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.skip-link{position:absolute;top:-40px;left:0;background:var(--olive);color:var(--cream);padding:.5rem 1rem;z-index:1001;transition:top .3s ease}.skip-link:focus{top:0}
