.hw-season {
  --hw-cream: #f7f2e8;
  --hw-paper: #fffdf8;
  --hw-forest: #183f36;
  --hw-wine: #7a2838;
  --hw-copper: #b8783e;
  --hw-ink: #25231f;
  color: var(--hw-ink);
  font-family: inherit;
  margin: 0 auto;
  max-width: 1440px;
}

.hw-season * { box-sizing: border-box; }

.hw-hero {
  align-items: center;
  background:
    radial-gradient(circle at 82% 20%, rgba(255,255,255,.14) 0 2px, transparent 3px),
    radial-gradient(circle at 91% 70%, rgba(255,255,255,.1) 0 3px, transparent 4px),
    linear-gradient(120deg, var(--hw-forest) 0%, #28594c 57%, var(--hw-wine) 100%);
  border-radius: 4px;
  color: white;
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(180px, 1fr);
  min-height: 430px;
  overflow: hidden;
  padding: clamp(44px, 7vw, 92px);
  position: relative;
}

.hw-hero::after {
  border: 1px solid rgba(255,255,255,.3);
  content: "";
  inset: 18px;
  pointer-events: none;
  position: absolute;
}

.hw-hero__content { max-width: 760px; position: relative; z-index: 2; }
.hw-eyebrow { color: var(--hw-copper); font-size: 12px; font-weight: 700; letter-spacing: .22em; margin: 0 0 14px; text-transform: uppercase; }
.hw-hero .hw-eyebrow { color: #e4bd8f; }
.hw-hero h1 { color: white; font-family: Georgia, "Times New Roman", serif; font-size: clamp(38px, 5.5vw, 72px); font-weight: 400; letter-spacing: -.025em; line-height: 1.03; margin: 0 0 24px; }
.hw-intro { color: rgba(255,255,255,.88); font-size: clamp(16px, 2vw, 20px); line-height: 1.65; margin: 0 0 34px; max-width: 690px; }
.hw-hero__button { background: var(--hw-paper); border: 1px solid var(--hw-paper); color: var(--hw-forest) !important; display: inline-block; font-size: 13px; font-weight: 700; letter-spacing: .08em; padding: 16px 24px; text-decoration: none !important; text-transform: uppercase; transition: .2s ease; }
.hw-hero__button:hover { background: transparent; color: white !important; transform: translateY(-2px); }
.hw-hero__ornament { color: rgba(255,255,255,.13); font-family: Georgia, serif; font-size: 210px; line-height: 1; position: relative; text-align: center; transform: rotate(-15deg); z-index: 1; }

.hw-benefits { background: var(--hw-cream); display: grid; font-size: 12px; font-weight: 650; gap: 1px; grid-template-columns: repeat(3, 1fr); letter-spacing: .1em; padding: 22px 4%; text-align: center; text-transform: uppercase; }
.hw-benefits span + span { border-left: 1px solid #d8cfbe; }

.hw-products-section { padding: clamp(54px, 8vw, 100px) clamp(14px, 3vw, 40px); scroll-margin-top: 30px; }
.hw-section-heading { margin: 0 auto 40px; text-align: center; }
.hw-section-heading h2 { color: var(--hw-forest); font-family: Georgia, "Times New Roman", serif; font-size: clamp(32px, 4vw, 48px); font-weight: 400; margin: 0; }

.hw-product-grid { display: grid; gap: clamp(20px, 2.5vw, 38px); grid-template-columns: repeat(4, minmax(0, 1fr)); }
.hw-product-card { background: white; min-width: 0; }
.hw-product-card__image { background: #f4f1eb; display: block; overflow: hidden; position: relative; }
.hw-product-card__image img { aspect-ratio: 4 / 5; display: block; height: auto; margin: 0; object-fit: cover; transition: transform .45s ease; width: 100%; }
.hw-product-card:hover .hw-product-card__image img { transform: scale(1.035); }
.hw-badges { display: flex; flex-direction: column; gap: 6px; left: 12px; position: absolute; top: 12px; }
.hw-badge { color: white; font-size: 10px; font-weight: 750; letter-spacing: .11em; padding: 7px 9px; text-transform: uppercase; width: max-content; }
.hw-badge--new { background: var(--hw-forest); }
.hw-badge--sale { background: var(--hw-wine); }
.hw-product-card__body { padding: 18px 4px 8px; }
.hw-product-card__brand { color: #857a6a; font-size: 11px; font-weight: 700; letter-spacing: .14em; margin: 0 0 7px; text-transform: uppercase; }
.hw-product-card h3 { font-size: 17px; font-weight: 550; line-height: 1.35; margin: 0 0 9px; }
.hw-product-card h3 a { color: var(--hw-ink); text-decoration: none; }
.hw-product-card__price { color: var(--hw-wine); font-size: 15px; font-weight: 700; margin-bottom: 14px; }
.hw-product-card__price del { color: #8f8a81; font-weight: 400; margin-right: 5px; }
.hw-product-card__price ins { background: none; text-decoration: none; }
.hw-product-card__link { border-bottom: 1px solid #c7b9a5; color: var(--hw-forest) !important; display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .06em; padding-bottom: 4px; text-decoration: none !important; text-transform: uppercase; }
.hw-product-card__link span { display: inline-block; transition: transform .2s ease; }
.hw-product-card__link:hover span { transform: translateX(4px); }

.hw-pagination { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-top: 56px; }
.hw-pagination .page-numbers { align-items: center; border: 1px solid #d6cbbb; color: var(--hw-forest); display: inline-flex; justify-content: center; min-height: 42px; min-width: 42px; padding: 8px 13px; text-decoration: none; }
.hw-pagination .current, .hw-pagination a:hover { background: var(--hw-forest); border-color: var(--hw-forest); color: white; }
.hw-empty { background: var(--hw-cream); padding: 48px 24px; text-align: center; }
.hw-empty h3 { color: var(--hw-forest); font-family: Georgia, serif; font-size: 28px; font-weight: 400; margin: 0 0 10px; }
.hw-empty p { margin: 0; }

@media (max-width: 980px) {
  .hw-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .hw-hero { grid-template-columns: 1fr; }
  .hw-hero__ornament { display: none; }
}

@media (max-width: 700px) {
  .hw-hero { min-height: 380px; padding: 55px 28px; }
  .hw-hero::after { inset: 10px; }
  .hw-benefits { gap: 14px; grid-template-columns: 1fr; }
  .hw-benefits span + span { border-left: 0; border-top: 1px solid #d8cfbe; padding-top: 14px; }
  .hw-product-grid { gap: 26px 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hw-product-card h3 { font-size: 15px; }
  .hw-product-card__body { padding-top: 12px; }
}

@media (max-width: 420px) {
  .hw-product-grid { grid-template-columns: 1fr; }
}

