@font-face { font-family: "Anton"; font-style: normal; font-weight: 400; font-display: swap; src: url(font/anton-400.woff2) format("woff2"); }
@font-face { font-family: "Yellowtail"; font-style: normal; font-weight: 400; font-display: swap; src: url(font/yellowtail-400.woff2) format("woff2"); }
@font-face { font-family: "Familjen Grotesk"; font-style: normal; font-weight: 400; font-display: swap; src: url(font/familjen-grotesk-400.woff2) format("woff2"); }
@font-face { font-family: "Familjen Grotesk"; font-style: normal; font-weight: 500; font-display: swap; src: url(font/familjen-grotesk-500.woff2) format("woff2"); }
@font-face { font-family: "Familjen Grotesk"; font-style: normal; font-weight: 600; font-display: swap; src: url(font/familjen-grotesk-600.woff2) format("woff2"); }
@font-face { font-family: "Familjen Grotesk"; font-style: normal; font-weight: 700; font-display: swap; src: url(font/familjen-grotesk-700.woff2) format("woff2"); }
:root { --b: #7C1E2E; --bd: #5F1522; --p: #ECECE2; --c: #F7F4EC; --t: #33211F; --mu: #6A5651; --n: #21100F; --line: #E2DCCF; --sh: 0 10px 34px rgba(33, 16, 15, .10); --sh2: 0 18px 44px rgba(33, 16, 15, .17); }
body { margin: 0; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
.site *, .site *::before, .site *::after { box-sizing: border-box; }
.site { font-family: "Familjen Grotesk", "Helvetica Neue", Arial, sans-serif; font-size: 17px; line-height: 1.65; color: var(--t); background: #fff; overflow-x: clip; -webkit-font-smoothing: antialiased; }
.site h1, .site h2, .site h3 { font-family: Anton, Impact, "Arial Narrow", sans-serif; font-weight: 400; text-transform: uppercase; letter-spacing: .02em; line-height: 1.14; margin: 0; }
:where(.site) p { margin: 0; }
:where(.site) ul, :where(.site) ol { list-style: none; margin: 0; padding: 0; }
.site img { display: block; max-width: 100%; }
a { color: inherit; }
a:hover { color: inherit; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid #C98A3B; outline-offset: 2px; }
.ic { flex: none; display: block; }
.vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.wrap { width: 100%; max-width: 1224px; margin: 0 auto; padding: 0 24px; }
.sez { padding: 96px 0; }
.sez.cr { background: var(--c); }
.sh { text-align: center; max-width: 660px; margin: 0 auto 52px; }
.eb { font-family: Yellowtail, "Brush Script MT", cursive; font-size: 29px; line-height: 1.2; color: var(--b); display: block; margin-bottom: 6px; }
.site h2.ti { font-size: clamp(34px, 3.7vw, 48px); color: var(--n); }
.sh p { margin-top: 14px; color: var(--mu); }
.tl { text-align: left; }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 12px 30px; font-weight: 700; font-size: 16px; letter-spacing: .02em; text-decoration: none; border: 2px solid transparent; border-radius: 3px; cursor: pointer; transition: background-color .25s, color .25s, border-color .25s, transform .25s, box-shadow .25s; font-family: inherit; }
.btn:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(33, 16, 15, .22); }
.btn-b { background: var(--b); color: #fff; }
.btn-b:hover { background: var(--bd); color: #fff; }
.btn-w { background: #fff; color: var(--b); }
.btn-w:hover { background: var(--p); color: var(--b); }
.btn-o { background: transparent; color: #fff; border-color: #fff; }
.btn-o:hover { background: #fff; color: var(--b); }
.btn-l { background: transparent; color: var(--b); border-color: var(--b); }
.btn-l:hover { background: var(--b); color: #fff; }
.btns { display: flex; flex-wrap: wrap; gap: 14px; }
.lk { display: inline-flex; align-items: center; gap: 6px; color: var(--b); font-weight: 700; text-decoration: none; }
.lk .ic { transition: transform .25s; }
.lk:hover { color: var(--bd); }
.lk:hover .ic { transform: translateX(5px); }

.top { position: fixed; top: 0; left: 0; right: 0; z-index: 50; color: #fff; transition: background-color .3s, box-shadow .3s; }
.top.is-s { background: var(--b); box-shadow: 0 4px 22px rgba(33, 16, 15, .25); }
.ub { font-size: 14px; border-bottom: 1px solid rgba(255, 255, 255, .22); overflow: hidden; max-height: 40px; transition: max-height .3s, opacity .3s; }
.ub .wrap { display: flex; justify-content: space-between; align-items: center; height: 39px; gap: 24px; }
.ub-g { display: flex; gap: 24px; align-items: center; }
.ub a, .ub span.i { display: inline-flex; align-items: center; gap: 7px; text-decoration: none; }
.ub .ic { transform: translateY(.75px); }
.ub a:hover { text-decoration: underline; text-underline-offset: 3px; }
.top.is-s .ub { max-height: 0; opacity: 0; border-bottom-color: transparent; }
.hd { display: flex; align-items: center; justify-content: space-between; gap: 24px; height: 84px; transition: height .3s; }
.top.is-s .hd { height: 68px; }
.top-logo { flex: none; display: block; }
.site .top-logo img { height: 60px; width: auto; transition: height .3s; }
.top.is-s .top-logo img { height: 50px; }
.nav { display: flex; align-items: center; gap: clamp(20px, 2.6vw, 36px); }
.nav a.l { position: relative; text-decoration: none; font-weight: 600; font-size: 16px; padding: 8px 0; white-space: nowrap; }
.nav a.l::after { content: ""; position: absolute; left: 0; right: 0; bottom: 2px; height: 2px; background: currentColor; transform: scaleX(0); transition: transform .25s; }
.nav a.l:hover::after, .nav a.l[aria-current="page"]::after { transform: scaleX(1); }
.nav .btn { min-height: 44px; padding: 8px 20px; font-size: 15px; }
.burger { display: none; background: none; border: 0; color: #fff; width: 48px; height: 48px; padding: 12px; cursor: pointer; margin-right: -12px; }
.nav-w { display: none; }
.nav-m { min-height: 0; overflow: hidden; background: var(--b); }
.nav-i { padding: 6px 24px 22px; }
.nav-m a { display: block; text-decoration: none; font-weight: 600; font-size: 19px; padding: 13px 0; border-top: 1px solid rgba(255, 255, 255, .25); opacity: 0; transform: translateY(-10px); transition: opacity .22s ease, transform .22s ease; }
.nav-w.aperto .nav-m a { opacity: 1; transform: none; transition: opacity .3s ease, transform .3s ease; }
.nav-w.aperto .nav-m a:nth-child(1) { transition-delay: .08s; }
.nav-w.aperto .nav-m a:nth-child(2) { transition-delay: .13s; }
.nav-w.aperto .nav-m a:nth-child(3) { transition-delay: .18s; }
.nav-w.aperto .nav-m a:nth-child(4) { transition-delay: .23s; }
.nav-w.aperto .nav-m a:nth-child(5) { transition-delay: .28s; }
.nav-w.aperto .nav-m a:nth-child(6) { transition-delay: .33s; }
.bl { transform-origin: 12px 12px; transition: transform .3s ease, opacity .2s ease; }
.burger.aperto .b1 { transform: rotate(45deg) translateY(6px); }
.burger.aperto .b2 { opacity: 0; }
.burger.aperto .b3 { transform: rotate(-45deg) translateY(-6px); }
@keyframes scendi {
  from { opacity: 0; transform: translateY(-8px); }
  to { opacity: 1; transform: none; }
}

.hs { position: relative; height: clamp(600px, 58vw, 880px); overflow: hidden; background: var(--n); color: #fff; touch-action: pan-y; }
.sl { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity 1.1s ease, visibility 0s linear 1.1s; }
.sl.on { opacity: 1; visibility: visible; transition: opacity 1.1s ease; }
.site .sl > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; max-width: none; }
@keyframes kb {
  from { transform: scale(1); }
  to { transform: scale(1.09); }
}
.sl::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(33, 16, 15, .78) 0%, rgba(33, 16, 15, .5) 48%, rgba(33, 16, 15, .14) 100%), linear-gradient(180deg, rgba(33, 16, 15, .55) 0%, rgba(33, 16, 15, 0) 30%); }
.sl-c { position: relative; z-index: 2; height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding-top: 110px; padding-bottom: 76px; }
.sl-c .eb { color: #fff; font-size: 34px; }
.sl-c h1 + .btns { margin-top: 30px; }
.sl-c h1, .sl-c h2 { font-size: clamp(38px, 5.8vw, 80px); line-height: 1.14; padding: .14em .5em .14em 0; margin: -.14em 0; }
.scr { font-family: Yellowtail, "Brush Script MT", cursive; font-weight: 400; text-transform: none; letter-spacing: 0; font-size: 1.14em; line-height: .9; padding-right: .14em; }
.sl-c p { font-size: 20px; margin: 16px 0 28px; white-space: nowrap; }
.sl.on .sl-c > * { animation: su .9s cubic-bezier(.2, .7, .2, 1) both; }
.sl.on .sl-c > *:nth-child(2) { animation-delay: .15s; }
.sl.on .sl-c > *:nth-child(3) { animation-delay: .3s; }
.sl.on .sl-c > *:nth-child(4) { animation-delay: .45s; }
@keyframes su {
  from { opacity: 0; transform: translateY(34px); }
  to { opacity: 1; transform: none; }
}
.ha { position: absolute; z-index: 3; top: 50%; margin-top: -26px; width: 52px; height: 52px; display: flex; align-items: center; justify-content: center; background: rgba(33, 16, 15, .35); color: #fff; border: 1px solid rgba(255, 255, 255, .5); border-radius: 50%; cursor: pointer; transition: background-color .25s; }
.ha:hover { background: var(--b); border-color: var(--b); }
.ha.pv { left: 22px; }
.ha.nx { right: 22px; }
.hb { position: absolute; z-index: 3; left: 0; right: 0; bottom: 74px; }
.hb .wrap { display: flex; gap: 8px; }
.hb button { background: none; border: 0; padding: 18px 0; width: 56px; cursor: pointer; }
.hb i { display: block; position: relative; height: 3px; background: rgba(255, 255, 255, .4); overflow: hidden; }
.hb i b { position: absolute; inset: 0; background: #fff; transform: scaleX(0); transform-origin: left; }
.hb .on i b { animation: barra 6.5s linear both; }
.hb .fer i b { animation: none; transform: scaleX(1); }
@keyframes barra {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}

.ib { position: relative; z-index: 5; margin-top: -58px; }
.ib-g { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; background: #fff; box-shadow: var(--sh2); border-radius: 4px; overflow: hidden; }
.ib-c { display: flex; gap: 14px; align-items: flex-start; padding: 24px 26px; border-right: 1px solid var(--line); text-decoration: none; }
.ib-c .ic { color: var(--b); margin-top: 3px; }
.ib-c b { display: block; font-family: Anton, Impact, sans-serif; font-weight: 400; text-transform: uppercase; letter-spacing: .03em; font-size: 18px; color: var(--n); }
.ib-c span { font-size: 15.5px; line-height: 1.4; display: block; color: var(--mu); }
.ib-a { display: flex; align-items: center; justify-content: center; padding: 16px 30px; background: var(--b); color: #fff; font-weight: 700; text-decoration: none; transition: background-color .25s; white-space: nowrap; }
.ib-a:hover { background: var(--bd); color: #fff; }

.ben { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 84px); align-items: center; }
.ben.inv > .col { order: 2; }
.col { position: relative; padding: 0 76px 76px 0; }
.ben.inv .col { padding: 0 0 76px 76px; }
.site .col img { border-radius: 4px; }
.site .col .g { width: 100%; height: auto; aspect-ratio: 4 / 3.5; object-fit: cover; box-shadow: var(--sh); }
.site .col .pc2 { position: absolute; right: 0; bottom: 0; width: 50%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border: 8px solid #fff; box-shadow: var(--sh2); }
.ben.inv .col .pc2 { right: auto; left: 0; }
.tx p { color: var(--mu); }
.tx p + p { margin-top: 14px; }
.tx h2.ti { margin-bottom: 18px; }
.tx .lead { color: var(--t); font-size: 19.5px; font-weight: 500; line-height: 1.5; }
.tx .btns { margin-top: 28px; }
.tick { margin-top: 20px; display: grid; gap: 8px; }
.tick li { position: relative; padding-left: 26px; font-weight: 600; color: var(--t); }
.tick li::before { content: ""; position: absolute; left: 2px; top: 7px; width: 13px; height: 7px; border-left: 2px solid var(--b); border-bottom: 2px solid var(--b); transform: rotate(-45deg); }
.ph { background: #FFF7DF; border: 1px dashed #B58A2C; padding: 12px 14px; color: #5B4310 !important; font-weight: 600; margin-top: 18px; font-size: 16px; }

.g3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.cd { height: 100%; display: flex; flex-direction: column; background: #fff; border-radius: 4px; overflow: hidden; box-shadow: var(--sh); transition: transform .35s, box-shadow .35s; }
.cd:hover { transform: translateY(-7px); box-shadow: var(--sh2); }
.cd-i { position: relative; overflow: hidden; aspect-ratio: 4 / 3; }
.site .cd-i img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.cd:hover .cd-i img { transform: scale(1.07); }
.cd-b { flex: 1; display: flex; flex-direction: column; align-items: flex-start; padding: 26px 28px 28px; }
.cd-b h3 { font-size: 26px; color: var(--n); margin-bottom: 8px; }
.cd-b p { color: var(--mu); margin-bottom: 16px; flex: 1; }
.cd-t { display: block; font-weight: 700; color: var(--b); margin-bottom: 14px; }

.dark { position: relative; overflow: hidden; background: var(--b); color: #fff; }
.dark .eb { color: var(--p); }
.site .dark h2.ti { color: #fff; }
.dark .sh p { color: var(--p); }
.site img.wm { position: absolute; left: 0; bottom: 0; width: 100%; max-width: none; height: auto; opacity: .08; pointer-events: none; }
.v3 { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; text-align: center; }
.v3 .tondo { width: 76px; height: 76px; margin: 0 auto 18px; display: flex; align-items: center; justify-content: center; border: 1px solid rgba(255, 255, 255, .55); border-radius: 50%; transition: background-color .3s, color .3s; }
.v3 > div:hover .tondo { background: #fff; color: var(--b); }
.v3 h3 { font-size: 27px; margin-bottom: 8px; }
.v3 p { color: var(--p); max-width: 23em; margin: 0 auto; }
.dark .sh, .sez-r { position: relative; }
.cen { text-align: center; margin-top: 44px; position: relative; }

.par { position: relative; color: #fff; text-align: center; padding: 130px 0; background-position: center; background-size: cover; background-attachment: fixed; }
.par::before { content: ""; position: absolute; inset: 0; background: rgba(33, 16, 15, .62); }
.par .wrap { position: relative; }
.par .eb { color: #fff; font-size: 34px; }
.site .par h2 { font-size: clamp(38px, 5vw, 66px); }
.par p { font-size: 20px; max-width: 34em; margin: 14px auto 28px; }
.par .btns { justify-content: center; }

.car { position: relative; }
.car-h { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 36px; }
.car-a { display: flex; gap: 10px; flex: none; }
.car-a button { width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; background: #fff; color: var(--b); border: 1px solid var(--b); border-radius: 50%; cursor: pointer; transition: background-color .25s, color .25s; }
.car-a button:hover { background: var(--b); color: #fff; }
.car-t { display: flex; gap: 30px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 6px 4px 34px; margin: -6px -4px -34px; }
.car-t::-webkit-scrollbar { display: none; }
.pc { flex: 0 0 calc((100% - 60px) / 3); scroll-snap-align: start; }
.pz { position: absolute; right: 14px; top: 14px; background: var(--b); color: #fff; font-family: Anton, Impact, sans-serif; letter-spacing: .03em; padding: 4px 13px; border-radius: 3px; font-size: 18px; }

.mt { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-bottom: 40px; }
.mt button { font-family: inherit; font-weight: 700; font-size: 16px; min-height: 46px; padding: 8px 22px; background: transparent; color: var(--t); border: 1px solid var(--line); border-radius: 30px; cursor: pointer; transition: background-color .25s, color .25s, border-color .25s; }
.mt button:hover { border-color: var(--b); color: var(--b); }
.mt button.on { background: var(--b); border-color: var(--b); color: #fff; }
.ml { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 56px; animation: dissolvi .45s ease both; }
@keyframes dissolvi {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: none; }
}
.mi { padding: 13px 0; border-bottom: 1px solid var(--line); }
.mi-r { display: flex; align-items: baseline; gap: 10px; }
.mi-n { font-weight: 700; font-size: 18px; color: var(--n); line-height: 1.3; }
.mi-p { flex: 1; min-width: 20px; border-bottom: 2px dotted #C9BFAE; transform: translateY(-4px); }
.mi-e { font-family: Anton, Impact, sans-serif; letter-spacing: .02em; font-size: 19px; color: var(--b); white-space: nowrap; }
.mi-d { display: block; color: var(--mu); font-size: 15.5px; line-height: 1.4; }
.al { font-size: 13.5px; color: var(--mu); }

.cta { background: var(--b); color: #fff; padding: 52px 0; }
.cta .wrap { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 22px 40px; }
.site .cta h2 { font-size: clamp(30px, 3.2vw, 42px); }
.cta p { color: var(--p); }

.igt { text-align: center; padding: 52px 24px 24px; }
.igt a { color: var(--b); font-weight: 700; text-decoration: none; }
.igg { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 3px; }
.igg a { position: relative; display: block; overflow: hidden; aspect-ratio: 1; }
.site .igg img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.igg a::after { content: ""; position: absolute; inset: 0; background: rgba(124, 30, 46, .72); opacity: 0; transition: opacity .3s; }
.igg .ic { position: absolute; z-index: 1; left: 50%; top: 50%; margin: -15px 0 0 -15px; color: #fff; opacity: 0; transition: opacity .3s; }
.igg a:hover img { transform: scale(1.08); }
.igg a:hover::after, .igg a:hover .ic { opacity: 1; }

.ft { position: relative; overflow: hidden; background: var(--n); color: #D9D2C6; padding: 72px 0 0; font-size: 16px; }
.ft-g { position: relative; display: grid; grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr)); gap: 40px; }
.site .ft-l img { width: 240px; height: auto; margin-bottom: 18px; }
.site .ft h2 { font-size: 20px; color: #fff; margin-bottom: 14px; letter-spacing: .04em; }
.ft a { text-decoration: none; }
.ft a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.ft li { display: flex; gap: 9px; align-items: flex-start; padding: 3px 0; overflow-wrap: anywhere; min-width: 0; }
.ft li .ic { margin-top: 4px; }
.ft-o { display: flex; justify-content: space-between; gap: 12px; width: 100%; }
.ft-b { position: relative; margin-top: 52px; border-top: 1px solid rgba(255, 255, 255, .18); padding: 18px 0; font-size: 14.5px; }
.ft-b .wrap { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 24px; }
.legale { max-width: 800px; margin: 0 auto; }
.legale h2 { font-size: 26px; color: var(--n); margin: 38px 0 10px; }
.legale h2:first-of-type { margin-top: 28px; }
.legale p, .legale li { color: var(--t); }
.legale p + p { margin-top: 12px; }
.legale ul { list-style: disc; padding-left: 22px; margin-top: 10px; }
.legale li + li { margin-top: 6px; }
.legale ul + p { margin-top: 12px; }
.legale a { color: var(--b); font-weight: 600; text-underline-offset: 3px; overflow-wrap: anywhere; }
.legale .agg { color: var(--mu); font-size: 15.5px; margin-top: 34px; }
.leg-tab { overflow-x: auto; margin-top: 12px; }
.leg-tab table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 16px; }
.leg-tab th, .leg-tab td { text-align: left; vertical-align: top; padding: 11px 14px 11px 0; border-bottom: 1px solid var(--line); }
.leg-tab th { font-weight: 700; color: var(--b); }
.seg { background: #FFF1C2; color: #5B4310; font-weight: 600; padding: 1px 5px; border-radius: 2px; }
.ft-leg { display: inline-flex; flex-wrap: wrap; gap: 4px 18px; }
.maps-bar { display: none; }
.btt { position: fixed; right: 22px; bottom: 22px; z-index: 40; width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; background: var(--b); color: #fff; border: 0; border-radius: 3px; box-shadow: var(--sh2); cursor: pointer; opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity .3s, transform .3s, visibility .3s, background-color .25s; }
.btt.is-s { opacity: 1; visibility: visible; transform: none; }
.btt:hover { background: var(--bd); }

.ban { position: relative; height: clamp(320px, 30vw, 430px); display: flex; align-items: center; justify-content: center; text-align: center; color: #fff; overflow: hidden; background: var(--n); padding-top: 96px; }
.site .ban > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; max-width: none; animation: kb 12s ease-out both; }
.ban::after { content: ""; position: absolute; inset: 0; background: rgba(33, 16, 15, .6); }
.ban .wrap { position: relative; z-index: 1; animation: su .8s cubic-bezier(.2, .7, .2, 1) both; }
.site .ban h1 { font-size: clamp(44px, 5.6vw, 72px); }
.bc { display: flex; justify-content: center; gap: 8px; font-size: 15.5px; margin-top: 8px; }
.bc a { text-decoration: none; }
.bc a:hover { text-decoration: underline; }

.sub { position: sticky; top: 68px; z-index: 20; background: #fff; box-shadow: 0 6px 18px rgba(33, 16, 15, .08); }
.sub .wrap { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 24px; padding-top: 10px; padding-bottom: 10px; }
.sub .mt { margin: 0; justify-content: flex-start; flex-wrap: nowrap; }
.anc { display: flex; gap: 2px 16px; flex-wrap: wrap; min-width: 0; }
.anc a { color: var(--t); font-weight: 600; font-size: 15.5px; text-decoration: none; padding: 7px 0; white-space: nowrap; transition: color .2s; }
.anc a:hover { color: var(--b); }
.cat { padding: 60px 0 0; scroll-margin-top: 66px; }
.cat:last-child { padding-bottom: 8px; }
.cat-h { text-align: center; margin-bottom: 22px; }
.site .cat-h h2 { font-size: clamp(32px, 3.2vw, 42px); color: var(--n); }
.cmb { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 36px; }
.cmb-c { background: var(--c); border-radius: 4px; padding: 26px 20px; text-align: center; }
.cmb-p { display: block; font-family: Anton, Impact, sans-serif; font-size: 46px; line-height: 1.1; letter-spacing: .02em; color: var(--b); }
.cmb-c p { margin-top: 6px; font-weight: 600; }
.not { max-width: 760px; margin: 40px auto 0; text-align: center; color: var(--b); font-weight: 600; }
.leg { background: var(--c); padding: 64px 0; }
.leg ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 40px; margin-top: 8px; }
.leg li { display: flex; gap: 10px; font-size: 16px; }
.leg li b { flex: none; width: 1.6em; color: var(--b); }
.leg-n { color: var(--mu); font-size: 15.5px; margin-top: 16px; max-width: 58em; }

.cnt { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.ci { display: block; background: #fff; box-shadow: var(--sh); border-radius: 4px; padding: 32px 28px; text-align: center; text-decoration: none; height: 100%; transition: transform .35s, box-shadow .35s; overflow-wrap: anywhere; }
a.ci:hover { transform: translateY(-6px); box-shadow: var(--sh2); }
.ci .ic { color: var(--b); margin: 0 auto 12px; }
.ci h3 { font-size: 23px; color: var(--n); margin-bottom: 6px; }
.ci span { display: block; color: var(--mu); }
.pre { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 56px; align-items: start; }
.ora { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; background: #fff; }
.ora caption { text-align: left; font-family: Anton, Impact, sans-serif; text-transform: uppercase; letter-spacing: .02em; font-size: 26px; color: var(--n); padding-bottom: 10px; }
.ora th, .ora td { text-align: left; padding: 13px 12px; border-bottom: 1px solid var(--line); font-size: 16px; font-weight: 500; }
.ora th:first-child, .ora td:first-child { padding-left: 24px; }
.ora th:last-child, .ora td:last-child { padding-right: 24px; }
.ora tbody tr:last-child th, .ora tbody tr:last-child td { border-bottom: 0; }
.ora thead th { font-weight: 700; color: var(--b); }
.ora tbody th { font-weight: 700; color: var(--n); }
.ora-n { margin-top: 12px; font-weight: 600; color: var(--b); }
.loc { background: var(--c); padding-top: 28px; }
.site .loc img { width: 100%; height: auto; }

.rv { transition: opacity .75s ease, transform .75s cubic-bezier(.2, .7, .2, 1); }
.rv-w { opacity: 0; transform: translateY(30px); }
.g3 > .rv:nth-child(2), .v3 > .rv:nth-child(2), .cnt > .rv:nth-child(2) { transition-delay: .14s; }
.g3 > .rv:nth-child(3), .v3 > .rv:nth-child(3), .cnt > .rv:nth-child(3) { transition-delay: .28s; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .site *, .site *::before, .site *::after { animation: none !important; transition: none !important; }
  .rv-w { opacity: 1; transform: none; }
}
@media (hover: none) {
  .par { background-attachment: scroll; }
}
@media (max-width: 1080px) {
  .nav { display: none; }
  .burger { display: block; }
  .maps-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 45; display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 58px; padding: 10px 20px calc(10px + env(safe-area-inset-bottom, 0px)); background: var(--b); color: #fff; font-weight: 700; font-size: 17px; text-decoration: none; box-shadow: 0 -6px 20px rgba(33, 16, 15, .22); }
  .maps-bar:hover { background: var(--bd); color: #fff; }
  .ft-maps { padding-bottom: 58px; }
  .maps-bar ~ .btt { bottom: calc(72px + env(safe-area-inset-bottom, 0px)); }
  .nav-w { display: grid; grid-template-rows: 0fr; visibility: hidden; transition: grid-template-rows .36s ease, visibility 0s linear .36s; }
  .nav-w.aperto { grid-template-rows: 1fr; visibility: visible; transition: grid-template-rows .36s ease, visibility 0s linear 0s; }
  .ib-g { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ib-a { grid-column: 1 / -1; min-height: 56px; }
  .ha { display: none; }
  .pc { flex-basis: calc((100% - 30px) / 2); }
  .ft-g { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ft-l { grid-column: 1 / -1; }
}
@media (max-width: 860px) {
  .sez { padding: 68px 0; }
  .ub { display: none; }
  .hd, .top.is-s .hd { height: 66px; }
  .site .top-logo img, .top.is-s .top-logo img { height: 46px; }
  .hs { height: 640px; }
  .sl-c { padding-top: 96px; padding-bottom: 110px; }
  .sl-c p { font-size: 18px; white-space: normal; }
  .sl-c h1, .sl-c h2 { padding-right: .16em; }
  .sl::after { background: linear-gradient(180deg, rgba(33, 16, 15, .6) 0%, rgba(33, 16, 15, .62) 100%); }
  .ib { margin-top: -44px; }
  .ib-g { grid-template-columns: minmax(0, 1fr); }
  .ib-c { border-right: 0; border-bottom: 1px solid var(--line); padding: 18px 20px; }
  .ben, .pre, .g3, .v3, .cnt { grid-template-columns: minmax(0, 1fr); }
  .ben.inv > .col { order: 0; }
  .col, .ben.inv .col { padding: 0 44px 44px 0; }
  .ben.inv .col .pc2 { left: auto; right: 0; }
  .par { padding: 88px 0; }
  .ml { grid-template-columns: minmax(0, 1fr); }
  .pc { flex-basis: 84%; }
  .car-t { gap: 18px; }
  .igg { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .leg ol { grid-template-columns: minmax(0, 1fr); }
  .cmb { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .sub { top: 66px; }
  .sub .wrap { padding-left: 0; padding-right: 0; }
  .sub .mt, .anc { padding: 0 20px; width: 100%; }
  .anc { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  .sub .mt button { flex: 1 1 auto; padding: 6px 12px; }
  .cat { scroll-margin-top: 118px; }
  .btt { right: 14px; bottom: 14px; }
  .ora th, .ora td { padding: 11px 6px; }
  .ora th:first-child, .ora td:first-child { padding-left: 14px; }
  .ora th:last-child, .ora td:last-child { padding-right: 14px; }
}
@media (max-width: 520px) {
  .wrap { padding: 0 20px; }
  .sl-c h1, .sl-c h2 { font-size: 34px; }
  .btns .btn { flex: 1 1 100%; }
  .leg ol { grid-template-columns: minmax(0, 1fr); }
  .ft-g { grid-template-columns: minmax(0, 1fr); }
  .car-h { align-items: center; }
  .sh { margin-bottom: 38px; }
}
.par-festa { background-image: url(img/aperitivo.jpg); }
[data-if] { display: contents; }
[data-if][hidden] { display: none; }
