/* Big Craft Brunch. Keep the restaurant's Montserrat, charcoal and gold. */
.brunch { padding: 88px 32px 96px; background: #14110f; border-block: 1px solid rgba(212, 175, 55, .35); }
.brunch__inner { max-width: 1240px; margin-inline: auto; }
.brunch__intro { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(320px, 1fr); gap: 48px 80px; align-items: start; margin-bottom: 52px; }
.brunch__copy { min-width: 0; }
.brunch h2 { margin: 0 0 22px; color: #f6f1e7; font-size: clamp(34px, 4.4vw, 56px); font-weight: 600; line-height: 1.12; }
.brunch__lead { max-width: 620px; margin: 0; color: #d9d2c5; font-size: 17px; line-height: 1.75; }
.brunch__welcome { margin-top: 18px; color: #d9d2c5; font-size: 14px; }
.brunch__schedule-title { margin: 0 0 12px; font-size: 15px; font-weight: 500; color: #d9d2c5; }
.brunch__schedule { margin: 0; }
.brunch__schedule div { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; padding: 12px 0; border-bottom: 1px solid rgba(246, 241, 231, .16); }
.brunch__schedule dt { font-size: 14px; line-height: 1.5; color: #f6f1e7; }
.brunch__schedule dd { margin: 0; font-size: 20px; font-weight: 600; color: #d4af37; white-space: nowrap; }
.brunch__booking-note { margin: 21px 0 13px; font-size: 14px; font-weight: 500; color: #f6f1e7; line-height: 1.5; }
.brunch__reserve { width: 100%; }
.brunch__galleries { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; align-items: start; }
.brunch-carousel { min-width: 0; }
.brunch-carousel h3 { margin: 0 0 18px; color: #f6f1e7; font-size: 22px; font-weight: 500; }
.brunch-carousel__viewport { position: relative; overflow: hidden; background: #fff9ed; aspect-ratio: 4 / 5; border: 1px solid rgba(246, 241, 231, .24); border-radius: 6px; touch-action: pan-y pinch-zoom; }
.brunch-carousel__track { display: flex; width: 100%; transition: transform .35s cubic-bezier(.16, 1, .3, 1); }
.brunch-carousel__slide { flex: 0 0 100%; min-width: 0; width: 100%; margin: 0; }
.brunch-carousel__slide img { display: block; width: 100%; max-width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: contain; user-select: none; -webkit-user-drag: none; }
.brunch-carousel__arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 1; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid rgba(246, 241, 231, .35); border-radius: 4px; background: rgba(12, 10, 9, .72); color: #f6f1e7; font-family: inherit; font-size: 22px; line-height: 1; cursor: pointer; transition: background-color .2s, border-color .2s; }
.brunch-carousel__arrow:hover { background: #d4af37; border-color: #d4af37; color: #1c1917; }
.brunch :focus-visible { outline: 2px solid #d4af37; outline-offset: 4px; }
@media (max-width: 900px) {
    .brunch__intro { grid-template-columns: 1fr; gap: 30px; }
    .brunch__booking { max-width: 520px; width: 100%; }
    .brunch__galleries { gap: 24px; }
}
@media (max-width: 640px) {
    .brunch { padding: 60px 20px 64px; }
    .brunch__intro { margin-bottom: 36px; }
    .brunch__lead { font-size: 15px; line-height: 1.7; }
    .brunch__schedule dt { font-size: 12px; }
    .brunch__schedule dd { font-size: clamp(15px, 4.3vw, 19px); }
    .brunch__galleries { grid-template-columns: 1fr; gap: 40px; }
    .brunch-carousel { width: 100%; max-width: 520px; margin-inline: auto; }
    .brunch-carousel h3 { font-size: 20px; }
}
@media (prefers-reduced-motion: reduce) { .brunch-carousel__track { transition: none; } }

.brunch-carousel__arrow[data-brunch-prev] { left: 10px; }
.brunch-carousel__arrow[data-brunch-next] { right: 10px; }
