/* FRAGMENT campaign: homepage announcement and collection PDP story only. */
.fragment-announcement, .fragment-product-story { box-sizing: border-box; }
.fragment-announcement *, .fragment-product-story * { box-sizing: border-box; }
.fragment-announcement p, .fragment-product-story p, .fragment-announcement h2, .fragment-home h1, .fragment-product-story h2 { margin: 0; }
.fragment-announcement .fragment-launch-eyebrow, .fragment-product-story .fragment-launch-eyebrow { font-size: 11px; line-height: 1.5; letter-spacing: .12em; text-transform: uppercase; }
.fragment-announcement .fragment-launch-link, .fragment-product-story .fragment-launch-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 32px; min-height: 54px; padding: 15px 22px; font-size: 13px; line-height: 1.5; text-transform: uppercase; text-decoration: none; }
.fragment-launch-link span { font-size: 22px; line-height: 1; }
.fragment-launch-link:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.fragment-home, .hero-section .hero-slider > .swiper-wrapper > .swiper-slide.fragment-announcement { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; padding: 0; min-height: 570px; height: auto; color: #1a1a18; background: #f1f0ec; }
.fragment-announcement__copy { padding: 72px 40px 86px; align-self: center; }
.fragment-announcement .fragment-announcement__collab { margin-top: 38px; font-size: 15px; line-height: 1.5; letter-spacing: .08em; }
.fragment-announcement h2, .fragment-home h1 { font-family: 'Tektur', sans-serif; font-size: clamp(58px, 6.5vw, 106px); line-height: 1.12; font-weight: 500; letter-spacing: -.045em; margin-top: 14px; }
.fragment-announcement .fragment-announcement__description { margin-top: 24px; font-size: 21px; line-height: 1.5; }
.fragment-announcement .fragment-launch-link { margin-top: 38px; color: #fff; background: #1a1a18; }
.fragment-announcement .fragment-launch-link:hover { background: #3b3b36; }
.fragment-announcement__image { display: block; position: relative; min-width: 0; overflow: hidden; }
.fragment-announcement__image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 42%; }
.fragment-product-story { display: grid; grid-template-columns: .95fr 1.05fr; align-items: center; gap: 6%; margin-block: 48px 64px; padding: 56px max(24px, calc((100% - 1440px)/2)); color: #f1f0ec; background: #20211f; }
.fragment-product-story__copy { max-width: 540px; padding-left: 16px; }
.fragment-product-story h2 { font-family: 'Tektur', sans-serif; font-size: clamp(34px, 3.6vw, 58px); line-height: 1.12; font-weight: 500; text-transform: uppercase; margin-top: 28px; }
.fragment-product-story .fragment-product-story__description { font-size: 16px; line-height: 1.65; color: #d0d0c9; margin-top: 26px; max-width: 460px; }
.fragment-product-story .fragment-launch-link { margin-top: 32px; background: #f1f0ec; color: #1a1a18; }
.fragment-product-story .fragment-launch-link:hover { background: #dddcd5; }
.fragment-product-story__images { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; align-items: center; }
.fragment-product-story__images img { display: block; width: 100%; height: auto; }
.fragment-product-story__images img:last-child { transform: translateY(20px); }
/* Keep the existing slider controls legible on this light slide only. */
.hero-slider:has(> .swiper-wrapper > .fragment-announcement.swiper-slide-active) .slider__thumbs .swiper-slide { background-color: #8d8d87; }
.hero-slider:has(> .swiper-wrapper > .fragment-announcement.swiper-slide-active) .slider__thumbs .swiper-slide.swiper-slide-thumb-active { background-color: #1a1a18; }
@media (min-width: 701px) and (max-width: 1023px) {
  .fragment-announcement__copy { padding: 56px 24px 76px; }
  .fragment-announcement h2, .fragment-home h1 { font-size: 52px; }
  .fragment-announcement .fragment-announcement__description { font-size: 18px; }
}
@media (max-width: 700px) {
  .fragment-home, .hero-section .hero-slider > .swiper-wrapper > .swiper-slide.fragment-announcement { grid-template-columns: 1fr; grid-template-rows: minmax(300px, 1fr) auto; min-height: 0; }
  .fragment-announcement__image { grid-row: 1; }
  .fragment-announcement__image img { object-position: 50% 39%; }
  .fragment-announcement__copy { padding: 28px 20px 64px; }
  .fragment-announcement .fragment-launch-eyebrow { font-size: 10px; }
  .fragment-announcement .fragment-announcement__collab { font-size: 12px; margin-top: 18px; }
  .fragment-announcement h2, .fragment-home h1 { font-size: clamp(44px, 13vw, 80px) !important; line-height: 1.12 !important; margin-top: 10px; }
  .fragment-announcement .fragment-announcement__description { font-size: 16px; margin-top: 14px; }
  .fragment-announcement .fragment-launch-link { margin-top: 24px; width: 100%; }
  .fragment-product-story { grid-template-columns: 1fr; gap: 34px; margin-block: 28px 40px; padding: 36px 20px 54px; }
  .fragment-product-story__copy { padding: 0; }
  .fragment-product-story .fragment-launch-eyebrow { font-size: 10px; }
  .fragment-product-story h2 { font-size: 36px !important; line-height: 1.12 !important; margin-top: 20px; }
  .fragment-product-story .fragment-product-story__description { font-size: 15px; margin-top: 20px; }
  .fragment-product-story .fragment-launch-link { width: 100%; margin-top: 24px; }
  .fragment-product-story__images { gap: 10px; }
  .fragment-product-story__images img:last-child { transform: translateY(16px); }
}

/* Shared homepage campaign: a standalone banner, without carousel controls. */
.fragment-home { margin: 24px; }
@media (max-width: 700px) {
  .fragment-home { margin: 16px 0 0; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto; }
  .fragment-home .fragment-announcement__copy { grid-column: 1; grid-row: 2; min-width: 0; width: 100%; padding-bottom: 32px; }
  .fragment-home .fragment-announcement__image { grid-column: 1; grid-row: 1; width: 100%; height: auto; aspect-ratio: auto; align-self: start; }
  .fragment-home .fragment-announcement__image img { position: static; display: block; width: 100%; height: auto; aspect-ratio: 1; }
}
