@font-face { font-family: 'Latteria Reference'; src: url('/latteria/assets/fonts/latteria-bodoni-bold-v101.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; }
/* Direct composition transfer from the user's selected fusion 2+3 reference. */
@font-face {
  font-family: 'Latteria Prata'; src: url('/latteria/assets/fonts/latteria-prata-cyrillic-v101.woff2') format('woff2');
  font-weight: 400; font-style: normal; font-display: swap;
  unicode-range: U+0400-052F,U+2116;
}
@font-face {
  font-family: 'Latteria Prata'; src: url('/latteria/assets/fonts/latteria-prata-latin-v101.woff2') format('woff2');
  font-weight: 400; font-style: normal; font-display: swap;
  unicode-range: U+0000-024F,U+1E00-1EFF,U+2000-206F;
}
.reference-home {
  --atelier-paper: #f4f1eb; --atelier-wine: #43151a; --atelier-secondary: #745966;
  --atelier-rule: #d5c6cb; background: #f4f1eb; color: #43151a;
}
body:not(.menu-page-active):not(.booking-page-active):not(.profile-page-active) .topbar {
  top: 0; background: #43151a; color: #f4f1eb; border: 0; box-shadow: none; overflow: visible;
}
body:not(.menu-page-active):not(.booking-page-active):not(.profile-page-active) .topbar .brand {
  font-family: 'Latteria Bodoni', Georgia, serif; font-size: 26px; text-transform: uppercase;
  text-shadow: none; font-weight: 400; letter-spacing: .01em;
}
body:not(.menu-page-active):not(.booking-page-active):not(.profile-page-active) .topbar button,
body:not(.menu-page-active):not(.booking-page-active):not(.profile-page-active) .topbar .top-link,
body:not(.menu-page-active):not(.booking-page-active):not(.profile-page-active) .topbar .top-actions { border: 0; }
body:not(.menu-page-active):not(.booking-page-active):not(.profile-page-active) .topbar .top-link {
  font-family: Forum, Georgia, serif; font-weight: 400; font-size: 20px; letter-spacing: .02em; text-transform: none;
}
.ref-hero { position: relative; isolation: isolate; padding-top: 85px; background: #43151a; color: #f4f1eb; overflow: hidden; }
.ref-masthead { position: relative; width: min(1110px, 80%); margin: 0 auto 10px; text-align: center; z-index: 2; }
.ref-title { position: relative; margin: 0; font-weight: 400; }
.ref-arched-name { display: block !important; width: 100% !important; height: auto !important; fill: currentColor !important; stroke: none !important; overflow: visible; }
.ref-arched-name text { font: 700 158px 'Latteria Reference', 'Latteria Bodoni', Georgia, serif; fill: currentColor; stroke: none; }
.ref-year { display: flex; justify-content: center; align-items: center; gap: 22px; position: absolute; bottom: 23px; width: 100%; font: 31px Forum, Georgia, serif; letter-spacing: .23em; }
.ref-year i { display: inline-block; height: 1px; width: 65px; background: #cebcc4; }
.ref-cuisine { font-family: Forum, Georgia, serif; font-size: 21px; letter-spacing: .22em; margin-top: -16px !important; }
.ref-photo-frame { position: relative; width: min(1330px, calc(100% - 64px)); margin: 0 auto; padding: 8px; border: 1px solid #ebdfdf; border-radius: 46% 46% 10px 10px / 35% 35% 10px 10px; }
.ref-photo-window { position: relative; height: clamp(500px, 52vw, 750px); overflow: hidden; border-radius: inherit; border: 1px solid #ebdfdf; background: #222326; }
.ref-photo-window img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 57%; }
.ref-photo-window::after { content: ''; position: absolute; inset: 55% 0 0; background: linear-gradient(transparent, rgb(18 15 19 / .63)); pointer-events: none; }
.ref-menu-button {
  position: absolute; bottom: 15%; left: 50%; transform: translateX(-50%); z-index: 4;
  display: inline-flex; align-items: center; justify-content: center; min-height: 61px;
  padding: 13px 38px; border: 1px solid #43151a; outline: 1px solid #f4f1eb; outline-offset: 4px;
  border-radius: 24px; background: #f4f1eb; color: #43151a !important; font: 25px Forum, Georgia, serif; white-space: nowrap;
}
.ref-menu-button:hover { background: #e7dce2; }
.ref-menu-button:focus-visible { outline: 3px solid #fff; outline-offset: 6px; }
.ref-transition { display: block !important; position: absolute; z-index: 3; bottom: -1px; left: 0; width: 100% !important; height: clamp(80px, 12vw, 180px) !important; fill: #f4f1eb !important; stroke: none !important; pointer-events: none; }
.ref-table { position: relative; z-index: 5; width: min(1240px, calc(100% - 100px)); margin: 0 auto; padding: 0 0 70px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 72px; }
.reference-home .ref-table-title { grid-column: 1; grid-row: 1; align-self: start; font-family: 'Latteria Prata', Georgia, serif; font-size: clamp(58px, 7.1vw, 103px); line-height: 1.01; letter-spacing: -.035em; font-weight: 400; padding-top: 0; }
.ref-dish { min-width: 0; display: block; }
.ref-dish-frame { display: block; padding: 5px; border: 1px solid #967081; }
.ref-dish img { width: 100%; height: 100%; object-fit: cover; }
.ref-burrata { grid-column: 2; grid-row: 1 / 3; width: 88%; justify-self: center; margin-top: -115px; transform: rotate(7deg); }
.ref-burrata .ref-dish-frame { border-radius: 39% 43% 30% 34% / 31% 38% 27% 32%; }
.ref-burrata img { aspect-ratio: .93; height: auto; border-radius: inherit; }
.ref-pasta { grid-column: 1; grid-row: 2 / 4; width: 100%; margin-top: 18px; }
.ref-pasta .ref-dish-frame { border-radius: 40% 40% 12px 12px / 29% 29% 12px 12px; }
.ref-pasta img { height: auto; aspect-ratio: 1; border-radius: inherit; }
.ref-dish-label { display: block; margin-top: 11px; color: #745966; font-size: 13px; }
.ref-burrata .ref-dish-label { text-align: center; }
.ref-table-copy { grid-column: 2; grid-row: 3; width: 83%; align-self: center; justify-self: center; padding: 32px 0 10px; }
.ref-table-copy p { max-width: 300px; font-size: 17px; color: #745966; }
.ref-table-copy .atelier-link { margin-top: 20px; }
.ref-downloads { grid-column: 1 / -1; grid-row: 4; margin-top: 48px; }
.reference-home .atelier-place { margin-top: 10px; }
.reference-home .atelier-place h2, .reference-home .atelier-dolce h2, .reference-home .atelier-visit h2 { font-family: 'Latteria Prata', Georgia, serif; font-weight: 400; font-size: clamp(42px, 4.4vw, 64px); line-height: 1.13; letter-spacing: -.025em; }
.reference-home .atelier-gallery-window { border-radius: 30% 30% 12px 12px / 22% 22% 12px 12px; padding: 5px; border: 1px solid #967081; }
.reference-home .atelier-gallery-track { border-radius: inherit; overflow: hidden; }
.reference-home .atelier-button { border-radius: 17px; }
.reference-home .atelier-dolce figure img { border-radius: 28% 32% 12px 12px / 22% 24% 12px 12px; }
.reference-home .atelier-dolce { padding-top: 35px; }
body:not(.menu-page-active):not(.booking-page-active):not(.profile-page-active) .footer { background: #43151a; }
body .preview-only-note { background: #f4f1eb; color: #43151a; }
@media (max-width: 1100px) and (min-width: 761px) {
  .ref-table { gap: 20px 40px; }
  .ref-burrata { margin-top: -75px; }
}
@media (max-width: 760px) {
  body:not(.menu-page-active):not(.booking-page-active):not(.profile-page-active) .topbar { padding: 0 9px; height: 62px; }
  body:not(.menu-page-active):not(.booking-page-active):not(.profile-page-active) .topbar .brand { font-size: 18px; padding: 0 4px; }
  body:not(.menu-page-active):not(.booking-page-active):not(.profile-page-active) .topbar .top-link { font-size: 17px; padding: 0 9px; }
  .ref-hero { padding-top: 77px; }
  .ref-masthead { width: calc(100% - 22px); margin-bottom: 19px; }
  .ref-year { bottom: 3px; font-size: 20px; gap: 12px; letter-spacing: .17em; }
  .ref-year i { width: 30px; }
  .ref-cuisine { font-size: 14px !important; letter-spacing: .15em; margin-top: 7px !important; }
  .ref-photo-frame { width: calc(100% - 24px); padding: 4px; border-radius: 46% 46% 6px 6px / 28% 28% 6px 6px; }
  .ref-photo-window { height: clamp(340px, 105vw, 610px); }
  .ref-photo-window img { object-position: 50% 48%; }
  .ref-menu-button { min-height: 48px; padding: 8px 28px; font-size: 21px; bottom: 14%; border-radius: 19px; outline-offset: 3px; }
  .ref-transition { height: 76px !important; }
  .ref-table { width: calc(100% - 32px); grid-template-columns: 1.06fr 1fr; gap: 12px 16px; padding: 7px 0 30px; }
  .reference-home .ref-table-title { font-size: clamp(29px, 8.5vw, 61px); line-height: 1.08; letter-spacing: -.035em; }
  .ref-burrata { width: 100%; margin-top: -36px; transform: rotate(6deg); }
  .ref-burrata .ref-dish-frame, .ref-pasta .ref-dish-frame { padding: 3px; }
  .ref-burrata img { aspect-ratio: .78; }
  .ref-pasta { margin-top: 2px; }
  .ref-pasta img { aspect-ratio: .84; }
  .ref-dish-label { font-size: 10px; line-height: 1.35; margin-top: 8px; }
  .ref-table-copy { width: 100%; padding: 10px 0 0; }
  .ref-table-copy p { font-size: 13px; line-height: 1.5; }
  .ref-table-copy .atelier-link { font-size: 13px; gap: 13px; margin-top: 12px; }
  .ref-downloads { margin-top: 25px; }
  .reference-home .atelier-place { margin-top: 4px; }
  .reference-home .atelier-place h2, .reference-home .atelier-dolce h2, .reference-home .atelier-visit h2 { font-size: 40px; }
  .reference-home .atelier-place h2 br { display: none; }
  .reference-home .atelier-place h2 br::after { content: ' '; }
}
@media (prefers-reduced-motion: no-preference) {
  body.ready .ref-photo-window img { animation: reference-photo-settle 1.2s cubic-bezier(.19,1,.22,1) both; }
}
@keyframes reference-photo-settle { from { transform: scale(1.04); } to { transform: scale(1); } }

body:not(.menu-page-active):not(.booking-page-active):not(.profile-page-active) .topbar .brand { line-height: .95; }
body:not(.menu-page-active):not(.booking-page-active):not(.profile-page-active) .topbar .brand small { display: block; font: 12px Forum, Georgia, serif; letter-spacing: .16em; text-align: center; margin-top: 4px; }
body:not(.menu-page-active):not(.booking-page-active):not(.profile-page-active) .topbar .profile-mini-full,
body:not(.menu-page-active):not(.booking-page-active):not(.profile-page-active) .topbar .cart-mini-label { display: none; }

.ref-arched-name { transform: scaleY(1.16); transform-origin: center bottom; }
