@font-face{font-family:"Marcellus";src:url(../fonts/marcellus-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Marcellus";src:url(../fonts/marcellus-latin-ext-400-normal.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Manrope";src:url(../fonts/manrope-latin-wght-normal.woff2) format("woff2");font-weight:200 800;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Manrope";src:url(../fonts/manrope-latin-ext-wght-normal.woff2) format("woff2");font-weight:200 800;font-display:swap;unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --navy:#25407a; --navy-deep:#142a55; --navy-ink:#0e1d3d;
  --cream:#f7f3eb; --sand:#ece4d4; --paper:#fffdf8;
  --ink:#1c2436; --muted:#5d6577; --line:#ddd4c2;
  --coral:#d4603a; --coral-soft:#fbe7dc; --sea:#8fb3d9;
  --r:18px; --shadow:0 10px 30px -12px rgba(20,42,85,.25);
  --serif:"Marcellus", "Times New Roman", serif;
  --sans:"Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font:400 17px/1.6 var(--sans)}
img,video{max-width:100%;display:block}
a{color:var(--navy)}
h1,h2,h3{font-family:var(--serif);font-weight:400;color:var(--navy-deep);line-height:1.15;margin:0 0 .4em}
h2{font-size:clamp(30px,4.5vw,46px);letter-spacing:.01em}
h3{font-size:22px}
p{margin:0 0 1em}
.wrap{width:min(1160px,100% - 40px);margin-inline:auto}
.eyebrow{font:700 12px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--coral);margin-bottom:14px;display:block}
.lead{font-size:19px;color:var(--muted);max-width:60ch}
section{padding:96px 0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* Pulsanti */
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 26px;border-radius:999px;border:0;font:700 16px/1 var(--sans);text-decoration:none;cursor:pointer;transition:transform .15s, box-shadow .15s, background .15s}
.btn:active{transform:scale(.98)}
.btn-coral{background:var(--coral);color:#fff;box-shadow:0 8px 20px -8px rgba(212,96,58,.7)}
.btn-coral:hover{background:#c0532f}
.btn-ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.55)}
.btn-ghost:hover{background:rgba(255,255,255,.1)}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:var(--navy-deep)}
.btn-line{background:#fff;color:var(--navy);border:1.5px solid var(--line)}
.btn svg{width:20px;height:20px;flex:none}

/* Barra superiore */
.top{position:sticky;top:0;z-index:50;background:rgba(20,42,85,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:68px;gap:16px}
.top img{height:42px;width:auto}
.top nav{display:flex;gap:26px;align-items:center}
.top nav a{color:#dfe7f5;text-decoration:none;font-weight:600;font-size:15px}
.top nav a:hover{color:#fff}
.top .btn{padding:10px 18px;font-size:14px}
@media (max-width:820px){.top nav a:not(.btn){display:none}}

/* Hero */
.hero{background:radial-gradient(120% 90% at 85% 10%, #2f5296 0%, var(--navy-deep) 55%, var(--navy-ink) 100%);color:#fff;padding:70px 0 0;position:relative;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.hero-logo{width:min(520px,100%);margin:0 0 26px;filter:drop-shadow(0 6px 24px rgba(0,0,0,.25))}
.hero h1{color:#fff;font-size:clamp(26px,3.2vw,36px);margin-bottom:14px}
.hero p{color:#c9d6ee;font-size:18px;max-width:46ch}
.hero .cta{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 22px}
.hero .meta{display:flex;flex-wrap:wrap;gap:8px 22px;color:#aebfe0;font-size:15px}
.hero .meta a{color:#fff;text-decoration:none;font-weight:700}
.phone-video{position:relative;justify-self:center;width:min(330px,100%);aspect-ratio:9/16;border-radius:34px;overflow:hidden;border:8px solid rgba(255,255,255,.08);box-shadow:0 40px 80px -30px rgba(0,0,0,.6);margin-bottom:-30px;transform:rotate(2deg)}
.phone-video video{width:100%;height:100%;object-fit:cover}
.phone-video .tag{position:absolute;left:14px;bottom:16px;background:rgba(255,255,255,.92);color:var(--navy-deep);border-radius:999px;padding:7px 14px;font-weight:700;font-size:13px}
.wave{display:block;width:100%;height:auto;margin-top:-2px;position:relative;z-index:2}
@media (max-width:860px){
  .hero{padding-top:40px}
  .hero .wrap{grid-template-columns:1fr;gap:34px}
  .phone-video{width:min(280px,80%);transform:none}
}

.avviso{background:var(--coral);color:#fff;text-align:center;font-weight:700;padding:12px 16px;font-size:15px}

/* Offerte */
#offerte{padding-top:60px}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:38px}
.sec-head .lead{margin:0}
.grid-off{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:24px}
.card{background:var(--paper);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;border:1px solid #efe7d8}
.card .ph{aspect-ratio:4/3;background:var(--sand) center/cover no-repeat;position:relative}
.card .ph.noimg{display:grid;place-items:center;background:linear-gradient(135deg,var(--navy),var(--navy-deep))}
.card .ph.noimg img{width:46%;opacity:.9}
.badge{position:absolute;top:14px;left:14px;background:#fff;color:var(--coral);font:800 12px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;padding:8px 12px;border-radius:999px;box-shadow:0 4px 12px rgba(0,0,0,.12)}
.card .bd{padding:20px 22px 24px;display:flex;flex-direction:column;gap:6px;flex:1}
.card h3{margin:0}
.card .prezzo{font:800 24px/1.2 var(--sans);color:var(--coral)}
.card .desc{color:var(--muted);font-size:15.5px;margin:0}
.vuoto{background:var(--paper);border:1.5px dashed var(--line);border-radius:var(--r);padding:44px 28px;text-align:center;color:var(--muted)}
.vuoto img{width:90px;margin:0 auto 14px;opacity:.85}

/* Banner iscrizione */
.iscriviti{background:var(--paper);border-radius:28px;box-shadow:var(--shadow);display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;padding:44px 48px;margin-top:56px;border:1px solid #efe7d8;position:relative;overflow:hidden}
.iscriviti::after{content:"";position:absolute;right:-60px;bottom:-80px;width:340px;height:240px;background:url(../img/fish-navy-600.png) center/contain no-repeat;opacity:.06;pointer-events:none}
.iscriviti h2{font-size:clamp(26px,3.4vw,36px)}
.iscriviti ul{list-style:none;padding:0;margin:14px 0 22px;display:grid;gap:8px;color:var(--muted)}
.iscriviti li::before{content:"✓";color:var(--coral);font-weight:800;margin-right:10px}
.qrbox{background:#fff;border-radius:20px;padding:18px;text-align:center;border:1px solid var(--line);position:relative;z-index:1}
.qrbox .qr{width:170px;height:170px}
.qrbox .qr svg{width:100%;height:100%}
.qrbox small{display:block;margin-top:8px;color:var(--muted);font-weight:600}
@media (max-width:760px){.iscriviti{grid-template-columns:1fr;padding:32px 24px}.qrbox{display:none}}

/* Banco / galleria */
.banco{background:var(--navy-deep);color:#fff}
.banco h2{color:#fff}
.banco .lead{color:#b8c7e3}
.galleria{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-flow:dense;gap:14px;margin-top:40px}
.galleria figure{margin:0;position:relative;border-radius:14px;overflow:hidden;aspect-ratio:4/5}
.galleria figure:nth-child(1),.galleria figure:nth-child(6){grid-row:span 2;aspect-ratio:auto}
.galleria img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.galleria figure:hover img{transform:scale(1.05)}
.galleria figcaption{position:absolute;left:0;right:0;bottom:0;padding:30px 14px 12px;background:linear-gradient(transparent,rgba(10,20,40,.75));font-weight:700;font-size:14px}
@media (max-width:820px){.galleria{grid-template-columns:repeat(2,1fr)}.galleria figure:nth-child(n){grid-row:auto;aspect-ratio:4/5}}

/* Rosticceria */
.rost{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:center}
.rost .vids{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.rost video{border-radius:22px;aspect-ratio:9/16;object-fit:cover;width:100%;box-shadow:var(--shadow);background:var(--sand)}
.rost .vids video:nth-child(2){margin-top:48px}
.piatti{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;margin:24px 0 30px;padding:0;list-style:none}
.piatti li{border-bottom:1px solid var(--line);padding:10px 0;font-weight:600}
.piatti li span{display:block;font-weight:400;color:var(--muted);font-size:14px}
@media (max-width:860px){.rost{grid-template-columns:1fr;gap:36px}.rost .vids{order:2}}

/* Dove */
.dove{background:var(--sand)}
.dove .wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:stretch}
.info{background:var(--paper);border-radius:var(--r);padding:36px;box-shadow:var(--shadow)}
.info dl{margin:22px 0 0;display:grid;gap:18px}
.info dt{font:700 12px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--coral);margin-bottom:6px}
.info dd{margin:0;white-space:pre-line;font-size:17px}
.info dd a{font-weight:700;text-decoration:none}
.mappa{border-radius:var(--r);overflow:hidden;min-height:380px;box-shadow:var(--shadow);background:#dcd3c0}
.mappa iframe{width:100%;height:100%;min-height:380px;border:0;display:block}
@media (max-width:860px){.dove .wrap{grid-template-columns:1fr}}

footer{background:var(--navy-ink);color:#9fb0d1;padding:44px 0;font-size:14px}
footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center}
footer img{height:46px;width:auto}
footer a{color:#dfe7f5}

/* Pulsante flottante mobile */
.fab{position:fixed;right:16px;bottom:16px;z-index:60;display:none}
@media (max-width:760px){.fab{display:inline-flex}}

/* Reveal leggero */
.rv{opacity:0;transform:translateY(18px);transition:opacity .7s ease, transform .7s ease}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}html{scroll-behavior:auto}}

.card .share{margin-top:auto;align-self:flex-start;background:none;border:1.5px solid var(--line);color:var(--navy);border-radius:999px;padding:8px 14px;font:700 13px var(--sans);cursor:pointer;margin-top:12px}
.card .share:hover{background:var(--cream)}
section,.card{scroll-margin-top:84px}

.g-cucina{margin-top:56px}
.g-cucina figure{aspect-ratio:4/5!important;grid-row:auto!important}
.g-cucina figcaption{color:#fff}
