html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

.halloween-hero,
.collection,
.manifesto,
footer {
  min-width: 0;
}

.halloween-hero h1,
.collection-head h2,
.manifesto h2,
dialog h2 {
  max-width: 100%;
  overflow-wrap: anywhere;
}

.halloween-hero h1 {
  font-size: clamp(3rem, 11vw, 11rem);
  line-height: .78;
}

@media (max-width: 600px) {
  .warning-strip {
    padding: .65rem .8rem;
    letter-spacing: .1em;
    line-height: 1.45;
  }

  .halloween-hero {
    min-height: auto;
    padding: 5rem max(1rem, 5vw) 4rem;
  }

  .halloween-hero h1 {
    font-size: clamp(3rem, 18vw, 5.5rem);
    line-height: .82;
    letter-spacing: -.06em;
  }

  .halloween-hero h1 em {
    display: inline-block;
    max-width: 100%;
    -webkit-text-stroke: 1px var(--silver);
  }

  .collection-head h2 {
    font-size: clamp(3rem, 18vw, 5rem);
    line-height: .86;
  }

  .manifesto h2 {
    font-size: clamp(2.7rem, 14vw, 5rem);
    line-height: .86;
    letter-spacing: -.055em;
    margin: 1rem 0;
  }

  .product-title {
    align-items: flex-start;
  }

  .product-title h3,
  footer p,
  footer a {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  dialog {
    padding: 2rem 1.25rem;
  }

  dialog h2 {
    font-size: clamp(2.2rem, 12vw, 3rem);
    line-height: .9;
  }
}

@media (max-width: 360px) {
  .wordmark {
    letter-spacing: .2em;
  }

  .bag {
    padding: .62rem .72rem;
  }

  .halloween-hero h1 {
    font-size: clamp(2.65rem, 17vw, 4rem);
  }

  .buy-row {
    grid-template-columns: 1fr;
  }
}
/* Match the main storefront's clean portrait product presentation. */
.product-image{aspect-ratio:4/5;background:#e1ddd7}
.product-image img{width:100%;height:100%;object-fit:contain;object-position:center;padding:.55rem;display:block}
.product-card:hover .product-image img{transform:scale(1.025)}
