/* Seasonal and product sections in the existing brand style. */
.hero-copy > p { max-width: 440px; }
.winter-section { background: white; }
.winter-inner { display: block; }
.winter-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 48px;
  margin-bottom: 40px;
}
.winter-heading h2 { font-size: clamp(36px, 4vw, 56px); }
.winter-heading > p {
  max-width: 420px;
  font-size: 14px;
  color: var(--muted);
}
.winter-showcase {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: 32px;
  align-items: center;
}
.winter-brand, .winter-wool { min-width: 0; }
.winter-brand { background: #f8f7fb; border-radius: 6px; overflow: hidden; }
.winter-product-figure { margin: 0; min-width: 0; background: white; }
.winter-product-figure img {
  width: 100%;
  height: 460px;
  object-fit: contain;
  padding: 14px;
}
.winter-product-figure figcaption { display: none; }
.winter-card-copy { padding: 28px 30px 30px; }
.winter-card-copy h3 { font-size: 23px; font-weight: 600; line-height: 1.3; }
.winter-card-copy p { margin-top: 10px; font-size: 14px; color: var(--muted); max-width: 520px; }
.winter-wool { background: transparent; border-radius: 0; }
.winter-actions {
  margin-top: 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.winter-availability { font-size: 12px; color: var(--muted); }
.assortment-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.assortment-card .photo-button { background: #f5f3ef; }
.assortment-card .photo-button img { object-fit: contain; aspect-ratio: 1; padding: 10px; }
.product-videos {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  margin-top: 50px;
  align-items: center;
}
.product-video { min-width: 0; margin: 0; background: transparent; }
.product-video video {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 540px;
  margin: 0 auto;
  object-fit: contain;
  background: transparent;
  border-radius: 0;
  pointer-events: none;
}
/* Functional disclosure controls, explicitly requested by the user. */
.faq-list summary > .faq-icon {
  width: 24px;
  height: 24px;
  position: relative;
  flex-shrink: 0;
  display: inline-block;
  color: var(--blue);
}
.faq-icon::before, .faq-icon::after {
  content: '';
  position: absolute;
  background: currentColor;
  border-radius: 1px;
}
.faq-icon::before { width: 14px; height: 2px; top: 11px; left: 5px; }
.faq-icon::after { width: 2px; height: 14px; top: 5px; left: 11px; }
.faq-list details[open] .faq-icon::after { display: none; }
/* Alternating full-width white and original brand-blue section backgrounds. */
.stores-section { background: var(--blue); color: white; }
.stores-section .blue-text,
.stores-section .section-heading > p,
.stores-section .hours-note { color: white; }
.stores-section .store-card { color: var(--ink); }
.assortment {
  max-width: none;
  padding-left: max(4.7%, calc((100vw - 1440px) / 2 + 68px));
  padding-right: max(4.7%, calc((100vw - 1440px) / 2 + 68px));
  background: var(--blue);
  color: white;
  --line: #8e98ce;
}
.assortment .blue-text,
.assortment .section-heading > p,
.assortment .card-copy p,
.assortment .assortment-note,
.assortment .assortment-note > a { color: white; }
.assortment .photo-button { color: var(--ink); }
.assortment a:focus-visible { outline-color: white; }
.assortment .photo-button:focus-visible { outline-color: var(--ink); }
@media (max-width: 1050px) {
  .winter-heading { gap: 30px; }
  .winter-heading > p { max-width: 350px; font-size: 13px; }
  .winter-showcase { gap: 24px; }
  .winter-product-figure img { height: 380px; }
  .product-video video { max-height: 480px; }
  .winter-card-copy { padding: 24px; }
  .assortment-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* Four larger navigation labels switch to the existing menu before crowding. */
@media (min-width: 761px) and (max-width: 980px) {
  .desktop-nav, .nav-cta { display: none; }
  .menu-toggle { display: block; margin-left: auto; }
}
@media (max-width: 760px) {
  .winter-heading { display: block; margin-bottom: 28px; }
  .winter-heading h2 { font-size: clamp(32px, 7vw, 43px); }
  .winter-heading > p { margin-top: 18px; max-width: 500px; }
  .winter-showcase { grid-template-columns: 1fr; gap: 24px; }
  .winter-product-figure img { height: auto; aspect-ratio: 1; }
  .winter-card-copy h3 { font-size: 21px; }
  .winter-card-copy p { font-size: 13px; }
  .winter-actions { flex-direction: column; align-items: flex-start; gap: 14px; margin-top: 26px; }
  .winter-availability { font-size: 11px; }
  .assortment { padding-left: 6%; padding-right: 6%; }
  .assortment-grid { grid-template-columns: 1fr; }
  .product-videos { grid-template-columns: 1fr; gap: 28px; margin-top: 35px; }
  .product-video video { max-height: 500px; }
}
@media (max-width: 360px) {
  .winter-heading h2 { font-size: 32px; }
  .product-video video { max-height: 440px; }
}
