@media (max-width: 1180px) {
    :root { --container: min(100% - 2.4rem, 78rem); }
    .desktop-nav { gap: 1rem; }
    .desktop-nav a { font-size: .7rem; }
    .header-actions .button { display: none; }
    .quick-fact { padding: 1.1rem; }
    .event-row { grid-template-columns: 3rem minmax(11rem,.8fr) 1fr auto; gap: 1.2rem; }
    .footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 960px) {
    :root { --header-offset: 7.8rem; }
    .desktop-nav { display: none; }
    .header-main__inner { min-height: 5.1rem; }
    .header-actions { margin-left: auto; }
    .menu-toggle { display: block; }
    .hero-card { width: min(44rem, 90%); }
    .quick-facts__grid { grid-template-columns: 1fr 1fr; }
    .quick-fact:nth-child(2) { border-right: 0; }
    .quick-fact:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.15); }
    .split-layout, .celebration-layout, .seasonal-layout, .lunch-page-layout, .contact-layout, .hours-layout, .form-layout { grid-template-columns: 1fr 1fr; gap: 3rem; }
    .section-copy h2 { font-size: clamp(2.6rem, 5vw, 4.4rem); }
    .classics-grid { gap: 1.5rem 1rem; }
    .dish-card, .dish-card-large { grid-column: span 6; }
    .daily-layout { gap: 3rem; }
    .lunch-layout { grid-template-columns: .6fr 1fr; gap: 3rem; }
    .gallery-grid { grid-auto-rows: 13rem; grid-template-columns: repeat(3,1fr); }
    .gallery-item:nth-child(1), .gallery-item:nth-child(7) { grid-column: span 2; grid-row: span 2; }
    .gallery-item:nth-child(4), .gallery-item:nth-child(9) { grid-column: span 1; }
    .events-list { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: rgba(41,56,43,.2); }
    .event-row { display: flex; min-height: 20rem; flex-direction: column; align-items: flex-start; padding: 1.5rem; border: 0; background: var(--cream); }
    .event-row > a { margin-top: auto; }
    .subhero-layout { gap: 3rem; }
    .menu-page-layout { grid-template-columns: 13rem 1fr; gap: 3rem; }
    .daily-page-layout { grid-template-columns: .5fr 1fr; gap: 3rem; }
    .intro-editorial { grid-template-columns: 1fr 1fr; }
    .intro-editorial .eyebrow { grid-column: 1 / -1; }
    .room-row, .room-row-reverse { grid-template-columns: 2rem 1fr 1fr; gap: 2rem; }
    .service-lines { grid-template-columns: 1fr 1fr; }
    .service-lines div:nth-child(2) { border-right: 0; }
}

@media (max-width: 740px) {
    :root { --container: calc(100% - 2rem); --header-offset: 7.3rem; }
    body { padding-bottom: calc(4.2rem + env(safe-area-inset-bottom)); font-size: .97rem; }
    h1 { font-size: clamp(3.1rem, 15vw, 5rem); }
    h2 { font-size: clamp(2.5rem, 12vw, 4rem); }
    .section { padding: 4.8rem 0; }
    .header-status__inner { justify-content: center; min-height: 2rem; }
    .header-status__inner a { display: none; }
    .header-main__inner { min-height: 4.8rem; }
    .brand-mark { width: 2.35rem; height: 2.35rem; }
    .brand-copy strong { font-size: 1.13rem; }
    .brand-copy small { font-size: .46rem; }
    .mobile-menu { inset: 6.8rem 0 0; padding-bottom: 7rem; }

    .hero { min-height: 43rem; }
    .hero-layout { min-height: 43rem; padding-top: 5rem; padding-bottom: 2.3rem; }
    .hero-card { width: 100%; }
    .hero h1 { font-size: clamp(2.7rem, 11.6vw, 3.6rem); }
    .hero-intro { font-size: 1rem; }
    .hero-caption { display: none; }
    .hero-hours { display: grid; grid-template-columns: auto 1fr; }
    .hero-hours span:last-child { grid-column: 2; margin: 0; padding: 0; border: 0; }
    .quick-facts__grid { grid-template-columns: 1fr; }
    .quick-fact, .quick-fact:first-child { min-height: 5.3rem; padding: 1rem 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.15); border-left: 0; }
    .quick-fact:last-child { border-bottom: 0; }

    .split-layout, .daily-layout, .lunch-layout, .celebration-layout, .seasonal-layout, .reviews-layout, .cta-layout, .subhero-layout, .daily-page-layout, .lunch-page-layout, .contact-layout, .hours-layout, .form-layout { grid-template-columns: 1fr; }
    .split-layout, .celebration-layout, .seasonal-layout, .lunch-page-layout, .contact-layout, .hours-layout, .form-layout { gap: 3.5rem; }
    .image-composition { padding-right: 6%; }
    .section-heading-row { display: block; }
    .section-heading-row > p { margin-top: 1rem; }
    .classics-grid { grid-template-columns: 1fr; }
    .dish-card, .dish-card-large { grid-column: 1; }
    .dish-card .dish-image, .dish-card-large .dish-image { aspect-ratio: 1.28 / 1; }
    .daily-intro, .form-side { position: static; }
    .daily-board { margin-inline: -.2rem; }
    .daily-board .menu-line { align-items: flex-start; }
    .lunch-label { min-height: 18rem; }
    .beer-garden, .beer-garden__content { min-height: 50rem; }
    .beer-garden__image::after { background: linear-gradient(0deg, rgba(24,36,26,.9), rgba(24,36,26,.2)); }
    .beer-garden__content { align-items: flex-end; }
    .beer-garden__card { margin-inline: -1rem; padding: 2rem 1.3rem; }
    .menu-list-columns { grid-template-columns: 1fr; }
    .celebration-images { order: -1; }
    .room-strip { justify-content: space-between; }
    .events-list { grid-template-columns: 1fr; }
    .event-row { min-height: 15rem; }
    .gallery-grid { grid-auto-rows: 13rem; grid-template-columns: 1fr 1fr; }
    .gallery-item:nth-child(1), .gallery-item:nth-child(7) { grid-column: span 2; grid-row: span 2; }
    .gallery-item:nth-child(4), .gallery-item:nth-child(9) { grid-column: span 1; }
    .gallery-item span { transform: none; opacity: 1; }
    .reviews-list blockquote { grid-template-columns: 1fr; gap: .7rem; }
    .cta-layout { align-items: start; gap: 2rem; }

    .subhero { padding: 4.5rem 0; }
    .subhero-layout { gap: 3rem; }
    .subhero-layout h1 { font-size: clamp(3.2rem, 15vw, 5rem); }
    .subhero-image { padding-left: 5%; }
    .menu-page-layout { grid-template-columns: 1fr; }
    .menu-index { position: static; }
    .menu-index nav { display: flex; margin-inline: -1rem; padding: 0 1rem .5rem; gap: 1.2rem; overflow-x: auto; }
    .menu-index nav a { flex: 0 0 auto; }
    .menu-index small { display: none; }
    .menu-category { margin-bottom: 4rem; }
    .menu-note-grid { grid-template-columns: 1fr; gap: 1.5rem; }
    .daily-page-note p { margin-top: 5rem; }
    .daily-page-dish { grid-template-columns: 2.2rem 1fr auto; gap: .8rem; }
    .daily-page-dish h2 { font-size: 2rem; }
    .intro-editorial { grid-template-columns: 1fr; gap: 1.2rem; }
    .intro-editorial .eyebrow { grid-column: auto; }
    .room-row, .room-row-reverse { grid-template-columns: 2rem 1fr; gap: 1rem; }
    .room-row .room-image, .room-row-reverse .room-image { grid-column: 1 / -1; grid-row: auto; }
    .room-row > div:last-child, .room-row-reverse > div:last-child { grid-column: 2; grid-row: auto; }
    .service-lines { grid-template-columns: 1fr; }
    .service-lines div { gap: 2rem; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.2); }
    .contact-facts { grid-template-columns: 1fr; }
    .form-panel { margin-inline: -.35rem; padding: 1.2rem; }
    .form-grid { grid-template-columns: 1fr; }
    .field-wide { grid-column: auto; }
    .footer-grid { grid-template-columns: 1fr; }
    .footer-bottom { flex-direction: column; gap: .5rem; }
    .mobile-bottom-bar { position: fixed; z-index: 90; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: 1fr 1fr 1.25fr; padding-bottom: env(safe-area-inset-bottom); border-top: 1px solid var(--border); background: var(--surface); box-shadow: 0 -8px 25px rgba(41,56,43,.1); }
    .mobile-bottom-bar a { display: grid; min-height: 4.2rem; place-items: center; align-content: center; gap: .05rem; border-right: 1px solid var(--border); color: var(--green-dark); font-size: .62rem; font-weight: 700; text-decoration: none; }
    .mobile-bottom-bar a span { font-size: 1rem; }
    .mobile-bottom-bar .is-primary { color: var(--white); background: var(--accent); }
    .lightbox { grid-template-columns: 3rem minmax(0,1fr) 3rem; padding: .6rem; }
    .lightbox button { width: 2.5rem; height: 2.5rem; }
}

@media (max-width: 430px) {
    :root { --container: calc(100% - 1.5rem); }
    .button-row { gap: .8rem; }
    .hero .button-row .button { width: 100%; }
    .hero .button-text { justify-content: flex-start; }
    .hero-hours { font-size: .72rem; }
    .dish-copy { display: grid; }
    .dish-copy > strong { grid-row: 1; }
    .menu-line { display: grid; gap: .6rem; }
    .menu-line > strong { grid-row: 1; }
    .fact-chips { gap: .4rem; }
    .room-strip { gap: 1rem; }
    .room-strip strong { font-size: 1.6rem; }
    .room-strip span { font-size: .55rem; }
    .gallery-grid { grid-auto-rows: 10.5rem; }
    .gallery-item:nth-child(1), .gallery-item:nth-child(7) { grid-row: span 1; }
    .daily-page-dish { grid-template-columns: 1fr auto; }
    .daily-page-dish > span { display: none; }
    .daily-page-dish > strong { grid-row: 1; grid-column: 2; }
    .contact-links a { display: grid; }
    .hours-table div { display: grid; gap: .2rem; }
    .hours-table dd { text-align: left; }
}

@media (min-width: 1600px) {
    body { font-size: 1.05rem; }
    .gallery-grid { grid-auto-rows: 19rem; }
    .quick-fact { min-height: 8rem; }
}
