.hero-sub { color: var(--white); font-size: var(--text-base); letter-spacing: 0.08em; }
.hero-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 10%, rgba(15,15,14,0.2) 35%, rgba(15,15,14,0.9) 100%); }
.hero-content .fade { opacity: 1; transform: none; }
.hero-content > .label { text-wrap: balance; }
.hero-pills .pill-tagline { color: rgba(245,244,240,0.86); }
.hero-ctas { align-items: center; }
.hero-hours-link { color: var(--white); min-height: 44px; display: inline-flex; align-items: center; text-decoration: underline; text-underline-offset: 4px; font-size: var(--text-sm); }
.weekend-announcement { background: var(--mint); color: var(--black); padding-block: 0.75rem; }
.weekend-announcement .container { display: flex; justify-content: space-between; align-items: center; gap: 0.5rem 2rem; flex-wrap: wrap; }
.weekend-announcement p { font-size: var(--text-sm); font-weight: 500; }
.weekend-announcement a { color: var(--black); font-size: var(--text-sm); text-decoration: underline; text-underline-offset: 4px; min-height: 44px; display: inline-flex; align-items: center; }
@media (max-width: 760px) {
  #hero { min-height: min(100svh, 860px); }
  .hero-content { padding-top: 9rem; padding-bottom: 2rem; }
  .hero-tagline { font-size: clamp(2rem, 8vw, 3.4rem); margin-bottom: 1rem; }
  .hero-sub { font-size: var(--text-sm); margin-bottom: 1rem; }
  .hero-pills { gap: 0.75rem; margin-bottom: 1.25rem; }
  .hero-pills .pill { white-space: normal; font-size: 0.75rem; }
  .hero-ctas { gap: 0.75rem; }
  .hero-ctas .btn-primary, .hero-ctas .btn-outline { padding: 0.85rem 1.1rem; font-size: 0.75rem; }
  .hero-hours-link { flex-basis: 100%; }
  .weekend-announcement p span { display: block; }
}
