@media (max-width: 1180px) {
    .desktop-nav { gap: 17px; }
    .open-pill { display: none; }
    .header-inner { gap: 24px; }
    .quick-info a { padding: 18px; }
    .craft-copy { padding-inline: 7vw; }
    .weekly-offer-inner { grid-template-columns: .45fr 1fr auto; }
    .weekly-offer .button { grid-column: 2 / -1; justify-self: start; }
    .order-layout { grid-template-columns: 1fr 320px; gap: 35px; }
}

@media (max-width: 980px) {
    .desktop-nav, .header-actions { display: none; }
    .header-inner { min-height: 76px; justify-content: space-between; }
    .menu-toggle { display: grid; width: 48px; height: 48px; place-content: center; gap: 7px; border: 0; background: transparent; cursor: pointer; }
    .menu-toggle span { display: block; width: 25px; height: 1px; background: var(--text); transition: transform .25s; }
    .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(4px) rotate(45deg); }
    .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-4px) rotate(-45deg); }
    .mobile-menu { position: fixed; z-index: 999; top: 76px; right: 0; bottom: 0; left: 0; display: flex; flex-direction: column; overflow-y: auto; padding: 30px 24px 100px; background: var(--surface); }
    .mobile-menu[hidden] { display: none; }
    .mobile-menu > a { padding: 14px 0; border-bottom: 1px solid var(--border); font-family: var(--serif); font-size: 1.65rem; }
    .mobile-menu-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 30px; }
    .mobile-menu-actions > a:first-child { display: grid; place-items: center; border: 1px solid var(--border); font-size: .75rem; font-weight: 700; }
    .hero, .hero-content { min-height: calc(100svh - 76px); }
    .quick-info-grid { grid-template-columns: 1fr 1fr; }
    .quick-info a:nth-child(2) { border-right: 0; }
    .quick-info a:nth-child(-n+2) { border-bottom: 1px solid var(--border); }
    .section { padding: 95px 0; }
    .split-heading { gap: 50px; }
    .craft-section, .coffee-section { grid-template-columns: 1fr 1fr; }
    .craft-copy, .coffee-copy { padding: 75px 50px; }
    .craft-image img, .coffee-image img { min-height: 620px; }
    .breakfast-layout, .cake-layout { gap: 60px; }
    .breakfast-copy { padding-left: 0; }
    .image-note { left: -20px; }
    .about-layout { grid-template-columns: .35fr 1fr; }
    .about-layout > div:last-child { grid-column: 2; }
    .gallery-grid { grid-auto-rows: 170px; }
    .reviews-list blockquote { padding: 30px; }
    .page-hero { min-height: 560px; }
    .page-hero > img { min-height: 560px; }
    .page-hero-content { padding: 70px 5vw; }
    .breakfast-page-grid { gap: 50px; }
    .cake-options { grid-template-columns: repeat(3, 1fr); }
    .cake-options div:nth-child(3) { border-right: 0; }
    .cake-options div:nth-child(-n+3) { border-bottom: 1px solid var(--border); }
    .form-layout { gap: 55px; }
    .order-layout { grid-template-columns: 1fr; }
    .cart-panel { position: static; }
    .contact-hero-grid { gap: 45px; }
    .contact-grid { gap: 70px; }
    .footer-grid { grid-template-columns: 1.2fr 1fr 1fr; }
    .footer-nav { grid-column: 2; }
}

@media (max-width: 760px) {
    body { padding-bottom: calc(68px + env(safe-area-inset-bottom)); font-size: 15px; }
    .container, .container-wide { width: min(calc(100% - 32px), var(--container)); }
    h1 { font-size: clamp(3rem, 14vw, 4.7rem); }
    h2 { font-size: clamp(2.4rem, 11vw, 3.7rem); }
    .section { padding: 76px 0; }
    .hero { min-height: 720px; }
    .hero-content { min-height: 720px; justify-content: flex-end; padding: 110px 0 118px; }
    .hero-shade { background: linear-gradient(0deg, rgba(24,21,17,.78) 0%, rgba(24,21,17,.25) 75%); }
    .hero h1 { margin-bottom: 20px; }
    .hero-copy { font-size: 1rem; }
    .hero-buttons { align-items: flex-start; flex-direction: column; gap: 15px; }
    .hero-meta { bottom: 20px; gap: 12px; padding-top: 16px; font-size: .68rem; }
    .hero-meta span:last-child { display: none; }
    .quick-info-grid { grid-template-columns: 1fr 1fr; }
    .quick-info a { min-height: 90px; gap: 10px; padding: 14px 12px; }
    .quick-info a:nth-child(odd) { border-left: 0; }
    .quick-info strong { font-size: .7rem; }
    .quick-info small { font-size: .56rem; }
    .info-icon { font-size: 1.1rem; }
    .split-heading { grid-template-columns: 1fr; gap: 25px; margin-bottom: 50px; }
    .editorial-products { display: grid; grid-template-columns: 1fr 1fr; gap: 42px 14px; }
    .editorial-product, .editorial-product.product-1, .editorial-product.product-2, .editorial-product.product-3, .editorial-product.product-4, .editorial-product.product-5, .editorial-product.product-6 { grid-column: auto; margin-top: 0; }
    .editorial-product.product-1, .editorial-product.product-4 { grid-column: 1 / -1; }
    .editorial-product:nth-child(2n) .product-image img, .product-image img { aspect-ratio: 1 / .9; }
    .product-line { display: block; padding-top: 14px; }
    .product-line h3 { font-size: 1.25rem; }
    .product-line p { font-size: .68rem; }
    .product-line > strong { display: block; padding-top: 8px; }
    .craft-section, .coffee-section { grid-template-columns: 1fr; }
    .craft-image img, .coffee-image img { min-height: 0; aspect-ratio: 1 / .78; }
    .craft-copy, .coffee-copy { padding: 70px 24px; }
    .breakfast-layout, .cake-layout { display: flex; flex-direction: column; gap: 55px; }
    .breakfast-image { order: -1; }
    .breakfast-image img { aspect-ratio: 1 / .86; }
    .image-note { right: 16px; bottom: -22px; left: auto; }
    .weekly-offer-inner { grid-template-columns: 1fr auto; gap: 15px 25px; }
    .weekly-offer .eyebrow { grid-column: 1 / -1; }
    .weekly-offer .button { grid-column: 1 / -1; margin-top: 15px; }
    .menu-stripes { grid-template-columns: 1fr; }
    .menu-stripes > div { padding: 18px 0; }
    .coffee-section { display: flex; flex-direction: column; }
    .coffee-image { order: 2; }
    .cake-image { width: 100%; }
    .cafe-section, .cafe-overlay { min-height: 680px; }
    .cafe-section::after { background: linear-gradient(0deg, rgba(31,28,23,.78), rgba(31,28,23,.18)); }
    .cafe-overlay { justify-content: flex-end; padding-bottom: 60px; }
    .about-layout { grid-template-columns: 1fr; gap: 30px; }
    .about-layout > div:last-child { grid-column: auto; }
    .gallery-section { padding-top: 75px; }
    .gallery-grid { grid-auto-rows: 150px; grid-template-columns: repeat(2, 1fr); }
    .gallery-item, .gallery-item-1, .gallery-item-2, .gallery-item-3, .gallery-item-4, .gallery-item-5, .gallery-item-6, .gallery-item-7, .gallery-item-8, .gallery-item-9 { grid-column: span 1; grid-row: span 1; }
    .gallery-item-1, .gallery-item-6 { grid-column: span 2; grid-row: span 2; }
    .lightbox { grid-template-columns: 45px 1fr 45px; padding: 45px 4px; }
    .reviews-heading { align-items: flex-start; flex-direction: column; }
    .reviews-list { grid-template-columns: 1fr; }
    .reviews-list blockquote { border-right: 0; border-bottom: 1px solid var(--border); }
    .visit-strip-inner { align-items: flex-start; flex-direction: column; gap: 35px; }
    .page-hero { display: flex; min-height: 0; flex-direction: column; }
    .page-hero-content { width: calc(100% - 32px); padding: 70px 0; }
    .page-hero h1 { font-size: clamp(3rem, 14vw, 4.4rem); }
    .page-hero > img { min-height: 0; aspect-ratio: 1 / .78; }
    .full-product { grid-template-columns: 105px 1fr auto; gap: 15px; }
    .full-product img { width: 105px; height: 90px; }
    .full-product h2 { font-size: 1.25rem; }
    .full-product p { display: none; }
    .menu-note { align-items: flex-start; flex-direction: column; padding: 28px; }
    .breakfast-page-grid { grid-template-columns: 1fr; }
    .breakfast-times { padding: 35px 25px; }
    .breakfast-extra .cake-image { order: 0; }
    .cake-options { grid-template-columns: 1fr; }
    .cake-options div { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 0; border-right: 0; border-bottom: 1px solid var(--border); }
    .cake-options div:nth-child(-n+3) { border-bottom: 1px solid var(--border); }
    .cake-options span { min-height: 0; }
    .cake-options strong { margin: 0; }
    .form-layout { grid-template-columns: 1fr; }
    .form-intro { position: static; }
    .order-form { padding: 25px 18px; }
    .form-grid { grid-template-columns: 1fr; }
    .full-field { grid-column: auto; }
    .success-message { padding: 45px 24px; }
    .order-hero { padding: 75px 0 55px; }
    .order-product { grid-template-columns: 92px 1fr; gap: 14px; }
    .order-product img { width: 92px; height: 86px; }
    .order-product .quantity-control { grid-column: 1 / -1; justify-self: end; margin-top: -50px; }
    .contact-hero { padding-top: 70px; }
    .contact-hero-grid, .contact-grid { grid-template-columns: 1fr; gap: 55px; }
    .contact-hero img { height: auto; aspect-ratio: 1 / .8; }
    .service-strip .container { justify-content: flex-start; }
    .footer-grid { grid-template-columns: 1fr 1fr; gap: 45px 25px; }
    .footer-brand { grid-column: 1 / -1; }
    .footer-nav { grid-column: auto; }
    .footer-bottom { align-items: flex-start; flex-direction: column; padding: 22px 0; }
    .mobile-bottom-bar { position: fixed; z-index: 950; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: .8fr 1fr 1.35fr; padding-bottom: env(safe-area-inset-bottom); border-top: 1px solid var(--border); background: var(--surface); box-shadow: 0 -6px 20px rgba(42,34,26,.08); }
    .mobile-bottom-bar a { display: flex; min-height: 68px; align-items: center; justify-content: center; flex-direction: column; gap: 2px; font-size: .59rem; font-weight: 700; }
    .mobile-bottom-bar span { font-size: 1rem; }
    .mobile-bottom-bar .is-primary { background: var(--brown-dark); color: var(--white); }
}

@media (max-width: 430px) {
    .brand span { font-size: 1.25rem; }
    .quick-info a { padding-inline: 9px; }
    .editorial-products { gap-inline: 11px; }
    .weekly-offer-inner { grid-template-columns: 1fr; }
    .weekly-offer-inner > strong { grid-row: 3; }
    .full-product { grid-template-columns: 92px 1fr; }
    .full-product img { width: 92px; }
    .full-product > strong { grid-column: 2; }
    .contact-actions { align-items: flex-start; flex-direction: column; }
    .footer-grid { grid-template-columns: 1fr; }
    .footer-brand { grid-column: auto; }
}
