@font-face{font-family:"Ultra";src:url(fonts/ultra-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Yellowtail";src:url(fonts/yellowtail-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Familjen Grotesk";src:url(fonts/familjen-grotesk-latin-wght-normal.woff2) format("woff2");font-weight:400 700;font-display:swap}

:root{
  --ink:#17120F;--rosso:#C42A1E;--fuga:#A3201A;--giallo:#F3B61F;--basilico:#2F6B3A;--carta:#FBF8F1;--granito:#2A2826;
  --hh:56px;--bar:56px;
  --f-t:"Ultra",Georgia,serif;--f-s:"Yellowtail","Brush Script MT",cursive;--f-b:"Familjen Grotesk",system-ui,sans-serif;
  --tile:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64'%3E%3Cpath d='M0 1h64M0 33h64M1 0v32M33 32v32' stroke='%23A3201A' stroke-width='2' fill='none'/%3E%3C/svg%3E");
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E");
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scrollbar-color:var(--rosso) var(--ink)}
body{margin:0;background:var(--carta);color:var(--ink);font:400 1.0625rem/1.5 var(--f-b);overflow-x:clip;padding-bottom:calc(var(--bar) + env(safe-area-inset-bottom,0px))}
img,svg{display:block;max-width:100%}
a{color:inherit}
::selection{background:var(--giallo);color:var(--ink)}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.tiles :focus-visible,.granito :focus-visible,.top :focus-visible{outline-color:var(--giallo)}
.wrap{width:100%;max-width:1180px;margin-inline:auto;padding-inline:16px}
.ic{width:1.25em;height:1.25em;flex:none}
.ic--hat{width:1.6em;height:1.07em;display:inline-block;vertical-align:-.15em}
em.script,.script{font:400 1.35em/1 var(--f-s);font-style:normal;color:var(--rosso)}

/* superfici */
.tiles{background-color:var(--rosso);background-image:linear-gradient(115deg,transparent 0 30%,rgba(255,255,255,.06) 30% 46%,transparent 46%),var(--tile);color:var(--carta)}
.granito{background-color:var(--granito);background-image:var(--grain);color:var(--carta);--sh:var(--rosso)}

/* tipografia */
.h2{font:400 clamp(1.5rem,6.2vw,3rem)/1.12 var(--f-t);margin:0 0 .4em;text-wrap:balance}
.lead{font-size:1.0625rem;margin:0 0 1.4rem;max-width:60ch}

/* bottoni */
.btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:52px;padding:.5rem 1.2rem;border:3px solid var(--ink);font:700 1.0625rem/1.2 var(--f-b);text-decoration:none;box-shadow:4px 4px 0 var(--sh,var(--ink));transition:transform .12s,box-shadow .12s;cursor:pointer}
.btn:active{transform:translate(4px,4px);box-shadow:0 0 0 var(--ink)}
.btn--carta{background:var(--carta);color:var(--ink)}
.btn--giallo{background:var(--giallo);color:var(--ink)}
.btn--ink{background:var(--ink);color:var(--carta);--sh:var(--rosso)}
.btn--line{background:transparent;color:var(--carta);border-color:var(--carta)}
@media(hover:hover){.btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--sh,var(--ink))}.btn:active{transform:translate(4px,4px)}}

/* nastro-cartiglio */
.nastro{position:relative;isolation:isolate;display:inline-block;margin:0;background:var(--giallo);color:var(--ink);border:3px solid var(--ink);padding:.25em .9em;font:400 1.4rem/1.15 var(--f-s);text-align:center}
.nastro::before,.nastro::after{content:"";position:absolute;z-index:-1;top:.5em;bottom:-.5em;width:1em;background:var(--giallo);border:3px solid var(--ink)}
.nastro::before{left:-.7em}.nastro::after{right:-.7em}

/* barra alta */
.top{position:sticky;top:0;z-index:50;background:var(--ink);color:var(--carta);height:var(--hh)}
.top-in{max-width:1180px;margin:auto;height:100%;padding-inline:16px;display:flex;align-items:center;gap:12px;justify-content:space-between}
.top nav{display:flex;gap:4px;margin-left:auto}
.top nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;font-weight:700;text-decoration:none}
.top nav a:hover{color:var(--giallo)}
.top-tel{display:none;min-height:44px;padding:.2rem 1rem}
.hide-s{display:none!important}

/* logo */
.logo{display:inline-flex;flex-direction:column;align-items:flex-start;font-family:var(--f-t);text-transform:uppercase;line-height:1;color:var(--carta);text-decoration:none}
.logo-top{font-size:.3em;letter-spacing:.04em;white-space:nowrap;margin-bottom:.35em}
.logo-main{position:relative;display:inline-block;letter-spacing:.01em}
.bomb{position:absolute;width:.95em;height:.63em;right:-.14em;top:-.5em;transform:rotate(-8deg);transform-origin:50% 100%;overflow:visible;pointer-events:none}
.logo--sm{flex-direction:row;align-items:flex-end;gap:.4em;font-size:1.55rem;padding-block:10px;align-self:flex-start;justify-self:start}
.logo--sm .logo-top{font-size:.75rem;margin:0 0 .2em;letter-spacing:.02em}
.logo--sm .logo-main{margin-right:.2em}
.logo--xl{font-size:clamp(2.2rem,11vw,5.4rem);margin:.45em 0 .4em;text-shadow:3px 3px 0 var(--ink);padding-top:.1em;-webkit-tap-highlight-color:transparent}
.logo--xl .logo-top{font-size:max(.3em,12px);color:var(--giallo);text-shadow:2px 2px 0 var(--ink)}
.logo--xl .bomb{animation:saluto .9s cubic-bezier(.34,1.56,.64,1) .25s both}
@keyframes saluto{0%{transform:translateY(0) rotate(-8deg)}38%{transform:translateY(-14px) rotate(-22deg)}100%{transform:translateY(0) rotate(-8deg)}}
@keyframes saluto2{0%{transform:translateY(0) rotate(-8deg)}38%{transform:translateY(-14px) rotate(-22deg)}100%{transform:translateY(0) rotate(-8deg)}}
.logo:hover .bomb{animation:saluto2 .9s cubic-bezier(.34,1.56,.64,1)}
.logo.salta .bomb{animation:saluto2 .9s cubic-bezier(.34,1.56,.64,1)}

/* hero */
.hero{padding:10px 0 40px;overflow:hidden}
.hero-in{display:grid;gap:26px;align-items:center}
.hero-txt{display:flex;flex-direction:column;align-items:flex-start}
.hero h1{font:400 clamp(1.75rem,7.6vw,3.9rem)/1.12 var(--f-t);margin:.7rem 0 .6rem;text-shadow:3px 3px 0 var(--ink);text-wrap:balance}
.hero-sub{font-size:1.125rem;line-height:1.4;margin:0 0 .7rem;max-width:44ch;text-shadow:1px 1px 0 var(--fuga)}
.nastro--unroll{margin-left:.8em;animation:srotola .6s cubic-bezier(.16,1,.3,1) .3s both}
@keyframes srotola{from{clip-path:inset(-14px 100% -14px -30px)}to{clip-path:inset(-14px -30px -14px -30px)}}
.stato{margin:0 0 .7rem;padding:.3rem .8rem;border:3px solid var(--ink);font-weight:700;background:var(--carta);color:var(--ink)}
.stato.on{background:var(--basilico);color:var(--carta)}
.cta-row{display:none;align-self:stretch;gap:14px;flex-wrap:wrap;margin:.4rem 0 1.2rem}
.cta-row .btn{flex:1 1 220px}
.rating{display:flex;align-items:center;gap:.5rem;font-weight:700;margin:0}
.rating .ic{width:1.5em;height:1.5em}
.rating--big{font-size:1.2rem;margin:0 0 1.6rem}
.flash--hero{width:min(48%,340px);margin:4px auto 0}
.hero .flash .nastro{font-size:1.1rem;margin-inline:8px}
@media(min-width:768px){.hero .flash .nastro{font-size:1.35rem;margin-inline:12px}}

/* fogli flash */
.flash{position:relative;margin:0;background:var(--carta);color:var(--ink);border:3px solid var(--ink);padding:10px 10px 16px;box-shadow:4px 4px 0 var(--ink);rotate:calc(var(--r,0deg)*.65);transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s,opacity .45s,rotate .45s cubic-bezier(.16,1,.3,1)}
.flash img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border:2px solid var(--ink);background:var(--fuga)}
.flash-n{position:absolute;z-index:2;top:-12px;left:-10px;background:var(--rosso);color:var(--carta);border:3px solid var(--ink);padding:.1em .45em;font:400 1.25rem/1.2 var(--f-t)}
.flash .nastro{display:block;margin:-22px 12px 0;position:relative;z-index:1}
.flash .ingr{margin:.8rem 2px 0;font-size:.9375rem;line-height:1.4}
@media(hover:hover){.flash:hover{transform:translateY(-4px);box-shadow:6px 6px 0 var(--ink)}}
.js .rv{transition-delay:var(--d,0ms)}
.js .rv:not(.in){opacity:0;transform:translateY(16px);rotate:0deg}

/* speciali */
.speciali{background:var(--giallo);padding:56px 0 64px}
.grid4{display:grid;grid-template-columns:1fr 1fr;gap:30px 14px;margin-top:8px}
.grid4 .flash{padding:8px 8px 14px}
.grid4 .nastro{font-size:1.2rem;margin:-20px 8px 0}
.more{margin:2.2rem 0 0}
.more .btn{width:100%}

/* menu */
.menu{padding:48px 0 64px}
.menu .wrap{padding-inline:10px}
.sheet{background:var(--carta);color:var(--ink);border:3px solid var(--ink);box-shadow:8px 8px 0 var(--rosso)}
.sheet-head{padding:22px 16px 6px}
.chips{position:sticky;top:var(--hh);z-index:20;background:var(--carta);border-block:3px solid var(--ink)}
.chips-row{position:relative;display:flex;gap:8px;overflow-x:auto;padding:8px 10px;scrollbar-width:none;overscroll-behavior-x:contain}
.chips-row::-webkit-scrollbar{display:none}
.chips a{position:relative;z-index:1;flex:none;display:flex;align-items:center;min-height:44px;padding:0 14px;border:3px solid var(--ink);background:var(--carta);font-weight:700;font-size:.9375rem;white-space:nowrap;text-decoration:none}
.chips a.on{background:var(--rosso);color:var(--carta)}
.js .chips a.on{background:transparent;border-color:transparent;color:var(--carta)}
.chip-ind{display:none;position:absolute;z-index:0;left:0;top:8px;height:44px;width:80px;background:var(--rosso);border:3px solid var(--ink);transition:transform .35s cubic-bezier(.16,1,.3,1),width .35s cubic-bezier(.16,1,.3,1);pointer-events:none}
.js .chip-ind{display:block}
.sheet-body{padding:12px 14px 28px}
.cat{margin:20px 0 34px;scroll-margin-top:calc(var(--hh) + 84px)}
.cat-h{font:400 clamp(1.25rem,5.4vw,1.75rem)/1.15 var(--f-t);color:var(--rosso);margin:0 0 4px;padding-bottom:8px;border-bottom:3px solid var(--ink)}
.nota{margin:.5rem 0 0;font-size:.9375rem;opacity:.85}
.nota--fine{margin-top:0}
.rows{list-style:none;margin:0;padding:0;counter-reset:it}
.rows li{counter-increment:it;display:grid;grid-template-columns:2.2rem 1fr auto;column-gap:10px;align-items:start;padding:11px 0;border-bottom:2px dotted rgba(23,18,15,.35)}
.rows .n::before{content:counter(it);font:400 1.125rem/1.4 var(--f-t);color:var(--rosso)}
.cat:not(#c-pizze):not(#c-toto) .rows li{grid-template-columns:1fr auto}
.cat:not(#c-pizze):not(#c-toto) .n{display:none}
.rows .t b{display:block;font-size:1.0625rem;line-height:1.3}
.rows .t small{display:block;margin-top:2px;font-size:.9375rem;line-height:1.35;opacity:.8}
.rows .p{background:var(--giallo);border:2px solid var(--ink);padding:3px 8px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;align-self:start}
.cat--toto{background:var(--giallo);border:3px solid var(--ink);padding:14px 14px 6px;margin-inline:-4px}
.cat--toto .cat-h{color:var(--ink)}
.cat--toto .p{background:var(--carta)}
.cat--toto .rows .n::before{color:var(--ink)}
.cat--toto .rows li{border-bottom-color:rgba(23,18,15,.4)}
.cat--toto .rows li:last-child{border-bottom:0}
.menu-end{text-align:center;margin-top:8px}
.menu-end p{margin:1rem 0 0;font-size:.9375rem}

/* al banco */
.banco{padding:56px 0 64px}
.banco-in{display:grid;gap:36px;align-items:center}
.banco p{margin:0 0 1.2rem;max-width:52ch;font-size:1.125rem}
.banco-ph{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.banco-ph .flash{padding:8px}
.quote{margin:1.6rem 0 0;background:var(--carta);color:var(--ink);border:3px solid var(--ink);padding:16px 18px;box-shadow:4px 4px 0 var(--ink)}
.quote p{margin:0;font-weight:700;font-size:1.125rem}
.quote footer{margin-top:.4rem;font-size:.9375rem;opacity:.8}

/* recensioni */
.parlano{background:var(--giallo);padding:56px 0 64px}
.revs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:26px 22px}
.rev{position:relative;margin:0;background:var(--carta);border:3px solid var(--ink);padding:22px 18px 18px;box-shadow:4px 4px 0 var(--ink);rotate:0deg}
.rev blockquote{margin:0}
.rev p{margin:0;font-size:1.0625rem}
.rev figcaption{margin-top:.8rem;font-weight:700;font-size:.9375rem}
.rev-star{position:absolute;top:-16px;right:14px;width:34px;height:34px}
.js .rev.rv:not(.in){rotate:0deg}

/* dove */
.dove{padding:56px 0 64px}
.dove-in{display:grid;gap:32px}
.dove address{font-style:normal;font-size:1.125rem}
.dove address p{margin:0 0 1rem}
.contatti{list-style:none;margin:1.4rem 0;padding:0;display:grid;gap:14px;max-width:380px}
.contatti .btn{width:100%}
.social{display:flex;gap:22px;margin:0}
.social a{display:inline-flex;align-items:center;min-height:48px;font-weight:700;text-underline-offset:4px}
.map-ph{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%;min-height:300px;padding:20px;text-align:center;background:var(--carta);color:var(--ink);border:3px solid var(--ink);box-shadow:6px 6px 0 var(--rosso)}
.map-ph:focus-visible{outline:3px solid var(--giallo);outline-offset:4px}
.map-ph .ic--hat{width:84px;height:56px}
.map-t{font:400 1.5rem/1.1 var(--f-t)}
.map-ph small{font-size:.9375rem}
.mappa iframe{display:block;width:100%;height:340px;border:3px solid var(--ink);box-shadow:6px 6px 0 var(--rosso)}

/* footer */
.foot{padding:36px 0 40px}
.foot-in{display:grid;gap:16px}
.foot p{margin:0}
.foot .small{font-size:.9375rem;opacity:.9}
.tel-link{display:inline-flex;align-items:center;min-height:44px;font-weight:700}

/* barra contatti mobile */
.bar{position:fixed;z-index:60;left:0;right:0;bottom:0;display:flex;background:var(--ink);padding-bottom:env(safe-area-inset-bottom,0px)}
.bar a{flex:1;height:var(--bar);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.0625rem;text-decoration:none;border-top:3px solid var(--ink)}
.bar-a{background:var(--ink);color:var(--carta)}
.bar-b{background:var(--giallo);color:var(--ink)}
.bar a:active{filter:brightness(.9)}

@media(min-width:768px){
  body{padding-bottom:0}
  .bar{display:none}
  .top-tel{display:inline-flex}
  .top nav{margin-left:auto;margin-right:8px}
  .hide-s{display:inline-flex!important}
  .cta-row{display:flex}
  .hero{padding:44px 0 72px}
  .wrap{padding-inline:28px}
  .menu .wrap{padding-inline:28px}
  .flash{rotate:var(--r,0deg)}
  .rev{rotate:var(--r,0deg)}
  .grid4{grid-template-columns:repeat(2,1fr);gap:40px 24px}
  .more .btn{width:auto}
  .sheet-head{padding:30px 28px 8px}
  .sheet-body{padding:12px 28px 36px}
  .chips-row{padding:8px 20px}
  .rows{display:grid;grid-template-columns:1fr 1fr;column-gap:36px}
  .banco-in{grid-template-columns:1fr 1fr;gap:56px}
  .dove-in{grid-template-columns:1fr 1.1fr;gap:56px;align-items:center}
  .foot-in{grid-template-columns:auto 1fr auto;align-items:center;gap:32px}
}
@media(min-width:900px){
  .hero-in{grid-template-columns:1.25fr .75fr;gap:56px}
  .flash--hero{width:100%;max-width:400px;margin:0 0 0 auto}
  .grid4{grid-template-columns:repeat(4,1fr);gap:44px 22px}
  .grid4 .nastro{font-size:1.15rem}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .rv:not(.in){opacity:1;transform:none;rotate:var(--r,0deg)}
}
