body main, body main .grid > *, body main article { min-width: 0; }
body button, body a, body input, body select, body textarea { touch-action: manipulation; }
body :focus-visible { outline: 3px solid #4a654f; outline-offset: 4px; }
body .mobile-menu { display: none; }
body .site-header nav a, body .mobile-menu summary { min-height: 44px; display: inline-flex; align-items: center; }
body .site-header .desktop-nav a { height: 100%; }
@media (max-width: 1199px) {
body .site-header { position: relative !important; top: auto !important; }
body .site-header > div { gap: 12px; padding-inline: 20px; }
body .mobile-menu summary { display: flex; cursor: pointer; padding: 10px 14px; border: 1px solid #737972; border-radius: 24px; font-size: 14px; list-style: none; }
body .mobile-menu summary::-webkit-details-marker { display: none; }
body .mobile-menu nav { position: absolute; top: 100%; left: 0; right: 0; display: grid; padding: 16px 24px; background: #fbf9f5; border-bottom: 1px solid #c2c8c0; box-shadow: 0 12px 20px #2d2d2d18; max-height: 70dvh; overflow-y: auto; }
body .mobile-menu nav a { display: flex; padding: 8px; }
body .hero { aspect-ratio: auto; padding-top: 48px; padding-bottom: 103px; }
body .hero h1 { font-size: clamp(32px, 4.5vw, 56px); line-height: 1.15; }
body .hero h1 > span:first-child { font-size: clamp(38px, 5.8vw, 70px); line-height: 1.15; }
body .hero h1 > span > span { font-size: clamp(48px, 7.2vw, 86px); line-height: 1.15; }
body .hero-art { height: 400px; }
body .hero-art > div { left: 24px; top: 16px; max-width: 90%; }
body main .grid > * { overflow-wrap: break-word; }
body main h2, body main h3 { overflow-wrap: normal; }
}
@media (max-width: 1023px) {
body .site-header > div { height: 72px; padding-inline: 16px; gap: 8px; }
body .site-header > div > a img { height: 32px; width: auto; }
body .site-header .desktop-nav { display: none; }
body .mobile-menu { display: block; margin-left: auto; }
}
@media (max-width: 767px) {
body .site-header > div { padding-inline: 16px; height: 72px; gap: 8px; }
body .site-header > div > a img { height: 32px; }
body .site-header .desktop-nav { display: none; }
body .mobile-menu { display: block; margin-left: auto; }
body .hero { background-position: 65% calc(50% - 4px); padding: 44px 0 83px; }
body .hero > .grid { width: 100%; gap: 12px; }
body .hero h1 { font-size: clamp(32px, 8vw, 56px); }
body .hero h1 > span:first-child { font-size: clamp(38px, 10vw, 70px); }
body .hero h1 > span > span { font-size: clamp(48px, 12vw, 86px); }
body .hero .hero-art { height: 230px; }
body .hero-art > div { left: 12px; top: -8px; width: 264px; height: 192px; }
body .hero > .absolute span:first-child { font-size: 12px; letter-spacing: .25em; }
body .hero > .absolute span:last-child { font-size: 12px; letter-spacing: .2em; }
body main .py-section-gap, body footer .py-section-gap { padding-block: 64px; }
body #our-story { min-height: 0; padding-top: 72px; }
body #about > section { min-height: 0; }
body main .text-headline-lg, body main .text-display-lg { font-size: clamp(30px, 8vw, 42px); line-height: 1.2; }
body #our-story h2 { font-size: 40px; line-height: 1.2; }
body main .text-headline-md { font-size: 28px; line-height: 1.4; }
body main .py-32 { padding-block: 64px; }
body main .gap-16, body main .gap-24 { gap: 36px; }
body main aside.sticky { position: static; }
body #bakery-category-nav { top: 0; }
body #bakery-category-nav a { min-height: 44px; display: flex; align-items: center; }
body .wavy-divider-menu-top { height: clamp(150px, 48vw, 220px); margin-top: -96px; margin-bottom: 24px; background-position: center, center, center; }
body .bakery-menu-divider { margin-top: -10px; }
body #menu > section:first-child { padding-top: 64px; }
body #weekly-lineup-summary { padding-bottom: 56px; }
body #bakery-products > div { padding-top: 48px; }
body #bakery-products .space-y-32 > :not([hidden]) ~ :not([hidden]) { margin-top: 72px; }
body #weekly-doughnuts > .grid > .bg-white,
body #baked-goods > .grid > .bg-white { padding: 20px; }
body #weekly-doughnuts > .grid > .bg-white > .aspect-square,
body #baked-goods > .grid > .bg-white > .aspect-square { width: calc(100% + 8px) !important; margin-top: -4px !important; }
body main button { min-width: 44px; min-height: 44px; }
body main input, body main select, body main textarea { font-size: 16px; max-width: 100%; }
body main .p-8 { padding: 24px; }
body .nav { flex-wrap: wrap; gap: 12px; }
body .nav .back { display: inline-flex; align-items: center; min-height: 44px; }
body.menu-page .nav, body.chef-page .nav { flex-wrap: nowrap; gap: 12px; padding-inline: 16px; }
body.menu-page .nav > a:first-child, body.chef-page .nav > a:first-child,
body .site-header > div > a { display: inline-flex; align-items: center; min-height: 44px; min-width: 0; }
body.menu-page .logo, body.chef-page .logo { height: 34px; max-width: 110px; object-fit: contain; }
body.menu-page .back, body.chef-page .back { flex-shrink: 0; font-size: 12px; line-height: 1.3; text-align: right; }
body .menu-page footer a, body .chef-page footer a,
body footer a { display: inline-flex; align-items: center; min-height: 44px; }
body footer button { min-width: 44px; min-height: 44px; }
body .preorder-page dd a { display: inline-flex; align-items: center; min-height: 44px; }
}

@media (max-width: 767px), (max-height: 650px) {
body .holiday-notice { padding: 18px; }
body .holiday-notice .holiday-notice__sign { width: min(540px, 100%); height: auto; max-height: calc(100dvh - 36px); overflow-y: auto; background: #fbf4df; }
body .holiday-notice .holiday-notice__content { position: relative; inset: auto; width: 100%; height: auto; padding: 24px 18px; gap: 12px; }
body .holiday-notice .holiday-notice__content > * { top: auto; flex-shrink: 0; margin-block: 0; }
body .holiday-notice .holiday-notice__title { font-size: clamp(28px, 7vw, 40px); line-height: 1.2; }
body .holiday-notice .holiday-notice__copy, body .holiday-notice .holiday-notice__thanks { font-size: 16px; line-height: 1.45; }
body .holiday-notice .holiday-notice__button { position: static; transform: none; min-height: 44px; }
}
@media (max-width: 600px) {
body .menu-page .meta { flex-wrap: wrap; }
body .menu-page table, body .menu-page tbody { display: block; }
body .menu-page colgroup { display: none; }
body .menu-page .category { display: block; margin-top: 28px; }
body .menu-page .category th { display: block; padding-inline: 8px; }
body .menu-page .menu-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 16px; padding: 18px 8px; border-bottom: 1px solid #c9c5bd80; }
body .menu-page .menu-row th, body .menu-page .menu-row td { padding: 0; font-size: 16px; }
body .menu-page .menu-row th { grid-column: 1; grid-row: 1; }
body .menu-page .menu-row td:not(.price) { grid-column: 1 / -1; grid-row: 2; }
body .menu-page .menu-row td:empty { display: none; }
body .menu-page .menu-row .price { grid-column: 2; grid-row: 1; padding: 0; }
body .chef-page h1 { font-size: clamp(30px, 8vw, 38px); overflow-wrap: break-word; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  body #about .grid { grid-template-columns: minmax(0, 1fr); }
  body #about .grid > * { grid-column: auto; }
  body #about .grid h2, body #about .grid h3 { font-size: 40px; line-height: 1.25; }
  body #about .grid > .relative { width: 100%; max-width: 600px; margin-inline: auto; }
}
