/* Shared brand chrome; does not restyle product content or menu header. */
.brand-lockup { display: flex; align-items: center; gap: .55rem; flex: none; }
.brand-lockup .brand-mark { width: 76px; height: 76px; object-fit: contain; }
.brand-lockup .brand-lettering { width: 124px; height: auto; }
.site-header.home-header { min-height: 124px; display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: .7rem clamp(1rem, 4vw, 4rem); color: var(--white); background: var(--black); border-bottom: 4px solid var(--paper); }
.home-header .brand-call { min-width: min(560px, 45vw); display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1.5rem; padding: 1rem 1.2rem; color: var(--black); background: var(--yellow); border: 4px solid var(--paper); box-shadow: 7px 7px 0 var(--red); }
.brand-call span { font-size: .68rem; font-weight: 700; letter-spacing: .13em; }
.brand-call strong { font: 400 clamp(1.6rem, 3vw, 2.8rem)/1 var(--display); text-align: right; }
.brand-call b { font-size: 1.8rem; }
.site-footer.brand-footer { display: block; padding: 2.5rem clamp(1rem, 4vw, 4rem) 1.5rem; border-top: 4px solid var(--paper); }
.footer-main { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 2rem; }
.footer-main nav { display: flex; gap: 1.5rem; flex-wrap: wrap; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-top: 2rem; padding-top: 1.2rem; border-top: 1px solid rgba(242,234,219,.3); }
.powered-by { white-space: nowrap; font-size: .7rem; font-weight: 700; letter-spacing: .08em; }
.powered-by:hover { text-decoration: underline; text-underline-offset: 4px; }
.menu-footer { flex-wrap: wrap; }
.menu-close > img { width: min(100%, 440px); justify-self: center; }
@media (max-width: 1100px) { .home-header nav { display: none; } .home-header .brand-call { min-width: min(560px, 60vw); } }
@media (max-width: 640px) {
  .site-header.home-header { min-height: 96px; gap: .5rem; padding: .5rem .75rem; }
  .home-header .brand-lockup { gap: .2rem; }
  .home-header .brand-mark { width: 44px; height: 52px; }
  .home-header .brand-lettering { width: 78px; }
  .home-header .brand-call { min-width: 0; grid-template-columns: 1fr auto; gap: .7rem; padding: .65rem .7rem; box-shadow: 4px 4px 0 var(--red); }
  .brand-call span { display: none; }
  .brand-call strong { font-size: 1.15rem; text-align: left; }
  .brand-call b { font-size: 1.2rem; }
  .footer-main, .footer-bottom { align-items: flex-start; flex-direction: column; }
  .brand-footer .brand-mark { width: 64px; height: 64px; }
  .brand-footer .brand-lettering { width: 112px; }
}
@media (max-width: 360px) {
  .home-header .brand-lockup { gap: .15rem; }
  .home-header .brand-mark { width: 36px; height: 46px; }
  .home-header .brand-lettering { width: 68px; }
  .site-header.home-header { gap: .3rem; }
}
