
.beer { padding: 88px 32px; background: #14110f; border-block: 1px solid rgba(149,65,74,.5); }
.beer__inner { max-width: 1240px; margin: auto; display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 64px; align-items: center; }
.beer h2 { font-size: clamp(34px,4vw,54px); font-weight: 600; margin-bottom: 14px; }
.beer__copy p { color: #F7EBDE; font-size: 15px; line-height: 1.75; margin-bottom: 20px; max-width: 610px; }
.beer__copy .beer__exclusive { font-size: 18px; font-weight: 500; }
.beer h3 { font-size: 18px; font-weight: 600; margin: 26px 0 10px; }
.beer__sorts { margin: 0 0 22px; padding: 0; list-style: none; }
.beer__sorts li { padding: 12px 0; border-bottom: 1px solid rgba(247,235,222,.16); }
.beer__sorts strong { display: block; font-size: 16px; font-weight: 600; }
.beer__sorts span { display: block; font-size: 14px; line-height: 1.6; margin-top: 4px; }
.beer__gallery { min-width: 0; }
.brunch-carousel__viewport { position: relative; overflow: hidden; background: #0c0a09; aspect-ratio: 4/5; border: 1px solid rgba(247,235,222,.25); 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%; 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(247,235,222,.4); border-radius: 4px; background: rgba(12,10,9,.75); color: #F7EBDE; font: inherit; font-size: 22px; cursor: pointer; }
.brunch-carousel__arrow:hover { background: #95414A; }
.brunch-carousel__arrow[data-brunch-prev] { left: 10px; }
.brunch-carousel__arrow[data-brunch-next] { right: 10px; }
.beer :focus-visible { outline: 2px solid #F7EBDE; outline-offset: 4px; }
@media(max-width:900px) { .beer__inner { grid-template-columns: 1fr; gap: 36px; } .beer__gallery { width: 100%; max-width: 560px; margin: auto; } }
@media(max-width:560px) { .beer { padding: 60px 20px; } }
@media(prefers-reduced-motion:reduce) { .brunch-carousel__track { transition: none; } }
