/* October offers: real HTML text and a single link per offer. */
.home-redesign .home-offers { padding-top:48px; padding-bottom:36px; }
.home-redesign .home-offers-heading { margin-bottom:19px; }
.home-redesign .home-offers-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; gap:20px; }
.home-redesign .home-offer-banner { display:flex; flex-direction:column; position:relative; min-width:0; overflow:hidden; border:1px solid #eae0d9; border-radius:14px; background:#fff; color:#352a27; box-shadow:0 7px 20px rgba(87,55,49,.052); text-decoration:none; }
.home-redesign .home-offer-media { aspect-ratio:16/9; overflow:hidden; background:#fff7f2; }
.home-redesign .home-offer-media img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 52%; }
.home-redesign .home-offer-copy { display:flex; flex:1; flex-direction:column; align-items:flex-start; padding:24px; }
.home-redesign .home-offer-copy .overline { font-size:11px; line-height:1.5; margin-bottom:10px; }
.home-redesign .home-offer-copy h3 { font-family:Georgia,"Times New Roman",serif; font-size:clamp(25px,2.4vw,34px); font-weight:500; line-height:1.12; letter-spacing:-.025em; margin:0 0 12px; max-width:430px; }
.home-redesign .home-offer-copy p { font-size:15px; line-height:1.55; color:#61534e; margin:0 0 16px; }
.home-redesign .home-offer-copy .home-offer-condition { color:#352a27; font-weight:700; margin-bottom:5px; }
.home-redesign .home-offer-action { display:inline-flex; align-items:center; gap:12px; min-height:44px; margin-top:auto; padding:10px 17px; border:1px solid #e7cfd4; border-radius:8px; color:#944658; background:#fffdfc; font:700 14px/1.35 "Segoe UI",Arial,sans-serif; }
.home-redesign .home-offer-banner:focus-visible { outline:3px solid #aa455e; outline-offset:3px; }
@media(max-width:760px) {
 .home-redesign .home-offers { padding-top:34px; padding-bottom:14px; }
 .home-redesign .home-offers-grid { grid-template-columns:1fr; gap:20px; }
 .home-redesign .home-offer-copy { padding:20px; }
 .home-redesign .home-offer-copy h3 { font-size:28px; }
 .home-redesign .home-offer-copy p { font-size:15px; }
}

/* Desktop-only interaction. No zoom, 3D transforms or filters on the
   banner/image: the product photographs stay pixel-sharp.
   Only decorative pseudo-elements animate (passing light + a polished rim). */
@media (min-width: 761px) and (hover: hover) and (pointer: fine) {
  .home-redesign .home-offer-banner {
    isolation: isolate;
    transition: border-color .3s ease,
                box-shadow .45s cubic-bezier(.22,1,.36,1);
  }
  .home-redesign .home-offer-banner::before {
    content: "";
    position: absolute;
    inset: -15% -25%;
    z-index: 2;
    pointer-events: none;
    background: linear-gradient(110deg,
                transparent 35%,rgba(255,255,255,.025) 42%,
                rgba(255,255,255,.34) 49%,
                rgba(255,255,255,.035) 56%,transparent 64%);
    opacity: 0;
    transform: translateX(-125%);
    transition: transform .95s cubic-bezier(.22,.7,.23,1),opacity .2s ease;
  }
  .home-redesign .home-offer-banner:hover {
    border-color: #c47189;
    box-shadow: 0 0 0 1px rgba(185,69,95,.2),
                0 17px 40px rgba(112,49,66,.15),
                0 0 25px rgba(204,90,121,.1);
  }
  .home-redesign .home-offer-banner:hover::before {
    opacity: .83;
    transform: translateX(125%);
  }
  .home-redesign .home-offer-banner:focus-visible {
    border-color: #c47189;
    box-shadow: 0 0 0 1px rgba(185,69,95,.2),
                0 13px 30px rgba(112,49,66,.14);
  }
}
/* The gradient rim is masked to the outer two pixels, not laid over the photo.
   If masking is unavailable the border/shadow + light sweep still work. */
@supports ((-webkit-mask-composite: xor) or (mask-composite: exclude)) {
  @media (min-width: 761px) and (hover: hover) and (pointer: fine) {
    .home-redesign .home-offer-banner::after {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 3;
      padding: 2px;
      border-radius: inherit;
      pointer-events: none;
      background: linear-gradient(125deg,
                  #b24a66 0%,#fff5e9 27%,#c65c77 51%,
                  #ffeddd 75%,#b24a66 100%);
      background-size: 230% 230%;
      background-position: 100% 0%;
      -webkit-mask: linear-gradient(#fff 0 0) content-box,
                    linear-gradient(#fff 0 0);
      -webkit-mask-composite: xor;
      mask: linear-gradient(#fff 0 0) content-box,
            linear-gradient(#fff 0 0);
      mask-composite: exclude;
      opacity: 0;
      transition: opacity .3s ease,background-position .95s ease;
    }
    .home-redesign .home-offer-banner:hover::after {
      opacity: 1;
      background-position: 0% 100%;
    }
  }
}
/* No movement on touch devices; reduced-motion users get static artwork. */
@media (prefers-reduced-motion: reduce) {
  .home-redesign .home-offer-banner {
    transition: none !important;
  }
  .home-redesign .home-offer-banner::before,
  .home-redesign .home-offer-banner::after {
    display: none !important;
  }
}

