:root{--navy:#27282a;--ink:#292a2c;--ivory:#f7f4ed;--gold:#ae8953;--line:#d9d5cb;--muted:#656565;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font:16px/1.6 Arial,sans-serif}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:5px}button{cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.04;letter-spacing:-.045em}h1{font-size:clamp(48px,6.3vw,100px)}h2{font-size:clamp(38px,4.5vw,68px)}h3{font-size:30px}.eyebrow{font-size:11px;letter-spacing:.26em;text-transform:uppercase;display:block;margin-bottom:24px}.muted{color:var(--muted)}.header{height:98px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;background:var(--ivory);z-index:20}.brand{font-family:var(--serif);font-size:28px;letter-spacing:.18em;line-height:1.05;text-align:center}.brand small{display:block;font:12px Arial,sans-serif;letter-spacing:.5em;margin-bottom:6px}.nav{display:flex;gap:30px;align-items:center;font-size:13px}.nav a{padding:12px 0}.nav a[aria-current=page]{border-bottom:1px solid var(--gold)}.btn{display:inline-flex;gap:30px;justify-content:center;align-items:center;min-height:50px;padding:13px 25px;border:1px solid var(--navy);background:none;color:var(--navy);font-size:13px;letter-spacing:.07em;transition:background .25s,color .25s,transform .25s}.btn:hover{background:var(--navy);color:white;transform:translateY(-2px)}.btn.solid{background:var(--navy);color:white}.btn.light{color:var(--ivory);border-color:var(--gold)}.btn.light:hover{background:var(--ivory);color:var(--navy)}.menu-toggle{display:none;background:none;border:0;padding:12px;color:var(--navy);font-size:24px}.hero{display:grid;grid-template-columns:44% 56%;min-height:640px}.hero-copy{background:var(--navy);color:var(--ivory);padding:90px 11%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.hero-copy h1{margin-bottom:36px}.hero-copy .eyebrow{color:#d2c3a9}.hero-photo{overflow:hidden;position:relative;min-height:620px}.hero-photo img{position:absolute;inset:0;object-position:center 42%;animation:arrive 1.6s ease-out both}.photo-caption{position:absolute;bottom:26px;right:28px;color:white;font-size:10px;letter-spacing:.2em;text-shadow:0 1px 7px #000}.intro{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;padding:95px 7%}.intro-photo{height:520px;overflow:hidden}.intro-copy p{max-width:480px;margin:25px 0 32px;color:var(--muted)}.line-link{display:inline-block;padding-bottom:8px;border-bottom:1px solid var(--gold);font-size:13px;letter-spacing:.06em}.section{padding:80px 7%}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:38px}.food-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:28px}.food-card .photo{height:450px;overflow:hidden}.food-card:nth-child(2){padding-top:65px}.food-card p{font-size:12px;letter-spacing:.12em;margin-top:15px;text-transform:uppercase}.food-card img{transition:transform .7s}.food-card a:hover img{transform:scale(1.035)}.band{background:var(--navy);color:var(--ivory);padding:65px 7%;display:flex;align-items:center;justify-content:space-between;gap:30px}.band h2{font-size:45px;max-width:700px}.footer{padding:42px 7%;display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid var(--line);font-size:12px}.footer-links{display:flex;gap:24px}.demo-label{padding:9px 5%;text-align:center;font-size:10px;background:#eae5db;color:#62625c;letter-spacing:.06em}.mobile-bar{display:none}.page-title{padding:72px 7% 60px;max-width:1100px}.page-title p{margin-top:24px;max-width:590px;color:var(--muted)}.wide-photo{height:490px;margin:0 7%;overflow:hidden}.wide-photo img{object-position:center 48%}.quote{padding:70px 13%;text-align:center}.quote h2{max-width:900px;margin:auto}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:60px}.values article{border-top:1px solid var(--gold);padding-top:24px}.values p{color:var(--muted);margin-top:16px;font-size:14px}.menu-layout{display:grid;grid-template-columns:34% 66%;margin:0 7% 80px;gap:0}.menu-image{height:620px;position:sticky;top:25px;overflow:hidden}.menu-image img{object-position:65% center}.menu-content{padding:0 0 0 10%}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:25px}.tab{padding:12px 16px;border:1px solid var(--line);background:none;color:var(--navy);font-size:13px}.tab[aria-selected=true]{background:var(--navy);color:white;border-color:var(--navy)}.menu-note{font-size:12px;color:var(--muted);padding:15px 0;border-bottom:1px solid var(--line)}.dish{padding:26px 0;border-bottom:1px solid var(--line)}.dish-top{display:flex;justify-content:space-between;gap:20px}.dish h3{font-size:27px}.dish p{font-size:14px;color:var(--muted);margin-top:10px}.dish .price{font-size:12px;white-space:nowrap}.allergen-note{font-size:12px;color:var(--muted);margin-top:28px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:0 7% 80px}.details{margin-top:28px}.detail{padding:20px 0;border-bottom:1px solid var(--line)}.detail .eyebrow{margin-bottom:8px}.detail p{font-size:17px}.contact-image{height:580px}.placeholder{font-size:12px;color:var(--muted)}.map-panel{padding:38px;border:1px solid var(--line);background:#eeebe3;margin-top:25px}.booking{display:grid;grid-template-columns:40% 60%;margin:0 7% 80px}.booking-image{position:relative;min-height:690px}.booking-image img{position:absolute}.booking-image:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,rgba(20,20,22,.6))}.booking-caption{position:absolute;bottom:38px;left:30px;color:white;z-index:1;font-family:var(--serif);font-size:38px;line-height:1.1}.booking-form{padding:40px 0 40px 12%}.booking-form h2{font-size:40px;margin-bottom:18px}.notice{font-size:12px;background:#eae5db;padding:14px 18px;margin-bottom:26px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field{display:flex;flex-direction:column;gap:8px;font-size:12px}.field.full{grid-column:1/-1}input,select,textarea{width:100%;border:1px solid #bdbfb9;border-radius:0;background:transparent;color:var(--ink);padding:12px;min-height:48px}textarea{resize:vertical}.consent{display:flex;gap:12px;align-items:flex-start;font-size:12px;margin:22px 0}.consent input{width:18px;min-height:18px;margin:2px 0}.result{padding:20px;border:1px solid var(--gold);margin-top:20px}.result:empty{display:none}.reveal{animation:fadein .8s both}.js-motion .reveal{opacity:0;transform:translateY(22px);animation:none;transition:opacity .8s,transform .8s}.js-motion .reveal.visible{opacity:1;transform:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip{position:fixed;top:-60px;left:12px;z-index:99;background:white;padding:12px}.skip:focus{top:10px}.lightbox{padding:0;border:0;background:var(--ivory);max-width:90vw;max-height:90vh}.lightbox::backdrop{background:#171719db}.lightbox img{max-height:82vh;width:auto;max-width:90vw;object-fit:contain}.lightbox button{display:block;margin:10px auto;padding:8px 22px}.zoom-photo{display:block;background:none;border:0;padding:0;width:100%;height:100%;cursor:zoom-in}.zoom-photo:after{content:'Ingrandisci ↗';position:absolute;bottom:14px;left:16px;background:#f7f4edec;padding:5px 12px;font-size:11px}.photo{position:relative}@keyframes arrive{from{transform:scale(1.045);opacity:.5}to{transform:scale(1);opacity:1}}@keyframes fadein{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@media(min-width:1600px){body{max-width:1800px;margin:auto}.hero{min-height:760px}}
@media(max-width:760px){body{padding-bottom:77px}.header{height:81px;padding:0 6%}.brand{font-size:23px}.brand small{font-size:9px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:81px;left:0;right:0;background:var(--ivory);padding:20px 8% 32px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:8px}.nav.open{display:flex}.nav a{font-size:19px;padding:12px}.nav .btn{font-size:14px}.hero{display:flex;flex-direction:column}.hero-copy{padding:48px 7% 42px;order:1}.hero-copy h1{font-size:55px;max-width:340px;margin-bottom:28px}.hero-photo{min-height:0;height:440px;order:2}.hero-photo img{object-position:center 42%}.eyebrow{font-size:10px;margin-bottom:20px}.intro{padding:52px 7%;gap:32px;grid-template-columns:1fr}.intro-photo{height:420px}.intro-copy h2{font-size:43px}.section{padding:50px 7%}.section-head{display:block}.section-head .line-link{margin-top:25px}.food-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;padding-bottom:20px}.food-card{min-width:88%;scroll-snap-align:start}.food-card:nth-child(2){padding-top:0}.food-card .photo{height:380px}.band{padding:45px 7%;display:block}.band h2{font-size:38px;margin-bottom:25px}.footer{padding:32px 7%;display:block}.footer .brand{text-align:left;margin-bottom:24px}.footer-links{flex-wrap:wrap;gap:16px;margin-bottom:22px}.mobile-bar{position:fixed;bottom:0;left:0;right:0;z-index:30;background:var(--ivory);border-top:1px solid var(--line);padding:10px 6% max(10px,env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 2fr;align-items:center;gap:15px;font-size:13px;text-align:center}.mobile-bar .btn{min-height:46px;padding:10px;font-size:12px}.page-title{padding:45px 7% 38px}.page-title h1{font-size:53px}.page-title p{font-size:15px}.wide-photo{height:410px;margin:0 7%}.quote{padding:45px 7%}.quote h2{font-size:38px}.values{grid-template-columns:1fr;gap:30px;margin-top:38px}.menu-layout{display:block;margin-bottom:45px}.menu-image{height:280px;position:relative;top:0;margin-bottom:28px}.menu-content{padding:0}.tabs{gap:6px}.tab{padding:11px 12px}.dish h3{font-size:26px}.contact-grid{grid-template-columns:1fr;padding-bottom:45px;gap:35px}.contact-image{height:420px;order:-1}.booking{display:block;margin-bottom:40px}.booking-image{min-height:310px;height:310px}.booking-form{padding:35px 0 0}.booking-form h2{font-size:37px}.form-grid{gap:18px 12px}.field input,.field select,.field textarea{font-size:16px;padding:10px}.booking-caption{font-size:32px}.demo-label{font-size:9px}.photo-caption{font-size:9px}.section-head h2{font-size:42px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}}

/* Completamento editoriale v2 */
.menu-end,.contact-message,.booking-info{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start;border-top:1px solid var(--line)}.menu-end p{max-width:480px;color:var(--muted)}.contact-message .intro-copy p,.booking-info .muted{margin-top:24px;max-width:450px}.hours{display:grid;gap:8px;margin:15px 0;font-size:14px}.hours span:nth-child(even){color:var(--muted);margin-bottom:10px}.faq details{border-top:1px solid var(--line);padding:22px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{font-size:17px;cursor:pointer;line-height:1.4;padding-right:12px}.faq p{font-size:15px;color:var(--muted);margin-top:17px}.page-links{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin-top:40px}.page-links a{border-top:1px solid var(--gold);padding:24px 0;transition:color .2s}.page-links a:hover{color:var(--gold)}.page-links span{font-size:12px;letter-spacing:.15em}.page-links h3{margin:20px 0 15px}.page-links p{font-size:14px;color:var(--muted)}.dish .price{font-size:16px}.dish p{font-size:16px}.field,.tab,.btn{font-size:14px}.placeholder,.menu-note,.allergen-note,.notice{font-size:13px}.footer .draft-note{max-width:300px}.demo-label{font-size:12px;line-height:1.5}.eyebrow{font-size:12px}
@media(max-width:760px){.menu-end,.contact-message,.booking-info{grid-template-columns:1fr;gap:32px}.page-links{grid-template-columns:1fr 1fr;gap:18px}.page-links h3{font-size:27px}.values p{font-size:16px}.tab{padding:10px}.eyebrow{font-size:11px}.contact-image{height:330px}.booking-info h2{font-size:40px}.demo-label{font-size:11px}.field{font-size:14px}}

/* Prenotazioni WhatsApp: palette Casa Ferandi, v3 */
.wa-icon{width:21px;height:21px;flex:none;display:block}.wa-cta{display:inline-flex;align-items:center;gap:12px}.btn.solid.wa-cta{color:var(--ivory);background:var(--navy);border-color:var(--navy)}.btn.solid.wa-cta:hover{background:#3b3c3e;border-color:#3b3c3e}.nav a.btn.wa-cta{padding:13px 20px;white-space:nowrap}.nav{gap:clamp(14px,2vw,30px)}.whatsapp-booking .booking-image{min-height:620px}.whatsapp-booking .booking-form{align-self:center;padding-top:25px;padding-bottom:25px}.wa-intro{margin:24px 0 28px;color:var(--muted);max-width:470px}.wa-number{margin:15px 0 24px;font-size:15px;letter-spacing:.06em}.wa-number a,.contact-wa{border-bottom:1px solid var(--gold);padding-bottom:4px}.wa-confirmation{padding-left:16px;border-left:2px solid var(--gold);font-size:14px;line-height:1.65;max-width:410px}.wa-message{margin-top:30px;padding-top:25px;border-top:1px solid var(--line);max-width:470px}.wa-message p{font-family:var(--serif);font-size:22px;line-height:1.4}.wa-message small{display:block;color:var(--muted);font-size:13px;margin-top:16px}.wa-message .eyebrow{margin-bottom:14px}.mobile-bar .wa-cta{gap:9px;white-space:nowrap}.mobile-bar .wa-icon{width:19px;height:19px}
@media(min-width:761px) and (max-width:1100px){.header{padding-left:3%;padding-right:3%}.brand{font-size:23px}.nav{gap:14px;font-size:12px}.nav a.btn.wa-cta{padding:12px;font-size:12px;gap:8px}}
@media(max-width:760px){.whatsapp-booking .booking-image{min-height:310px}.whatsapp-booking .booking-form{padding-top:35px}.whatsapp-booking .btn.wa-cta{width:100%;padding:16px 18px}.whatsapp-booking .booking-form h2{font-size:39px}.mobile-bar{grid-template-columns:1fr 2.1fr;gap:10px}.mobile-bar .wa-cta{font-size:12px}.nav a.btn.wa-cta{font-size:14px}}
@media(min-width:761px) and (max-width:1000px){.menu-toggle{display:block}.nav{display:none;position:absolute;top:98px;left:0;right:0;background:var(--ivory);padding:22px 7% 30px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:8px}.nav.open{display:flex}.nav a{font-size:18px;padding:12px}.nav a.btn.wa-cta{font-size:14px}.header{padding:0 5%}}

/* Video originale verticale e menu reale */
.video-section{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;background:#eae5db}.video-copy{max-width:500px}.video-copy p{margin:26px 0 32px;color:var(--muted);max-width:430px}.video-wrap{width:100%;max-width:365px;justify-self:center}.restaurant-video{display:block;width:100%;aspect-ratio:512/910;height:auto;background:var(--navy);object-fit:contain}.video-caption{font-size:12px;letter-spacing:.08em;margin-top:13px;color:var(--muted)}.tasting-title{font-size:32px;line-height:1.2;margin-top:28px}.dish .price small{display:block;font-size:11px;color:var(--muted)}.menu-pdf{margin-top:24px;margin-right:20px}.dish h3{overflow-wrap:anywhere}.dish-top{align-items:baseline}.dish .price{flex-shrink:0}.tabs{row-gap:8px}
@media(max-width:760px){.video-section{grid-template-columns:1fr;gap:32px}.video-copy h2{font-size:43px}.video-wrap{max-width:390px}.dish h3{font-size:24px}.dish .price{font-size:15px}.tasting-title{font-size:29px}.tabs .tab{font-size:13px;padding:10px 12px}}
