/* News & Updates — Figma 50:783 1:1 1920×5025 */

.page--news {
  height: 5025px;
  overflow: hidden;
}

.page--news .banner {
  height: 1018px;
}

.page--news .banner__img {
  animation: none;
}

.news-banner__base,
.news-banner__overlay,
.news-banner__plane,
.news-banner__fade {
  position: absolute;
  pointer-events: none;
}

.news-banner__base {
  left: 0;
  top: -47px;
  width: 1920px;
  height: 1051.809px;
}

.news-banner__base img {
  width: 1920px;
  height: 1051.809px;
  object-fit: cover;
}

.news-banner__overlay {
  left: -6px;
  top: 3px;
  width: 1932px;
  height: 1003px;
}

.news-banner__overlay img {
  width: 1932px;
  height: 1003px;
  object-fit: cover;
}

.news-banner__plane {
  left: 1237px;
  top: 354px;
  width: 267px;
  height: 105px;
  z-index: 2;
}

.news-banner__plane img {
  width: 267px;
  height: 105px;
  object-fit: cover;
}

.news-banner__fade {
  left: -6px;
  top: 239px;
  width: 1932px;
  height: 767px;
  background: linear-gradient(to bottom, rgba(41, 22, 111, 0), rgba(41, 22, 111, 0.65));
  z-index: 1;
}

.news-title {
  position: absolute;
  left: 91px;
  top: 451px;
  font-family: var(--font-poppins);
  font-weight: 600;
  font-size: 98px;
  line-height: 98px;
  color: var(--purple);
  white-space: nowrap;
  z-index: 3;
}

/* Rewards */
.rewards h2 {
  position: absolute;
  left: calc(50% - 48px);
  top: 1120px;
  transform: translateX(-50%);
  font-family: var(--font-poppins);
  font-weight: 500;
  font-size: 78px;
  line-height: 78px;
  color: var(--purple);
  white-space: nowrap;
}

.rewards__map {
  position: absolute;
  left: 50%;
  top: 1315px;
  transform: translateX(-50%);
  width: 1628px;
  height: 841px;
  object-fit: cover;
  pointer-events: none;
}

.rewards__slider {
  position: absolute;
  left: 199px;
  top: 1243px;
  width: 1426px;
  height: 855px;
  z-index: 2;
  overflow: visible;
}

.rewards-swiper {
  width: 100%;
  height: 100%;
  margin: 0;
  overflow: hidden;
}

.rewards-swiper .swiper-slide {
  width: 100%;
  height: 855px;
  box-sizing: border-box;
}

.rewards__grid {
  width: 1426px;
  height: 855px;
}

.rewards__grid--default {
  display: grid;
  grid-template-columns: 700.5px 700.5px;
  grid-template-rows: 418px 418px;
  column-gap: 25px;
  row-gap: 19px;
}

.rewards__grid--stack {
  display: grid;
  grid-template-columns: 700.5px 700.5px;
  grid-template-rows: 855px;
  column-gap: 25px;
}

.rewards__unit {
  display: flex;
  flex-direction: column;
  gap: 19px;
  height: 855px;
}

.rewards__unit--reverse {
  flex-direction: column-reverse;
}

.rewards__cell {
  width: 700.5px;
  height: 418px;
  overflow: hidden;
  border-radius: 20px;
  flex-shrink: 0;
}

.rewards__photo-cell {
  background: #fff;
}

.rewards__photo {
  width: 702px;
  height: 418px;
  object-fit: cover;
}

.rewards__card {
  position: relative;
  background: #efefef;
}

.rewards__card--cert {
  background: #948c7b;
  display: flex;
  align-items: center;
  justify-content: center;
}

.rewards__cert {
  width: 312.67px;
  height: 418px;
  object-fit: cover;
  flex-shrink: 0;
}

.rewards__icon {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.rewards__icon--star {
  top: 98px;
  width: 107.23px;
  height: 110px;
}

.rewards__icon--star img {
  width: 107.23px;
  height: 110px;
  object-fit: cover;
}

.rewards__icon--hand {
  top: 98px;
  width: 102.219px;
  height: 95px;
}

.rewards__icon--hand img {
  width: 102.219px;
  height: 95px;
  object-fit: cover;
}

.rewards__card p {
  position: absolute;
  left: 61.13px;
  top: 228px;
  width: 578.238px;
  font-weight: 500;
  font-size: 36px;
  line-height: 46px;
  text-align: center;
  color: var(--purple);
}

.rewards__grid--stack .rewards__card p {
  position: relative;
  left: auto;
  top: auto;
  width: 100%;
  padding: 0 40px 28px;
  box-sizing: border-box;
}

.rewards__grid--stack .rewards__icon {
  position: relative;
  left: auto;
  top: auto;
  transform: none;
  margin: 98px auto 0;
}

.rewards__grid--stack .rewards__icon--star,
.rewards__grid--stack .rewards__icon--hand {
  top: auto;
}

.rewards__grid--stack .rewards__card {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.rewards__grid--stack .rewards__unit--reverse .rewards__card {
  justify-content: flex-start;
}

.rw-arrow {
  position: absolute;
  top: 427.5px;
  width: 54px;
  height: 54px;
  padding: 0;
  border-radius: 50%;
  box-sizing: border-box;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  transform: translateY(-50%);
}

.rw-arrow img {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  object-fit: contain;
}

.rw-arrow--prev {
  left: -72px;
  background: #fff;
  border: 3px solid var(--purple);
  transform: translateY(-50%) scaleX(-1);
}

.rw-arrow--next {
  right: -72px;
  background: var(--purple);
}

.rw-arrow.swiper-button-disabled {
  opacity: 0.35;
  cursor: default;
}

/* Strategic Focus — Swiper arc */
.sfocus h2 {
  position: absolute;
  left: 50%;
  top: 2281px;
  transform: translateX(-50%);
  font-family: var(--font-poppins);
  font-weight: 500;
  font-size: 78px;
  line-height: 78px;
  color: var(--purple);
  white-space: nowrap;
}

.sfocus__path {
  position: absolute;
  left: calc(50% + 0.5px);
  top: 2526px;
  transform: translateX(-50%);
  width: 1223px;
  height: 387px;
  object-fit: cover;
  pointer-events: none;
}

.swiper.sfocus-swiper {
  position: absolute;
  left: 219px;
  top: 2451px;
  width: 1481px;
  height: 612px;
  overflow: visible;
  z-index: 3;
}

.sfocus-swiper.is-arc .swiper-wrapper {
  position: relative;
  display: block;
  transform: none !important;
  width: 1481px !important;
  height: 612px !important;
}

.sf-card {
  background: #fff;
  border: 4px solid var(--purple);
  border-radius: 999px;
  box-sizing: border-box;
}

.sfocus-swiper.is-arc .sf-card {
  position: absolute !important;
  display: flex;
  align-items: center;
  margin: 0 !important;
  transition: left 0.45s ease, top 0.45s ease, width 0.45s ease, height 0.45s ease, box-shadow 0.45s ease, border-width 0.45s ease;
}

.sf-card.is-hero {
  left: 168px;
  top: 213px;
  width: 1089px !important;
  height: 399px !important;
  border-width: 5px;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.34);
  z-index: 4;
  cursor: default;
  padding: 0 56px 0 15px;
  gap: 28px;
}

.sf-card.is-mini {
  width: 448px !important;
  height: 153px !important;
  z-index: 2;
  cursor: pointer;
  padding: 0 28px 0 8px;
  gap: 12px;
}

.sf-card.is-mini-core {
  left: 0;
  top: 88px;
}

.sf-card.is-mini-edge {
  left: 490px;
  top: 0;
}

.sf-card.is-mini-path {
  left: 1033px;
  top: 95px;
}

.sf-avatar {
  position: relative;
  left: auto;
  top: auto;
  width: 139px;
  height: 140.863px;
  overflow: hidden;
  border-radius: 50%;
  flex-shrink: 0;
  z-index: 1;
  transition: width 0.45s ease, height 0.45s ease;
}

.sf-card.is-hero .sf-avatar {
  width: 373px;
  height: 378px;
}

.sf-avatar > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 50%;
}

.sf-card.is-hero .sf-leaf--34 {
  left: 7.596px;
  top: 0.93px;
  width: 356.832px;
  height: 354.515px;
}

.sf-card.is-hero .sf-leaf--34 img {
  left: -13.45px;
  top: -4.18px;
  width: 388.8px;
  height: 358.7px;
}

.sf-leaf {
  position: absolute;
  overflow: hidden;
}

.sfocus-swiper .sf-leaf img {
  position: absolute;
  display: block;
  max-width: none !important;
  object-fit: cover;
}

.sf-leaf--34 {
  left: 2.83px;
  top: 0.35px;
  width: 132.975px;
  height: 132.111px;
}

.sf-leaf--34 img {
  left: -5.01px;
  top: -1.56px;
  width: 144.89px;
  height: 133.67px;
}

.sf-leaf--36 {
  left: 0;
  top: 0;
  width: 142px;
  height: 142px;
}

.sf-leaf--36 img {
  left: 0;
  top: 0;
  width: 142px;
  height: 142px;
  object-fit: cover;
}

.sf-leaf--37 {
  left: -3px;
  top: 0;
  width: 142px;
  height: 142px;
}

.sf-leaf--37 img {
  left: 0;
  top: 0;
  width: 142px;
  height: 142px;
  object-fit: cover;
}

.sf-copy {
  position: relative;
  left: auto;
  top: auto;
  flex: 1 1 auto;
  min-width: 0;
  width: auto;
  color: var(--purple);
}

.sf-card.is-mini-core .sf-copy,
.sf-card.is-mini-path .sf-copy {
  top: auto;
}

.sf-copy h3 {
  font-weight: 500;
  font-size: 19.158px;
  line-height: 1.25;
  white-space: nowrap;
}

.sf-copy p {
  margin-top: 4px;
  font-weight: 400;
  font-size: 11px;
  line-height: 1.4;
  white-space: normal;
  word-break: normal;
  overflow-wrap: break-word;
}

.sf-card.is-hero .sf-copy {
  left: auto;
  top: auto;
  width: auto;
}

.sf-card.is-hero .sf-copy h3 {
  font-size: 52px;
  line-height: 1.2;
}

.sf-card.is-hero .sf-copy p {
  margin-top: 11px;
  font-size: 23px;
  line-height: 32px;
}

.sf-card.is-hero .sf-leaf--36,
.sf-card.is-hero .sf-leaf--37 {
  width: 381px;
  height: 381px;
}

.sf-card.is-hero .sf-leaf--36 img,
.sf-card.is-hero .sf-leaf--37 img {
  width: 381px;
  height: 381px;
}

.sf-card.is-hero .sf-leaf--37 {
  left: -8px;
}

.sfocus__plane {
  position: absolute;
  left: 1334px;
  top: 2823px;
  width: 423px;
  height: 480px;
  object-fit: cover;
  z-index: 4;
  pointer-events: none;
}

.sf-arrow {
  position: absolute;
  top: 2825px;
  width: 54px;
  height: 54px;
  padding: 0;
  border-radius: 50%;
  box-sizing: border-box;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  transition: none;
  box-shadow: none;
  filter: none;
}

.sf-arrow img {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  object-fit: contain;
  animation: none !important;
}

.sf-arrow:hover,
.sf-arrow:hover img {
  transform: none;
  box-shadow: none;
  filter: none;
  animation: none !important;
}

.sf-arrow--next {
  left: 1594px;
  background: var(--purple);
}

.sf-arrow--prev {
  left: 326px;
  background: #fff;
  border: 3px solid var(--purple);
  transform: scaleX(-1);
}

.sf-arrow.sf-arrow--prev:hover {
  transform: scaleX(-1);
}

/* Latest updates */
.latest h2 {
  position: absolute;
  left: 50%;
  top: 3270px;
  transform: translateX(-50%);
  font-family: var(--font-poppins);
  font-weight: 500;
  font-size: 78px;
  line-height: 78px;
  color: var(--purple);
  white-space: nowrap;
}

.ncard {
  position: absolute;
  top: 3406px;
  width: 515px;
  height: 614px;
  overflow: hidden;
  z-index: 2;
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.ncard img {
  width: 515px;
  height: 614px;
  object-fit: cover;
}

.ncard p {
  position: absolute;
  left: 50%;
  top: 490px;
  transform: translateX(-50%);
  width: 334px;
  font-weight: 400;
  font-size: 24px;
  line-height: 32px;
  text-align: center;
  color: #fff;
}

.ncard--1 { left: 161px; }
.ncard--2 { left: 703px; }
.ncard--3 { left: 1245px; }

.ncard:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 32px rgba(41, 22, 111, 0.18);
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.page--news .footer {
  top: 4167px;
}

@media (max-width: 991px) {
  .page--news {
    height: auto !important;
    overflow: hidden;
  }

  .page--news .banner {
    position: relative;
    width: 100%;
    height: 72vw;
    min-height: 420px;
  }

  .news-banner__base,
  .news-banner__overlay,
  .news-banner__plane,
  .news-banner__fade {
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
  }

  .news-banner__base img,
  .news-banner__overlay img {
    width: 100%;
    height: 100%;
  }

  .news-banner__plane {
    display: none;
  }

  .news-title,
  .rewards h2,
  .rewards__map,
  .rewards__slider,
  .rewards__grid,
  .sfocus h2,
  .sfocus__path,
  .sfocus-swiper,
  .sf-card,
  .sfocus__plane,
  .sf-arrow,
  .latest h2,
  .ncard {
    position: relative;
    left: auto;
    top: auto;
    width: auto;
    height: auto;
    max-width: 100%;
    transform: none;
  }

  .news-title {
    position: absolute;
    left: 20px;
    top: 88px;
    font-size: 36px;
    line-height: 1.1;
    color: #fff;
    z-index: 3;
    white-space: normal;
  }

  .rewards,
  .sfocus,
  .latest {
    position: relative;
    padding: 32px 16px;
  }

  .rewards h2,
  .sfocus h2,
  .latest h2 {
    font-size: 28px;
    line-height: 1.2;
    text-align: center;
    display: block;
    margin-bottom: 20px;
    white-space: normal;
  }

  .rewards__map,
  .sfocus__path,
  .sfocus__plane {
    display: none;
  }

  .rewards__grid {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
    height: auto;
  }

  .rewards__unit {
    display: flex;
    flex-direction: column;
    gap: 16px;
    height: auto;
  }

  .rewards__unit--reverse {
    flex-direction: column-reverse;
  }

  .rewards__slider {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    height: auto;
    margin-top: 20px;
    padding: 0 56px;
    box-sizing: border-box;
    overflow: hidden;
  }

  .rewards-swiper {
    height: auto;
    overflow: hidden;
  }

  .rewards-swiper .swiper-slide {
    height: auto;
  }

  .rw-arrow {
    top: 50%;
    width: 44px;
    height: 44px;
  }

  .rw-arrow img {
    width: 18px;
    height: 18px;
  }

  .rw-arrow--prev {
    left: 0;
    transform: translateY(-50%) scaleX(-1);
  }

  .rw-arrow--next {
    right: 0;
    left: auto;
    transform: translateY(-50%);
  }

  .rewards__cell,
  .rewards__photo {
    width: 100%;
    height: auto;
  }

  .rewards__photo {
    height: 220px;
    object-fit: cover;
    border-radius: 20px;
  }

  .rewards__card {
    min-height: 220px;
    padding: 32px 16px 24px;
  }

  .rewards__icon {
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    margin: 0 auto 16px;
  }

  .rewards__card p {
    position: relative;
    left: auto;
    top: auto;
    width: auto;
    font-size: 20px;
    line-height: 1.4;
  }

  .rewards__cert {
    width: 180px;
    height: auto;
    margin: 0 auto;
  }

  .swiper.sfocus-swiper,
  .sfocus-swiper.is-arc {
    position: relative;
    left: auto;
    top: auto;
    width: 100% !important;
    height: auto !important;
    transform: none !important;
  }

  .sfocus-swiper.is-arc .swiper-wrapper {
    width: 100% !important;
    height: auto !important;
    transform: none !important;
  }

  .sfocus-swiper .swiper-wrapper {
    width: 100% !important;
  }

  .sfocus-swiper {
    overflow: hidden;
    padding: 8px 0 64px;
  }

  .sf-card,
  .sf-card.is-hero,
  .sf-card.is-mini,
  .sfocus-swiper.is-arc .sf-card,
  .sfocus-swiper.is-arc .sf-card.is-hero,
  .sfocus-swiper.is-arc .sf-card.is-mini {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 132px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 20px 12px 12px;
    margin: 0;
    border-radius: 999px;
    border-width: 4px;
    box-shadow: 0 8px 18px rgba(41, 22, 111, 0.12);
    cursor: default;
  }

  .sf-avatar,
  .sf-card.is-hero .sf-avatar {
    position: relative;
    left: auto;
    top: auto;
    width: 72px;
    height: 72px;
    flex-shrink: 0;
    overflow: hidden;
    border-radius: 50%;
  }

  .sf-avatar > img,
  .sf-card.is-hero .sf-avatar > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .sf-copy,
  .sf-card.is-hero .sf-copy {
    position: relative;
    left: auto;
    top: auto;
    width: auto;
    flex: 1;
  }

  .sf-copy h3,
  .sf-card.is-hero .sf-copy h3 {
    font-size: 18px;
    line-height: 1.2;
  }

  .sf-copy p,
  .sf-card.is-hero .sf-copy p {
    margin-top: 4px;
    font-size: 12px;
    line-height: 1.4;
  }

  .sf-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: auto;
    bottom: 16px;
    width: 40px;
    height: 40px;
    padding: 0;
    z-index: 5;
  }

  .sf-arrow img {
    width: 16px;
    height: 16px;
  }

  .sf-arrow--prev {
    left: 24px;
  }

  .sf-arrow--next {
    left: auto;
    right: 24px;
  }

  .ncard {
    display: block;
    width: 100%;
    height: auto;
    margin-bottom: 16px;
    border-radius: 16px;
  }

  .ncard img {
    width: 100%;
    height: auto;
  }

  .ncard p {
    position: absolute;
    left: 50%;
    top: auto;
    bottom: 24px;
    transform: translateX(-50%);
    width: auto;
    max-width: 90%;
    white-space: normal;
    font-size: 16px;
    line-height: 1.35;
    padding: 0 12px;
  }

  .page--news .footer {
    position: relative;
    top: auto;
  }
}
