/* LATTERIA 1963 — reference-pinned fusion 2 + 3.
   Scoped visual layer. The original CSS, preloader, data and application JS stay intact. */
@font-face {
  font-family: 'Latteria Bodoni';
  src: url('/latteria/assets/fonts/latteria-bodoni-moda-latin-v96.woff2') format('woff2');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

.landing-view, .footer, .topbar {
  --l-wine: #501f29;
  --l-wine-dark: #37161e;
  --l-milk: #f5eddf;
  --l-ink: #55242d;
  --l-muted: #795d57;
  --l-line: #cbb7a4;
}
.landing-view { background: var(--l-milk); color: var(--l-ink); }
.landing-view ::selection, .footer ::selection { background: #d4b4a2; color: #37161e; }
.landing-view :focus-visible, .topbar :focus-visible, .footer :focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 5px;
}
.topbar {
  width: min(1240px, calc(100% - 64px));
  top: 16px;
  background: var(--l-wine);
  color: var(--l-milk);
  border: 1px solid #9e7775;
  border-radius: 12px;
  backdrop-filter: none;
}
.topbar .brand { font-size: 30px; letter-spacing: .035em; }
.topbar .top-link, .topbar .top-actions, .topbar .cart-mini, .topbar .profile-mini {
  border-color: #82545b;
}
.topbar .top-link:hover, .topbar button:hover { background: #6a333d; }

.landing-view .hero {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto auto minmax(350px, 33vw) auto;
  padding: 112px max(32px, calc((100vw - 1280px) / 2)) 28px;
  background: var(--l-wine);
  color: var(--l-milk);
  border-radius: 0 0 24px 24px;
}
.landing-view .hero::before { content: none; }
.landing-view .hero-content, .landing-view .hero-main, .landing-view .hero-side {
  display: contents;
}
.landing-view .hero-brand-lockup {
  grid-column: 1;
  grid-row: 1;
  justify-items: center;
  text-align: center;
  padding: 0 0 13px;
}
.landing-view .hero-title {
  font-family: 'Latteria Bodoni', 'Times New Roman', serif;
  font-size: clamp(76px, 12.1vw, 174px);
  font-weight: 400;
  line-height: .94;
  letter-spacing: -.025em;
  text-transform: uppercase;
  text-shadow: none;
}
.landing-view .hero-title .reveal { padding-bottom: 14px; }
.landing-view .hero-title .reveal:nth-child(2) {
  font-family: Forum, Georgia, serif;
  font-size: 29px;
  line-height: 1.1;
  letter-spacing: .3em;
  padding-left: .3em;
  padding-bottom: 0;
  margin-top: 6px;
}
.landing-view .hero-title .reveal:nth-child(2) span::before,
.landing-view .hero-title .reveal:nth-child(2) span::after {
  content: '';
  display: inline-block;
  width: 58px;
  height: 1px;
  margin: 0 22px 9px;
  background: #bfa393;
}
.landing-view .hero-side > p {
  grid-column: 1;
  grid-row: 2;
  width: min(660px, 100%);
  margin: 0 auto 30px;
  text-align: center;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.6;
  color: #ead9cd;
  text-shadow: none;
}
.landing-view .hero-photo {
  grid-column: 1;
  grid-row: 3;
  position: relative;
  inset: auto;
  align-self: stretch;
  min-height: 350px;
  overflow: hidden;
  border: 1px solid #c2a58e;
  border-radius: 13% 13% 14px 14px / 17% 17% 14px 14px;
}
.landing-view .hero-photo img {
  position: absolute;
  inset: 0;
  object-position: 50% 49%;
  filter: none;
}
.landing-view .hero-photo::after {
  content: '';
  position: absolute;
  inset: 52% 0 0;
  background: linear-gradient(transparent, rgb(28 16 17 / 65%));
  pointer-events: none;
}
.landing-view .hero-actions {
  grid-column: 1;
  grid-row: 3;
  z-index: 3;
  align-self: end;
  justify-self: center;
  display: flex;
  flex-wrap: nowrap;
  gap: 12px;
  margin: 0 0 28px;
  padding: 0;
}
.landing-view .hero-cta, .landing-view .feature-cta {
  min-height: 52px;
  min-width: 145px;
  border-radius: 12px;
  padding: 0 28px;
  border: 1px solid var(--l-milk);
  background: var(--l-milk);
  color: var(--l-wine);
  font-family: Jost, Arial, sans-serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .045em;
  text-transform: none;
  transition: color 180ms ease, background-color 180ms ease;
  text-shadow: none;
}
.landing-view .hero-cta-secondary {
  background: #501f29;
  color: var(--l-milk);
}
.landing-view .hero-cta:hover, .landing-view .feature-cta:hover {
  transform: none;
  color: var(--l-milk);
  background: #69343f;
  border-color: var(--l-milk);
}
.landing-view .hero-meta {
  grid-row: 4;
  grid-column: 1;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 30px;
  width: 100%;
  padding: 25px 12px 0;
  margin: 0;
  border: 0;
  background: transparent;
}
.landing-view .hero-meta div { padding: 0; border: 0; }
.landing-view .hero-meta div:nth-child(2) { text-align: center; }
.landing-view .hero-meta div:nth-child(3) { text-align: right; }
.landing-view .hero-meta b { color: #e4c7b8; font-weight: 400; font-size: 10px; }
.landing-view .hero-meta span { color: #f5eddf; font-size: 12px; letter-spacing: .01em; }

.landing-view .section { padding: 105px 0; }
.landing-view .section-title, .landing-view .feature-panel h2,
.landing-view .dark-editorial h2, .landing-view .location-copy h2 {
  font-family: Forum, Georgia, serif;
  font-weight: 400;
  font-size: clamp(40px, 4.9vw, 68px);
  line-height: 1.07;
  letter-spacing: -.02em;
  text-transform: none;
  text-wrap: balance;
}
.landing-view .lead { color: var(--l-muted); font-size: 17px; line-height: 1.75; }
.landing-view .section-label { color: #7c4f54; margin-bottom: 18px; letter-spacing: .13em; }
.landing-view .story { background: var(--l-milk); }
.landing-view .story-grid {
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
  gap: clamp(45px, 8vw, 116px);
  align-items: center;
}
.landing-view .story-copy { padding-top: 0; }
.landing-view .story-copy .lead { max-width: 590px; margin-top: 26px; }
.landing-view .story-photo {
  aspect-ratio: 1 / 1.07;
  border-radius: 16px 60px 16px 16px;
}
.landing-view .story-photo::after { content: none; }
.landing-view .statement { background: var(--l-milk); padding: 12px 0 100px; }
.landing-view .statement p {
  max-width: 1020px;
  padding: 35px 0 0;
  border-top: 1px solid var(--l-line);
  font-size: clamp(26px, 3vw, 42px);
  line-height: 1.24;
  font-family: Forum, Georgia, serif;
  color: var(--l-ink);
  letter-spacing: 0;
  text-transform: none;
  text-align: center;
  text-wrap: balance;
}
.landing-view .split-feature {
  width: min(1280px, calc(100% - 72px));
  margin: 0 auto 108px;
  min-height: 0;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  overflow: hidden;
  border-radius: 16px;
  background: var(--l-wine);
}
.landing-view .split-feature .feature-photo { min-height: 560px; }
.landing-view .feature-panel { background: var(--l-wine); padding: clamp(30px, 4vw, 62px); }
.landing-view .feature-panel h2 { font-size: clamp(37px, 3.6vw, 52px); color: var(--l-milk); }
.landing-view .feature-panel .lead, .landing-view .feature-panel .section-label { color: #ead9cd; }
.landing-view .feature-actions { gap: 10px; }
.landing-view .feature-cta { min-width: 0; padding: 0 19px; }
.landing-view .feature-cta:not(.feature-cta-primary) { background: transparent; color: var(--l-milk); }
.landing-view .dark-editorial {
  min-height: 550px;
  background: var(--l-wine-dark);
  border-radius: 22px 22px 0 0;
}
.landing-view .dark-editorial img { object-position: center 42%; opacity: .7; }
.landing-view .dark-editorial::after {
  background: linear-gradient(90deg, rgb(41 13 21 / 90%), rgb(41 13 21 / 25%));
}
.landing-view .dark-editorial .shell { min-height: 550px; padding: 70px 0; align-items: center; }
.landing-view .dark-editorial h2 { max-width: 640px; color: var(--l-milk); }
.landing-view .dark-editorial .section-label { color: #f0d8c6; }
.landing-view .venue-gallery { background: var(--l-milk); padding: 110px 0 90px; }
.landing-view .venue-intro { gap: 64px; align-items: end; margin-bottom: 42px; }
.landing-view .venue-intro .lead { max-width: 470px; }
.landing-view .venue-slider-window { border-radius: 16px; }
.landing-view .venue-slider-controls { border-color: var(--l-line); }
.landing-view .venue-arrow { color: var(--l-milk); background: var(--l-wine); border-color: var(--l-wine); border-radius: 10px; }
.landing-view .venue-counter { color: var(--l-milk); background: var(--l-wine); border-radius: 10px; }
.landing-view .venue-address { color: var(--l-ink); }
.landing-view .venue-dot, .landing-view .venue-dot.active { background: transparent; }
.landing-view .venue-dot::after { background: #baa08e; }
.landing-view .venue-dot.active::after { background: var(--l-wine); }
.landing-view .location { padding-top: 20px; padding-bottom: 100px; background: var(--l-milk); }
.landing-view .location-band { border: 1px solid var(--l-line); border-radius: 16px; overflow: hidden; background: #eee1d0; }
.landing-view .location-copy { background: transparent; color: var(--l-ink); padding: 48px; }
.landing-view .location-lines { color: var(--l-ink); }
.landing-view .location-map { border-radius: 0; }
.landing-view .map-route, .landing-view .map-pin-label { background: var(--l-wine); color: var(--l-milk); border-radius: 10px; }
.landing-view .map-pin-label span { color: #ead9cd; }
.footer { background: var(--l-wine); color: var(--l-milk); border-radius: 20px 20px 0 0; }
.footer p { color: #ead9cd; }
.footer .footer-small { color: #e1c8bb; }
.footer .footer-action { color: var(--l-milk); border-color: #b08d81; border-radius: 10px; }
.footer .footer-logo { font-family: 'Latteria Bodoni', 'Times New Roman', serif; font-size: clamp(46px, 8.4vw, 126px); letter-spacing: -.02em; }

@media (min-width: 1500px) {
  .landing-view .hero { grid-template-rows: auto auto 495px auto; }
}
@media (max-width: 980px) {
  .topbar .brand { font-size: 25px; }
  .topbar a, .topbar button { padding-inline: 12px; }
  .landing-view .hero { padding-top: 110px; grid-template-rows: auto auto 380px auto; }
  .landing-view .hero-title { font-size: 12vw; }
  .landing-view .hero-meta { gap: 18px; padding-inline: 0; }
  .landing-view .story-grid { grid-template-columns: 1fr 1fr; gap: 36px; }
  .landing-view .split-feature .feature-photo { min-height: 540px; }
  .landing-view .feature-panel { padding: 30px; }
  .landing-view .venue-intro { gap: 30px; }
  .landing-view .location-copy { padding: 32px; }
}
@media (max-width: 760px) {
  .topbar { width: calc(100% - 20px); top: 10px; border-radius: 10px; background: var(--l-wine); backdrop-filter: none; }
  .topbar .brand { font-size: 18px; }
  .landing-view .hero {
    padding: 102px 18px 24px;
    grid-template-rows: auto auto 325px auto;
    border-radius: 0 0 16px 16px;
  }
  .landing-view .hero-brand-lockup { padding-bottom: 14px; }
  .landing-view .hero-title { font-size: 12.65vw; line-height: 1; letter-spacing: -.035em; }
  .landing-view .hero-title .reveal { padding-bottom: 9px; }
  .landing-view .hero-title .reveal:nth-child(2) { font-size: 22px; margin-top: 5px; }
  .landing-view .hero-title .reveal:nth-child(2) span::before,
  .landing-view .hero-title .reveal:nth-child(2) span::after { width: 35px; margin: 0 14px 6px; }
  .landing-view .hero-side > p { font-size: 13px; line-height: 1.6; max-width: 340px; margin-bottom: 23px; }
  .landing-view .hero-photo { min-height: 325px; border-radius: 38px 38px 12px 12px; }
  .landing-view .hero-photo img { object-position: center; }
  .landing-view .hero-actions { margin-bottom: 20px; gap: 9px; width: calc(100% - 32px); }
  .landing-view .hero-actions .hero-cta { flex: 1; min-width: 0; min-height: 48px; border-radius: 10px; padding: 0 14px; font-size: 13px; }
  .landing-view .hero-meta { grid-template-columns: 1fr; gap: 11px; padding: 20px 0 0; }
  .landing-view .hero-meta div, .landing-view .hero-meta div:nth-child(2), .landing-view .hero-meta div:nth-child(3) {
    display: flex; align-items: baseline; justify-content: space-between; gap: 18px; text-align: right;
  }
  .landing-view .hero-meta b { flex-shrink: 0; margin: 0; text-align: left; font-size: 9px; }
  .landing-view .hero-meta span { max-width: 265px; font-size: 12px; }
  .landing-view .shell { width: calc(100% - 40px); }
  .landing-view .section { padding: 65px 0; }
  .landing-view .section-title, .landing-view .location-copy h2 { font-size: 42px; line-height: 1.08; }
  .landing-view .lead { font-size: 15px; line-height: 1.75; }
  .landing-view .story-grid { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .landing-view .story-copy .lead { margin-top: 22px; }
  .landing-view .story-photo { aspect-ratio: 1.1; max-width: none; border-radius: 12px 44px 12px 12px; }
  .landing-view .statement { padding: 0 0 62px; }
  .landing-view .statement p { width: calc(100% - 40px); font-size: 29px; padding-top: 27px; }
  .landing-view .split-feature { width: calc(100% - 32px); grid-template-columns: minmax(0, 1fr); margin-bottom: 64px; border-radius: 14px; }
  .landing-view .split-feature .feature-photo { min-height: 0; height: 330px; }
  .landing-view .feature-panel { padding: 32px 24px 36px; }
  .landing-view .feature-panel h2 { font-size: 39px; }
  .landing-view .feature-panel .lead { margin-top: 22px; }
  .landing-view .feature-actions { margin-top: 25px; }
  .landing-view .feature-cta { min-height: 46px; padding: 0 15px; font-size: 12px; border-radius: 10px; }
  .landing-view .dark-editorial, .landing-view .dark-editorial .shell { min-height: 475px; }
  .landing-view .dark-editorial .shell { padding: 55px 0; }
  .landing-view .dark-editorial h2 { font-size: 43px; max-width: 340px; }
  .landing-view .venue-gallery { padding: 65px 0; }
  .landing-view .venue-intro { grid-template-columns: 1fr; gap: 22px; margin-bottom: 30px; }
  .landing-view .venue-slider-window { border-radius: 12px; }
  .landing-view .venue-address { gap: 10px; font-size: 12px; }
  .landing-view .location { padding-top: 0; }
  .landing-view .location-copy { padding: 30px 22px; }
  .landing-view .location-lines { font-size: 14px; }
  .footer .footer-logo { font-size: 8.6vw; }
}
@media (max-width: 360px) {
  .topbar .brand { font-size: 15px; }
  .landing-view .hero { padding-inline: 14px; }
  .landing-view .hero-title { font-size: 12.5vw; }
  .landing-view .hero-meta span { max-width: 230px; }
}
