/* FINAL POLISH PASS */
.wordmark,.footer-wordmark{white-space:nowrap}
.hero-copy,.hero-photo,.hero-sideband,.featured-copy,.featured-image,.campaign,.campaign-color,.collection-card,.story-image,.story-block,.contact-card,.contact-aside,.product-gallery,.product-info{min-width:0}
.section.wrap{padding-left:clamp(18px,3vw,52px);padding-right:clamp(18px,3vw,52px)}
.section-head .text-link{justify-self:end;white-space:nowrap}
.button,.text-link,.quick-add,.main-nav a,.cart-link,.faq-q,.accordion button{outline-offset:4px}
.button:focus-visible,.text-link:focus-visible,.quick-add:focus-visible,.main-nav a:focus-visible,.cart-link:focus-visible,.nav-toggle:focus-visible,.icon-button:focus-visible,.faq-q:focus-visible,.accordion button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--berry)}
.product-image:focus-visible:after{transform:translateY(0)}
.product-card h3 a{overflow-wrap:anywhere}
.campaign-copy p,.campaign-color p,.story-block p,.contact-aside p{overflow-wrap:break-word}
.shop-grid{padding-bottom:clamp(72px,8vw,128px)}
.faq-list{margin-bottom:clamp(72px,8vw,128px)}
.contact-grid{margin-bottom:clamp(72px,8vw,128px)}
.collection-strip+.section{padding-bottom:clamp(24px,4vw,56px)}
.accordion button span,.faq-q span:last-child{transition:transform .2s ease}
.accordion button.open span{transform:rotate(45deg)}
.qty button,.remove{color:inherit}
.cart-item>div:nth-child(2){min-width:0}
.cart-item h4{overflow-wrap:anywhere}
/* Keep utility controls usable without changing the editorial layout. */
a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.skip-link{position:fixed;top:8px;left:8px;z-index:100;background:var(--vanilla);color:var(--espresso);padding:12px;transform:translateY(-160%)}
.skip-link:focus{transform:none}
.footer a:focus-visible{outline-color:var(--vanilla)}
/* Route headings receive focus for screen-reader navigation, not interaction. */
#app h1[tabindex="-1"]:focus{outline:none}
.qty button{width:36px;height:36px}
.remove{min-height:36px}
.product-controls input,.product-controls select{min-width:0}
.filters select,.field select,.product-controls select{
  -webkit-appearance:none;appearance:none;border-radius:0;
  min-height:48px;padding:10px 40px 10px 12px;line-height:1.35;
  border:1px solid var(--espresso);color:var(--espresso);background-color:var(--vanilla);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23231815' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;background-size:12px 8px;
  cursor:pointer;
}
.filters select:focus-visible,.field select:focus-visible,.product-controls select:focus-visible{outline:2px solid var(--berry);outline-offset:3px}
select:disabled{cursor:not-allowed;opacity:.65}
@media(forced-colors:active){.filters select,.field select,.product-controls select{appearance:auto;background-image:none}}
@media(max-width:720px){.product-controls input,.product-controls select,.field input,.field textarea,.field select{font-size:16px}body:has(.mobile-atc.visible){padding-bottom:88px}}

@media (max-width:1050px){
  .featured-copy:after{font-size:34px;max-width:150px}
  .filters{justify-content:flex-start}
}

@media (max-width:720px){
  .site-header{grid-template-columns:auto minmax(0,1fr);column-gap:18px}
  .main-nav{grid-column:1/-1;justify-self:stretch;top:72px;gap:20px}
  .main-nav a,.cart-link{font-size:11px}
  .hero-copy:after{display:none}
  .hero-sideband{flex-wrap:wrap}
  .hero-sideband .button{flex:0 0 auto}
  .section-head .text-link{justify-self:start}
  .featured-copy:after{display:none}
  .featured-sticker{left:18px;bottom:18px;width:min(240px,calc(100% - 36px))}
  .campaign-copy{padding:24px}
  .campaign-copy h3{max-width:11ch}
  .campaign-color .hand{align-self:flex-start}
  .filters{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .filters select{width:100%}
  .story-image:after{left:18px;bottom:18px;max-width:calc(100% - 36px)}
  .product-gallery .gallery-note{left:18px;bottom:18px;max-width:calc(100% - 36px);font-size:30px}
  .product-controls{grid-template-columns:minmax(0,1fr) 84px}
  .footer-marquee-track{font-size:clamp(44px,16vw,74px)}
}

@media (max-width:460px){
  .hero-copy{padding:26px}
  .hero h1{font-size:clamp(58px,19vw,82px);margin-bottom:28px}
  .hero-bottom p{font-size:15px}
  .hero-note{font-size:30px}
  .hero-ticket{width:calc(100% - 40px);max-width:270px;box-shadow:8px 8px 0 var(--berry)}
  .section-head h2,.page-title{font-size:clamp(50px,16vw,72px)}
  .filters{grid-template-columns:1fr}
  .collection-card{min-height:360px;padding:28px}
  .collection-card .hand{font-size:34px}
  .campaign{min-height:460px}
  .campaign-color{padding:30px}
  .contact-card,.contact-aside{padding:28px}
  .product-gallery{grid-template-rows:440px 220px 220px}
  .product-info{padding:26px}
  .product-info h1{font-size:clamp(56px,18vw,76px)}
  .cart-head,.cart-foot{padding:20px}.cart-items{padding:0 20px}
  .cart-item{grid-template-columns:64px minmax(0,1fr);position:relative;padding-right:0}
  .cart-thumb{height:78px}
  .cart-item .remove{grid-column:2;justify-self:start;margin-top:-2px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .footer-marquee-track{animation:none!important;transform:none!important}
  .footer-marquee-copy:nth-child(n+2){display:none}
}
