.storefront-page { --container: min(1220px, calc(100% - clamp(1.5rem, 4vw, 3rem))); overflow-x: visible; }
.storefront-page .site-header { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(.5rem, 2vw, 1.5rem); width: var(--container); min-height: 0; margin-inline: auto; padding: clamp(1rem, 2vw, 1.75rem) 0; }
.storefront-page .site-header .wordmark { min-width: 0; font-size: clamp(.875rem, 1.7vw, 1.15rem); overflow-wrap: anywhere; }
.storefront-page .site-header nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(.25rem, 1.5vw, 1rem); min-width: 0; }
.storefront-page .site-header nav a { display: flex; align-items: center; justify-content: center; min-width: 0; min-height: 44px; font-size: clamp(.75rem, 1.1vw, .85rem); line-height: 1.4; overflow-wrap: anywhere; text-align: center; }
.storefront-page .site-footer { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(.5rem, 2vw, 2rem); width: var(--container); font-size: clamp(.75rem, 1.2vw, .875rem); }
.storefront-page .site-footer > * { min-width: 0; overflow-wrap: anywhere; }
.storefront-page .site-footer .wordmark { font-size: clamp(.8125rem, 1.5vw, 1rem); }
.storefront { width: var(--container); margin: clamp(2rem, 4vw, 3rem) auto 5rem; }
.storefront h1 { margin: .5rem 0; font-size: clamp(1.75rem, 6vw, 4rem); line-height: 1.15; }
.storefront button, .store-actions a { min-width: 0; min-height: 44px; border: 1px solid var(--ink); padding: .75rem clamp(.5rem, 1.5vw, 1rem); background: var(--paper-bright); font-weight: 700; line-height: 1.5; overflow-wrap: anywhere; cursor: pointer; }
.storefront button:disabled { cursor: not-allowed; opacity: .5; }
.store-products { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(.5rem, 2vw, 1.5rem); margin-top: 2rem; }
.store-product { min-width: 0; padding: clamp(.5rem, 2vw, 1.5rem); border: 1px solid var(--line); background: var(--paper-bright); font-size: clamp(.875rem, 1.4vw, 1rem); overflow-wrap: anywhere; }
.store-product img { display: block; width: 100%; height: clamp(8rem, 25vw, 20rem); object-fit: contain; }
.store-product h2 { font-size: clamp(.875rem, 2vw, 1.4rem); }
.store-product .eyebrow { font-size: clamp(.7rem, 1vw, .85rem); letter-spacing: .02em; }
.store-product-details { padding-inline-start: clamp(.875rem, 1.4vw, 1.25rem); line-height: 1.7; }
.store-product button { width: 100%; font-size: inherit; }
.store-product-details li + li { margin-top: .4rem; }
.store-product[aria-current="true"] { outline: 3px solid var(--ink); outline-offset: -3px; }
.store-cart { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.store-cart input { width: 5rem; margin: 0 0 1rem .75rem; padding: .6rem; color: var(--ink); background: var(--paper-bright); border: 1px solid var(--ink); }
.store-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: clamp(.25rem, 1.5vw, .75rem); }
.store-actions > * { min-width: 0; text-align: center; }
.store-actions [hidden] { display: none; }
#store-status { min-height: 1.6em; }
