/* ==========================================
   HEADER (Figma) — fixed on all pages / templates
========================================== */

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: var(--z-header);
  width: 100%;
  background: transparent;
}

.site-header.stick {
  padding-bottom: 1rem;
  background: #fcedcf;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.20);
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
  border-bottom-color: rgba(0, 0, 0, 0.20);
}

body.admin-bar .site-header {
  top: 32px;
}

.site-header__inner {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.2rem;
  min-height: 10.7rem;
  /* 107px — Figma header */
  padding-block: 0.9rem 0;
  /* 9px top */
}

/*
  Divider line via ::after — Figma: starts after logo (147px into content),
  at y≈78px. Does NOT run under the logo.
  left = container pad + logo width (absolute is relative to padding edge).
*/
.site-header__inner::after {
  content: "";
  position: absolute;
  left: calc(var(--container-pad) + 10.5rem);
  right: var(--container-pad);
  top: 7.6rem;
  bottom: auto;
  height: 0.16rem;
  background-color: var(--navy);
  pointer-events: none;
}

.site-header__logo {
  position: relative;
  z-index: 1;
  display: block;
  flex-shrink: 0;
  width: 14.8rem;
  /* 148px */
  height: 9.8rem;
  /* 98px */
}

.site-header__logo-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: left bottom;
}

.site-header__actions {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 1.2rem;
  /* 12px */
  padding-top: 1.1rem;
  /* nav top ~20px (9 + 11) */
  padding-bottom: 0;
}

.site-header__nav {
  display: block;
  /* desktop default — hide ≤1199 in main-responsive */
}

.site-header__menu {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  /* 6px between items — Figma */
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-header__item {
  position: relative;
  list-style: none;
}

.site-header__item--has-children {
  display: inline-flex;
  align-items: center;
  flex-wrap: nowrap;
}

.site-header__link {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  /* 10px text–chevron */
  padding: 1rem;
  /* 10px */
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 1.8rem;
  /* 18px */
  line-height: 1;
  color: var(--black);
  text-decoration: none;
  white-space: nowrap;
  transition: var(--transition-fast);
}

/* .site-header__link:hover {
  color: var(--orange);
} */
.site-header__item:hover .site-header__link {
  color: var(--orange);
}

.site-header__item:hover .site-header__submenu-btn .site-header__chevron path {
  fill: var(--orange);
}

.site-header__item:hover .sub-menu--level-1 .site-header__item .site-header__chevron path {
  fill: var(--black-100);
}

.sub-menu--level-1 .site-header__item:hover .site-header__submenu-btn .site-header__chevron path {
  fill: var(--orange);
}

/*
  Active trail (WordPress classes):
  - current-menu-item     → the open page itself
  - current-menu-parent   → direct parent only
  - current-menu-ancestor → any higher parent (e.g. "Areas of Focus" when on a level-3 page)

  Use ">" so only each trail item’s own link turns orange — not every child under it
*/
.site-header__item.current-menu-item>.site-header__link,
.site-header__item.current_page_parent>.site-header__link,
.site-header__item.current-menu-parent>.site-header__link,
.site-header__item.current-menu-ancestor>.site-header__link {
  color: var(--orange);
}
.site-header__item.current-menu-item>.site-header__link,
.site-header__item.current-menu-parent>.site-header__link,
.site-header__item.current-menu-ancestor>.site-header__link {
  color: var(--orange);
}

.site-header__item.current-menu-item>.site-header__submenu-btn .site-header__chevron path,
.site-header__item.current_page_parent>.site-header__submenu-btn .site-header__chevron path,
.site-header__item.current-menu-parent>.site-header__submenu-btn .site-header__chevron path,
.site-header__item.current-menu-ancestor>.site-header__submenu-btn .site-header__chevron path {
  fill: var(--orange);
}
.site-header__item.current-menu-ancestor> .sub-menu--level-1 .site-header__item.current-menu-ancestor .site-header__chevron path {
  fill: var(--orange);
}

.site-header__submenu-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 0.4rem 1rem 0;
  margin: 0;
  background: transparent;
  border: none;
  cursor: default;
  flex-shrink: 0;
}

.site-header__submenu-btn--flyout {
  padding: 0 0.2rem 0 0.6rem;
}

.site-header__submenu-btn--flyout .site-header__chevron {
  transform: rotate(-90deg);
}

.site-header__chevron {
  width: 1.273rem;
  /* 12.7px */
  height: 0.778rem;
  /* 7.8px */
  display: block;
  flex-shrink: 0;
}

.site-header__submenu-back-item {
  display: none;
  list-style: none;
}

.site-header__submenu-back {
  display: none;
  align-items: center;
  gap: 1rem;
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1;
  color: var(--navy);
  cursor: pointer;
  text-align: left;
}

.site-header__chevron--back {
  transform: rotate(90deg);
  /* point left */
}

/* Last menu item = Contact Us button (Figma CTA) */
.site-header__menu>.site-header__item:last-child {
  margin-inline-start: 0.6rem;
  /* +6px → 12px gap before CTA */
}

.site-header__menu>.site-header__item:last-child>.site-header__link {
  background: var(--orange);
  color: var(--white);
  padding: 1.2rem 1.5rem;
  /* 15px */
  border-radius: 1rem;
  /* 10px */
  gap: 0;
}

.site-header__menu>.site-header__item:last-child>.site-header__link:hover {
  color: var(--white);
  background: #ff7300;
}

.site-header__menu>.site-header__item:last-child .site-header__submenu-btn,
.site-header__menu>.site-header__item:last-child .site-header__chevron {
  display: none;
}

/* Bridge gap so hover isn't lost between trigger and panel */
.site-header__nav .site-header__menu>.site-header__item--has-children::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: 1.2rem;
}

/* Desktop dropdown — level 2 */
.site-header__nav .sub-menu {
  position: absolute;
  top: calc(100% + 0.4rem);
  left: 0;
  min-width: 26rem;
  width: max-content;
  max-width: min(100vw - 2.4rem, 36rem);
  margin: 0;
  padding: 1.2rem 1.6rem;
  list-style: none;
  background: #fff5e5;
  border: 0.1rem solid rgba(28, 66, 136, 0.18);
  border-radius: var(--radius-md);
  box-shadow: 0 1.2rem 3.2rem rgba(28, 66, 136, 0.14);
  opacity: 0;
  visibility: hidden;
  transform: translateY(0.6rem);
  transition: opacity 0.22s ease, visibility 0.22s ease, transform 0.22s ease;
  z-index: calc(var(--z-header) + 1);
}

/* .site-header__nav .site-header__item:hover>.sub-menu,
.site-header__nav .site-header__item:focus-within>.sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
} */
.site-header__nav .site-header__item:hover>.sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.site-header__nav .sub-menu .site-header__item {
  display: flex;
  align-items: center;
  width: 100%;
  margin: 0;
  border-bottom: 0.1rem solid rgba(28, 66, 136, 0.14);
}

.site-header__nav .sub-menu .site-header__item:last-child {
  border-bottom: none;
}

.site-header__nav .sub-menu .site-header__item--has-children {
  position: relative;
}

.site-header__nav .sub-menu .site-header__link {
  flex: 1 1 auto;
  display: block;
  min-width: 0;
  padding: 1.2rem 0.2rem;
  white-space: nowrap;
  background: transparent;
  color: var(--black);
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.35;
  border-radius: 0;
  text-decoration: none;
  transition: color 0.2s ease, padding-left 0.2s ease;
}

.site-header__nav .sub-menu .site-header__link:hover,
.site-header__nav .sub-menu .site-header__item:hover>.site-header__link,
.site-header__nav .sub-menu .site-header__item:focus-within>.site-header__link {
  color: var(--orange);
  padding-left: 0.4rem;
}

/* Active trail inside dropdown / flyout (Education + Overview, etc.) */
.site-header__nav .sub-menu .site-header__item.current-menu-item>.site-header__link,
.site-header__nav .sub-menu .site-header__item.current-menu-parent>.site-header__link,
.site-header__nav .sub-menu .site-header__item.current-menu-ancestor>.site-header__link {
  color: var(--orange);
}

/* Keep hover bridge so moving into flyout doesn't close parent */
.site-header__nav .sub-menu .site-header__item--has-children::after {
  content: "";
  position: absolute;
  top: 0;
  right: -1.2rem;
  width: 1.2rem;
  height: 100%;
}

/* Desktop flyout — level 3 */
.site-header__nav .sub-menu .sub-menu {
  top: -1.2rem;
  left: calc(100% + 0.8rem);
  min-width: 24rem;
  transform: translateX(0.6rem);
  z-index: calc(var(--z-header) + 2);
}

/* .site-header__nav .sub-menu .site-header__item:hover>.sub-menu,
.site-header__nav .sub-menu .site-header__item:focus-within>.sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
} */

.site-header__nav .sub-menu .site-header__item:hover>.sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
}

/* Flip flyout left near viewport edge (last few top items) */
.site-header__nav .site-header__menu>.site-header__item:nth-last-child(-n+3) .sub-menu .sub-menu {
  left: auto;
  right: calc(100% + 0.8rem);
  transform: translateX(-0.6rem);
}

.site-header__nav .site-header__menu>.site-header__item:nth-last-child(-n+3) .sub-menu .site-header__item:hover>.sub-menu,
.site-header__nav .site-header__menu>.site-header__item:nth-last-child(-n+3) .sub-menu .site-header__item:focus-within>.sub-menu {
  transform: translateX(0);
}

.site-header__nav .sub-menu .site-header__submenu-btn {
  display: inline-flex;
  cursor: default;
  color: var(--navy);
}

.site-header__nav .sub-menu .site-header__item:hover>.site-header__submenu-btn,
.site-header__nav .sub-menu .site-header__item:focus-within>.site-header__submenu-btn {
  color: var(--orange);
}

.site-header__toggle {
  display: none;
  /* desktop default — flex ≤1199 in main-responsive */
  flex-direction: column;
  justify-content: center;
  gap: 0.5rem;
  width: 4rem;
  height: 4rem;
  padding: 0.6rem;
  background: transparent;
  border: none;
  cursor: pointer;
  z-index: calc(var(--z-header) + 2);
}

.site-header__toggle span {
  display: block;
  width: 100%;
  height: 0.2rem;
  background: var(--navy);
  border-radius: 0.2rem;
  transition: var(--transition-fast);
}

.site-header__toggle[aria-expanded="true"] span:nth-child(1) {
  transform: translateY(0.7rem) rotate(45deg);
}

.site-header__toggle[aria-expanded="true"] span:nth-child(2) {
  opacity: 0;
}

.site-header__toggle[aria-expanded="true"] span:nth-child(3) {
  transform: translateY(-0.7rem) rotate(-45deg);
}

/* ---------- Side menu (≤1199px) ---------- */
.site-header__overlay {
  display: none;
  /* desktop default — shown ≤1199 in main-responsive */
  position: fixed;
  inset: 0;
  z-index: calc(var(--z-header) + 3);
  background: rgba(0, 0, 0, 0.45);
  opacity: 0;
  visibility: hidden;
  transition: var(--transition-fast);
  cursor: pointer;
}

.site-header__overlay.is-open {
  opacity: 1;
  visibility: visible;
}

.site-header__overlay[hidden] {
  display: none !important;
}

.site-header__mobile {
  position: fixed;
  top: 0;
  right: 0;
  z-index: calc(var(--z-header) + 4);
  display: none;
  /* desktop default — flex ≤1199 in main-responsive */
  flex-direction: column;
  width: 100%;
  max-width: 100%;
  height: 100%;
  margin: 0;
  padding: 2rem 2.4rem 3rem;
  background: var(--white);
  box-shadow: none;
  transform: translateX(100%);
  transition: transform 0.35s ease-in-out;
  overflow: hidden;
  overflow-x: hidden;
  max-width: 100vw;
}

.site-header__mobile.is-open {
  transform: translateX(0);
}

.site-header__mobile[hidden] {
  display: none !important;
}

.site-header__mobile-top {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-height: 4rem;
  margin-bottom: 2rem;
  flex-shrink: 0;
}

/* When submenu open: Back left, close right */
.site-header__mobile.has-submenu-open .site-header__mobile-top {
  justify-content: space-between;
}

.site-header__mobile .site-header__submenu-back {
  display: none;
  align-items: center;
  gap: 1rem;
  height: 4rem;
  padding: 0;
  margin: 0;
  margin-right: auto;
  background: transparent;
  border: none;
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1;
  color: var(--navy);
  cursor: pointer;
  text-align: left;
}

.site-header__mobile.has-submenu-open .site-header__submenu-back {
  display: inline-flex;
}

.site-header__mobile .site-header__submenu-back[hidden] {
  display: none !important;
}

.site-header__mobile-close {
  position: relative;
  width: 4rem;
  height: 4rem;
  padding: 0;
  background: transparent;
  border: none;
  cursor: pointer;
}

.site-header__mobile-close span {
  position: absolute;
  left: 50%;
  top: 50%;
  display: block;
  width: 2.2rem;
  height: 0.2rem;
  background: var(--navy);
  border-radius: 0.2rem;
}

.site-header__mobile-close span:first-child {
  transform: translate(-50%, -50%) rotate(45deg);
}

.site-header__mobile-close span:last-child {
  transform: translate(-50%, -50%) rotate(-45deg);
}

/* Viewport for sideways drill-down */
.site-header__mobile-nav {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}

.site-header__mobile-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  height: 100%;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: none;
}

.site-header__mobile-menu>.site-header__item {
  position: static;
  /* so sideways .sub-menu positions against .site-header__mobile-nav */
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  width: 100%;
  max-width: 100%;
}

.site-header__mobile-menu .site-header__link {
  white-space: normal;
}

.site-header__mobile-menu>.site-header__item>.site-header__link {
  flex: 1 1 auto;
  min-width: 0;
  width: auto;
  padding-block: 1.6rem;
  padding-inline: 0;
  border-bottom: 0.1rem solid var(--gray-100);
  font-size: 1.8rem;
}

.site-header__mobile-menu>.site-header__item--has-children {
  border-bottom: 0.1rem solid var(--gray-100);
}

.site-header__mobile-menu>.site-header__item--has-children>.site-header__link {
  border-bottom: none;
}

/* Right-aligned arrow — only this opens sideways submenu */
.site-header__mobile-menu .site-header__submenu-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 4.4rem;
  height: 4.4rem;
  padding: 0;
  margin-left: auto;
  border-bottom: none;
  cursor: pointer;
}

.site-header__mobile-menu .site-header__submenu-btn .site-header__chevron {
  transform: rotate(-90deg);
  /* point right for sideways open */
}

.site-header__mobile-menu>.site-header__item:last-child {
  margin-top: 2.4rem;
  display: block;
  border-bottom: none;
}

.site-header__mobile-menu>.site-header__item:last-child>.site-header__link {
  display: inline-flex;
  justify-content: center;
  width: 100%;
  background: var(--orange);
  color: var(--white);
  padding: 1.5rem;
  border-radius: var(--radius-md);
  border-bottom: none;
}

.site-header__mobile-menu>.site-header__item:last-child>.site-header__link:hover {
  color: var(--white);
  opacity: 0.9;
}

.site-header__mobile-menu>.site-header__item:last-child .site-header__submenu-btn {
  display: none;
}

/* Sideways submenu panels (level 2 + level 3 drill-down) */
.site-header__mobile-menu .sub-menu {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  max-width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  background: var(--white);
  border: none;
  box-shadow: none;
  border-radius: 0;
  opacity: 1;
  visibility: hidden;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: none;
  transform: translateX(100%);
  transition: transform 0.35s ease-in-out, visibility 0s linear 0.35s;
  z-index: 2;
  pointer-events: none;
  box-sizing: border-box;
}

.site-header__mobile-menu .sub-menu .sub-menu {
  z-index: 3;
}

/* Kill desktop hover dropdown styles inside the drawer */
.site-header__mobile-menu .site-header__item:hover>.sub-menu,
.site-header__mobile-menu .site-header__item:focus-within>.sub-menu {
  opacity: 1;
  visibility: hidden;
  transform: translateX(100%);
  pointer-events: none;
}

.site-header__mobile-menu .site-header__item.is-submenu-open>.sub-menu {
  visibility: visible;
  transform: translateX(0);
  pointer-events: auto;
  transition: transform 0.35s ease-in-out, visibility 0s linear 0s;
}

.site-header__mobile-menu .site-header__submenu-back-item {
  display: none;
}

.site-header__mobile-menu .sub-menu .site-header__item {
  position: static;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  width: 100%;
  max-width: 100%;
  border-bottom: 0.1rem solid var(--gray-100);
}

.site-header__mobile-menu .sub-menu .site-header__item:last-child {
  border-bottom: 0.1rem solid var(--gray-100);
}

.site-header__mobile-menu .sub-menu .site-header__link {
  flex: 1 1 auto;
  display: block;
  min-width: 0;
  width: auto;
  max-width: 100%;
  padding-block: 1.6rem;
  padding-inline: 0;
  font-size: 1.8rem;
  color: var(--navy);
  border-bottom: none;
  white-space: normal;
  overflow-wrap: anywhere;
}

/* Mobile active trail — same as desktop (page + parents orange) */
.site-header__mobile-menu .site-header__item.current-menu-item>.site-header__link,
.site-header__mobile-menu .site-header__item.current-menu-parent>.site-header__link,
.site-header__mobile-menu .site-header__item.current-menu-ancestor>.site-header__link {
  color: var(--orange);
}

.site-header__mobile-menu .site-header__item.current-menu-item:last-child>.site-header__link {
  color: var(--white);
}

.site-header__mobile-menu .sub-menu .site-header__item.current-menu-item>.site-header__link {
  color: var(--orange);
}

.site-header__mobile-menu .sub-menu .site-header__submenu-btn {
  display: inline-flex;
  flex-shrink: 0;
}

.site-header__mobile-menu .sub-menu .site-header__submenu-btn--flyout .site-header__chevron {
  transform: rotate(-90deg);
}

body.menu-open {
  overflow: hidden;
}

.sub-menu-toggle {
  display: none;
}

/* ==========================================
   HERO / BANNER
========================================== */

.hero {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 85dvh;
  display: flex;
  align-items: center;
  /* vertically middle-align text */
  background-color: var(--cream-banner);
  /* parchment base under collage */
}

.hero__swiper {
  position: relative;
  width: 100%;
  height: 100%;
}

.hero__swiper .swiper-wrapper {
  height: 100%;
}

.hero__slide {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  background-color: var(--cream-banner);
}

/* Fade slides need a solid base so crossFade does not flash through */
.hero__swiper.swiper-fade .hero__slide {
  background-color: var(--cream-banner);
}

.hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.hero__pagination.swiper-pagination,
.hero__pagination {
  position: absolute;
  left: 50% !important;
  right: auto !important;
  bottom: 3.2rem !important;
  top: auto !important;
  width: auto !important;
  z-index: 4;
  transform: translateX(-50%);
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}

.hero__pagination .swiper-pagination-bullet {
  width: 1.2rem !important;
  height: 1.2rem !important;
  margin: 0 !important;
  background: #1a1a1a !important;
  opacity: 0.4 !important;
  border-radius: 50%;
  transition: background-color 0.2s ease, opacity 0.2s ease, transform 0.2s ease;
}

.hero__pagination .swiper-pagination-bullet-active {
  background: #1a1a1a !important;
  opacity: 1 !important;
}

.hero__image-wrap {
  position: absolute;
  inset: 0;
  display: none;
  overflow: hidden;
}

/* Desktop default image — tablet/mobile switch in main-responsive */
.hero__image-wrap--desktop {
  display: block;
}

/* Tablet / mobile: fill frame */
.hero__img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  /* override base img { max-width: 100% } */
  object-fit: cover;
  object-position: center right;
}

/*
  Desktop crop — exact Figma transform on hero asset:
  left: -9.05%, top: -4.24%, size: 113.25%, max-w-none
*/
.hero__image-wrap--desktop .hero__img,
.hero__img--desktop {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center center;
}

/* Hero content — .container inset; vertical center via .hero flex */
.hero__content {
  position: relative;
  z-index: var(--z-base);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4rem;
  /* 40px — content → CTA */
  padding-block: 0;
  box-sizing: border-box;
  padding-top: 6.6rem;
}

/* Title + paragraph column — Figma 826×, gap 58px */
.hero__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4rem;
  /* 40px */
  width: 100%;
  max-width: 82.6rem;
  /* 826px */
}

.hero__title {
  font-family: var(--secondary-font);
  font-weight: 400;
  font-size: 9rem;
  /* 90px */
  line-height: 10.5rem;
  /* 105px */
  color: var(--navy);
  max-width: 82.6rem;
  margin: 0;
}

.hero__title span,
.hero__title-accent {
  color: var(--orange);
  /* #f99d26 */
}

.hero__text {
  max-width: 75.9rem;
  /* 759px */
  margin: 0;
}

.hero__text p {
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 2.2rem;
  /* 22px */
  line-height: 3.2rem;
  /* 32px */
  color: var(--black);
  margin: 0;
}

.hero__btn,
.btn--primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--color-btn);
  color: var(--color-btn-text);
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 1.8rem;
  /* 18px */
  line-height: 1;
  padding: 1.5rem;
  /* 15px */
  border-radius: 1rem;
  /* 10px */
  text-decoration: none;
  border: none;
  transition: var(--transition-fast);
}

.hero__btn:hover,
.btn--primary:hover {
  background: #ff7300;
  color: var(--color-btn-text);
}

.btn--outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0.1rem solid var(--navy);
  color: var(--navy);
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: var(--fs-btn);
  padding: 1.5rem;
  border-radius: var(--radius-md);
  transition: var(--transition-fast);
}

.btn--outline:hover {
  background: var(--navy);
  color: var(--white);
}

/* ==========================================
   ABOUT SECTION (Figma 159:290)
========================================== */

.about {
  position: relative;
  overflow: hidden;
  width: 100%;
  background-color: var(--white);
}

/* Right-side decorative watercolor (Figma: 571×706) — theme asset, not ACF */
.about__bg {
  position: absolute;
  z-index: 0;
  inset-block-start: 0.2rem;
  /* 2px */
  inset-inline-end: 0;
  width: 57.1rem;
  /* 571px */
  height: 100%;
  /* 706px */
  pointer-events: none;
  overflow: hidden;
  background-image: url("../images/about-bg.webp");
  background-repeat: no-repeat;
  background-size: 148.86% 100.07%;
  background-position: left center;
}

.about__inner {
  position: relative;
  z-index: var(--z-base);
  display: flex;
  align-items: flex-end;
  gap: 4rem;
  /* 40px — Figma */
  width: 100%;
  max-width: 192rem;
  margin-inline: auto;
  padding-inline: 0 var(--container-pad);
  /* flush-left collage; 92px right */
  padding-block: 0;
  box-sizing: border-box;
}

.about__media {
  position: relative;
  flex-shrink: 0;
  width: 94.7rem;
  /* 947px — Figma left frame */
  aspect-ratio: 947 / 710;
  overflow: hidden;
}

.about__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  /* ACF upload is pre-cropped; soft white edges must stay */
  object-position: center center;
}

/* No image uploaded — keep section from collapsing (CSS only) */
.about--no-image .about__inner {
  padding-block: 10rem;
  padding-inline: var(--container-pad);
  min-height: 55rem;
}

.about--no-image .about__content {
  max-width: 100rem;
}

.about__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4.2rem;
  /* 60px — copy → CTA */
  flex: 1 1 auto;
  min-width: 0;
  max-width: 84.4rem;
  /* 844px */
  padding-inline-end: 2rem;
  padding-block: 7rem;
}

.about__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.8rem;
  /* 40px */
  width: 100%;

}

.about__intro {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.3rem;
  /* 40px */
  width: 100%;
  max-width: 64.8rem;
  /* 648px */
}

.section-eyebrow,
.about__eyebrow {
  margin: 0;
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 2.2rem;
  /* 22px */
  line-height: normal;
  color: var(--navy);
  text-transform: uppercase;

}

.section-title,
.about__title {
  margin: 0;
  font-family: var(--secondary-font);
  font-weight: 400;
  font-size: 5.5rem;
  /* 55px */
  line-height: 7rem;
  /* 70px */
  color: var(--black);
}

.section-title__accent,
.section-title span,
.about__title span,
.about__title-accent {
  font-weight: 600;
  color: var(--orange);
}

.about__text {
  margin: 0;
  max-width: 78.9rem;
  /* 789px */
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 2rem;
  /* 22px */
  line-height: 2.8rem;
  /* 32px */
  color: var(--black);
}

.about__text p {
  margin: 0;
  font: inherit;
  color: inherit;
  padding-bottom: 3rem;
}

.about__text p:last-child {
  padding-bottom: 0;
}

.about__text strong {
  font-weight: 700;
}

/* ==========================================
   STATS SECTION (Figma 159:273)
========================================== */

.stats {
  width: 100%;
  background-color: var(--navy);
  /* #1c4288 */
}

.stats__container {
  display: flex;
  align-items: stretch;
  width: 100%;
  max-width: 192rem;
  margin-inline: auto;
  padding-inline: var(--container-pad);
  /* 92px */
  box-sizing: border-box;
}

.stats__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1 1 0;
  min-width: 0;
  min-height: 20.2rem;
  /* 202px */
  padding-block: 5rem;
  /* 61px */
  padding-inline: 2rem;
  border-inline-end: 0.1rem solid var(--gray-800);
  /* #ecf1fa */
  text-align: center;
}

.stats__item:last-child {
  border-inline-end: none;
}

.stats__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
  /* 25px */
}

.stats__number {
  margin: 0;
  font-family: var(--primary-font);
  font-weight: 800;
  font-size: 5.5rem;
  /* 55px */
  line-height: 4.5455rem;
  /* 45.455px */
  color: var(--orange);
  /* #f99d26 */
  font-variant-numeric: tabular-nums;
}

.stats__label {
  margin: 0;
  font-family: var(--primary-font);
  font-weight: 400;
  font-size: 2.2rem;
  /* 22px */
  line-height: normal;
  color: var(--white);
}

/* ==========================================
   AREAS OF FOCUS / CAROUSEL (Figma 549:256)
========================================== */

.focus {
  width: 100%;
  background-color: var(--white);
  padding-block: 15rem;
  /* ~150px top */
}

.focus__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5.2rem;
  /* 60px */
  width: 100%;
  max-width: 192rem;
  margin-inline: auto;
  padding-inline: var(--container-pad);
  /* 92px */
  box-sizing: border-box;
}

.focus__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.8rem;
  /* 40px */
  width: 100%;
  max-width: 116.6rem;
  /* 1166px */
  text-align: center;
}

.focus__intro {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.2rem;
  /* 40px */
  width: 100%;
  max-width: 68.5rem;
  /* 685px */
}

.focus__eyebrow {
  margin: 0;
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 2.2rem;
  /* 22px */
  line-height: normal;
  color: var(--navy);
  text-transform: uppercase;
}

.focus__title {
  margin: 0;
  font-family: var(--secondary-font);
  font-weight: 400;
  font-size: 5.5rem;
  /* 55px */
  line-height: 7rem;
  /* 70px */
  color: var(--black);
}

.focus__title span,
.focus__title-accent {
  color: var(--orange);
}

.focus__text {
  margin: 0;
  max-width: 116.6rem;
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 2.2rem;
  /* 22px */
  line-height: 3.2rem;
  /* 32px */
  color: var(--black);
  text-align: center;
}

.focus__text p {
  margin: 0;
  font: inherit;
}

.focus__carousel {
  display: flex;
  align-items: center;
  gap: 5rem;
  /* 50px */
  width: 100%;
}

.focus__arrow {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  /* 30px */
  height: 1.9rem;
  /* 19px */
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  transition: opacity 0.2s ease;
}

.focus__arrow:hover,
.focus__arrow:focus-visible {
  opacity: 0.7;
}

.focus__arrow:disabled,
.focus__arrow.swiper-button-disabled {
  opacity: 0.35;
  cursor: default;
}

.focus__arrow img,
.focus__arrow svg {
  display: block;
  width: 3rem;
  height: 1.9rem;
}

.focus__arrow--prev img,
.focus__arrow--prev svg {
  transform: rotate(180deg);
}

.focus__swiper {
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  overflow: hidden;
}

.focus__swiper .swiper-wrapper {
  align-items: stretch;
}

.focus__slide {
  width: 50rem;
  /* Figma card width */
  height: 39rem;
  /* 390px */
}

.focus__card {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 1rem;
  /* 10px */
  overflow: hidden;
  text-decoration: none;
  color: var(--white);
  display: block;
}

.focus__card-media {
  position: absolute;
  inset: 0;
  z-index: 0;
  margin: 0;
  overflow: hidden;
}

.focus__card-media img,
.focus__card-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1);
  transition: all 0.5s ease;
}

.focus__card:hover img {
  transform: scale(1.05);
}

.focus__card-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom,
      rgba(0, 0, 0, 0) 21.334%,
      rgba(0, 0, 0, 0.6) 66.895%);
  pointer-events: none;
}

.focus__card_icon {
  width: 8.4rem;
  height: 8.4rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #1C4288;
  margin: 0;
}

.focus__card_icon svg {
  width: 5.1rem;
}

.focus__card-content {
  position: absolute;
  z-index: 1;
  inset-inline-start: 2.6rem;
  /* 26px */
  inset-block-end: 3.5rem;
  inset-inline-end: 2.6rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.2rem;
}

.focus__card-media--empty {
  background-color: var(--navy);
}

.focus__card-title {
  margin: 0;
  font-family: var(--secondary-font);
  font-weight: 500;
  font-size: 3rem;
  /* 30px */
  line-height: 4rem;
  /* 40px */
  color: var(--white);
}

.focus_short_description {
  font-weight: 500;
  font-size: 2rem;
  /* 30px */
  line-height: 3rem;
  /* 40px */
  color: var(--white);
}

/* ==========================================
   GLOBAL PRESENCE (Figma 549:185)
========================================== */

.global {
  position: relative;
  width: 100%;
  /* overflow: hidden; */
  background-color: #f4f7fc;
  /* Theme asset — not ACF */
  background-image: url("../images/global-bg-new.webp");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}

.global__inner {
  position: relative;
  z-index: var(--z-base);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 80.2rem);
  gap: 4rem;
  align-items: center;
  width: 100%;
  max-width: 192rem;
  margin-inline: auto;
  padding-inline: var(--container-pad);
  padding-block: 6.8rem 21.2rem;
  /* room for logos bar */
  box-sizing: border-box;
}

.global__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.5rem;
  /* 40px */
  max-width: 84.4rem;
  /* 844px */
  padding-block-start: 7rem;
}

.global__eyebrow {
  margin: 0;
  font-family: var(--primary-font);
  font-weight: 600;
  font-size: 2.2rem;
  line-height: normal;
  color: var(--navy);
  text-transform: uppercase;
}

.global__title {
  margin: 0;
  max-width: 59rem;
  font-family: var(--secondary-font);
  font-weight: 400;
  font-size: 5.5rem;
  line-height: 7rem;
  color: var(--black);
}

.global__title span,
.global__title-accent {
  color: var(--orange);
}

.global__text {
  margin: 0;
  max-width: 81.7rem;
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 2.2rem;
  line-height: 3.2rem;
  color: var(--black);
}

.global__text p {
  margin: 0;
  font: inherit;
}

.global__aside {
  position: relative;
  min-height: 60.7rem;
  /* 607px */
  padding-block-start: 0;
}

.global__reach {
  position: absolute;
  inset-block-start: 0;
  inset-inline-end: 0;
  z-index: 2;
  width: 29.3rem;
  /* 293px */
  min-height: 23.4rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 3.4rem 2.5rem;
  border-radius: 1rem;
  border: 0.1rem solid var(--white);
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(0.6rem);
  box-sizing: border-box;
}

.global__reach-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.5rem;
  width: 100%;
  max-width: 24.3rem;
}

.global__reach-title {
  margin: 0;
  font-family: var(--secondary-font);
  font-weight: 800;
  font-size: 2rem;
  line-height: 3rem;
  color: var(--navy);
}

.global__reach-line {
  display: block;
  width: 6.5rem;
  height: 0.1rem;
  background: #F99D26;
}

.global__reach-text {
  margin: 0;
  font-family: var(--primary-font);
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 2.2rem;
  color: var(--black);
}

.global__reach-text p {
  margin: 0;
  font: inherit;
}

.global__years {
  position: absolute;
  inset-block-end: 0;
  inset-inline-start: 0;
  z-index: 2;
  width: 15.8rem;
  /* 158px */
  height: 15.8rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
  text-align: center;
  border-radius: 50%;
  border: 0.1rem solid var(--white);
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(0.6rem);
  box-sizing: border-box;
}

.global__years-number {
  margin: 0;
  font-family: var(--primary-font);
  font-weight: 800;
  font-size: 5rem;
  /* 50px */
  line-height: 3rem;
  color: var(--navy);
  font-variant-numeric: tabular-nums;
}

.global__years-label {
  margin: 0;
  font-family: var(--primary-font);
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 2.2rem;
  color: var(--black);
}

.global__btn {
  margin-top: 1.5rem;
}

/* Country logos — auto marquee, pause on hover */
.global__logos {
  position: absolute;
  z-index: 3;
  inset-inline-start: 50%;
  inset-block-end: -9rem;
  transform: translateX(-50%);
  width: min(166.2rem, calc(100% - 12rem));
  height: 19.5rem;
  /* 195px */
  overflow: hidden;
  background: var(--white);
  border-radius: 1rem;
  box-shadow: 0 0.4rem 0.5rem rgba(34, 51, 115, 0.2);
  padding-block: 1.2rem;
  box-sizing: border-box;
}

.global__logos-track {
  display: flex;
  align-items: center;
  gap: 4rem;
  /* 40px */
  width: max-content;
  height: 100%;
  animation: global-logos-marquee 35s linear infinite;
  will-change: transform;
}

.global__logos:hover .global__logos-track,
.global__logos:focus-within .global__logos-track {
  animation-play-state: paused;
}

@keyframes global-logos-marquee {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .global__logos-track {
    animation: none;
  }
}

.global__country {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 1.2rem;
  width: 17.1rem;
  /* 171px */
  text-align: center;
}

.global__flag {
  position: relative;
  width: 8rem;
  /* 80px */
  height: 8rem;
  border-radius: 50%;
  background-image: url("../images/global-flag-ring.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.global__flag-img {
  position: absolute;
  inset: 0.9rem;
  width: 6.2rem;
  height: 6.2rem;
  border-radius: 50%;
  object-fit: cover;
}

.global__country-name {
  margin: 0;
  font-family: var(--secondary-font);
  font-weight: 400;
  font-size: 3rem;
  /* 30px */
  line-height: 4rem;
  color: var(--black);
  white-space: nowrap;
}

/* ==========================================
   TESTIMONIALS (Figma 549:169)
========================================== */

.testimonial {
  position: relative;
  width: 100%;
  overflow: hidden;
  /* Navy gradient + pattern (CSS — not ACF) */
  background-color: var(--navy);
  background-image:
    linear-gradient(to bottom, rgba(28, 66, 136, 0.92) 0%, rgba(18, 46, 99, 0.94) 90%),
    url("../images/testimonial-bg.webp");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.testimonial__inner {
  position: relative;
  z-index: var(--z-base);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5rem;
  width: 100%;
  max-width: 192rem;
  margin-inline: auto;
  padding-inline: var(--container-pad);
  padding-block: 25rem 15rem;
  box-sizing: border-box;
}

.testimonial__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.2rem;
  /* 40px */
  width: 100%;
  max-width: 53.2rem;
  /* 532px */
  text-align: center;
  color: var(--white);
}

.testimonial__eyebrow {
  margin: 0;
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 2.2rem;
  line-height: normal;
  text-transform: uppercase;
  color: var(--white);
}

.testimonial__title {
  margin: 0;
  font-family: var(--secondary-font);
  font-weight: 400;
  font-size: 5.5rem;
  line-height: 7rem;
  color: var(--white);
}

.testimonial__title span,
.testimonial__title-accent {
  color: var(--orange);
}

.testimonial__carousel {
  position: relative;
  width: 100%;
  max-width: 144rem;
  /* 1440px */
}

.testimonial__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 1.9rem;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  transition: opacity 0.2s ease;
}

.testimonial-wrapper {
  position: relative;
}

.testimonial__arrow.testimonial__arrow--prev {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -2.4rem;
}

.testimonial__arrow.testimonial__arrow--next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -2.4rem;
}

.testimonial__arrow:hover,
.testimonial__arrow:focus-visible {
  opacity: 0.7;
}

.testimonial__arrow:disabled,
.testimonial__arrow.swiper-button-disabled {
  opacity: 0.35;
  cursor: default;
}

.testimonial__arrow img,
.testimonial__arrow svg {
  display: block;
  width: 3rem;
  height: 1.9rem;
  filter: brightness(0) invert(1);
}

.testimonial__arrow--prev img,
.testimonial__arrow--prev svg {
  transform: rotate(180deg);
}

.testimonial__swiper {
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  overflow: hidden;
}

.testimonial__swiper .swiper-wrapper {
  align-items: stretch;
}

.testimonial__slide {
  width: 100%;
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 3rem;
  text-align: center;
  box-sizing: border-box;
  padding-inline: 2rem;
}

.testimonial__quote {
  margin: 0;
  max-width: 109rem;
  /* 1090px */
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 2.2rem;
  line-height: 3.2rem;
  color: var(--white);
}

.testimonial__quote p {
  margin: 0;
  font: inherit;
  color: inherit;
}

.testimonial__author {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  /* 15px */
}

.testimonial__photo {
  width: 7.5rem;
  /* 75px */
  height: 7.5rem;
  border-radius: 10rem;
  overflow: hidden;
}

.testimonial__photo img,
.testimonial__photo-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10rem;
}

.testimonial__name {
  margin: 0;
  font-family: var(--primary-font);
  font-weight: 600;
  font-size: 1.8rem;
  /* 18px */
  line-height: normal;
  color: var(--orange);
  text-transform: uppercase;
  text-align: center;
}

/* ==========================================
   LATEST STORIES (Figma 549:132)
========================================== */

.stories {
  width: 100%;
  background-color: var(--white);
  padding-block: 15rem;
}

.stories__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 9rem;
  /* 43px */
  width: 100%;
  max-width: 192rem;
  margin-inline: auto;
  padding-inline: var(--container-pad);
  box-sizing: border-box;
}

.stories__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.2rem;
  /* 40px */
  width: 100%;
  max-width: 90rem;
  /* 848px */
  text-align: center;
}

.stories__eyebrow {
  margin: 0;
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 2.2rem;
  line-height: normal;
  color: var(--navy);
  text-transform: uppercase;
}

.stories__title {
  margin: 0;
  font-family: var(--secondary-font);
  font-weight: 400;
  font-size: 5.5rem;
  line-height: 7rem;
  color: var(--black);
}

.stories__title span,
.stories__title-accent {
  color: var(--orange);
}

.stories__text {
  margin: 0;
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 2.2rem;
  line-height: 3.2rem;
  color: var(--black);
  text-align: center;
}

.stories__text p {
  margin: 0;
  font: inherit;
}

.stories__more {
  display: block;
  margin: 4rem auto 0;
  width: fit-content;
}

.stories__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10.3rem;
  /* 103px — Figma column gap */
  width: 100%;
  margin-block-start: 0;
  /* ~96px - 43px visual with header gap */
  align-items: start;
}

.stories__item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3.5rem;
  /* 35px */
  min-width: 0;
}

.stories__media {
  width: 100%;
  height: 37.5rem;
  /* 375px */
  border-radius: 1rem;
  /* 10px */
  overflow: hidden;
}

.stories__media--default {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--gray-500);
  padding: 4rem;
  box-sizing: border-box;
}

.stories__item:nth-child(even) .stories__media {
  height: 26.9rem;
  /* 269px — Figma middle card */
}

.stories__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  transition: all 0.5s ease;
}

.stories__item:hover .stories__img {
  transform: scale(1.05);
}

.stories__img--logo {
  width: auto;
  max-width: 60%;
  height: auto;
  max-height: 70%;
  object-fit: contain;
}

.stories__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2rem;
  width: 100%;
}

.stories__item-title {
  margin: 0;
  font-family: var(--secondary-font);
  font-weight: 600;
  font-size: 3rem;
  /* 30px */
  line-height: 4rem;
  /* 40px */
  color: var(--black);
}

.stories__item-title a {
  color: inherit;
  text-decoration: none;
}

.stories__item-title a:hover,
.stories__item-title a:focus-visible {
  color: var(--navy);
}

.stories__excerpt {
  margin: 0;
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 2.2rem;
  line-height: 3.2rem;
  color: var(--black);
}

.stories__excerpt p {
  margin: 0;
  font: inherit;
}

.stories__read-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1.2rem 1.5rem;
  border: 0.1rem solid var(--navy);
  border-radius: 1rem;
  background: transparent;
  color: var(--navy);
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1;
  text-decoration: none;
  transition: background-color 0.25s ease, color 0.25s ease;
}

.stories__read-more:hover,
.stories__read-more:focus-visible {
  background: var(--navy);
  color: var(--white);
}

/* ==========================================
   INSTAGRAM (Figma 549:27)
========================================== */

.instagram {
  position: relative;
  overflow: hidden;
  min-height: 60rem;
  /* 600px */
  padding-block: 11.9rem 10.8rem;
  /* header + feed strip */
  /* Theme asset — not ACF (Figma 549:28) */
  /*background-color: var(--beige);*/
  background-image: url("../images/insta_bg.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.instagram__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3rem;
  /* 33px — Figma heading to feed */
  width: 100%;
}

.instagram__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.2rem;
  max-width: 50rem;
  /* 476px */
  text-align: center;
}

.instagram__eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1.9rem;
  /* icon to handle — Figma ~44px offset */
}

.instagram__icon {
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  flex-shrink: 0;
}

.instagram__handle {
  margin: 0;
  text-decoration: none;
  transition: color 0.25s ease;
}

.instagram__handle:hover,
.instagram__handle:focus-visible {
  color: var(--orange);
}

.instagram__title {
  margin: 0;
}

.instagram__feed {
  position: relative;
  width: 100%;
  min-height: 24.5rem;
  /* 245px — Figma feed strip */
  padding-block: 1.7rem 1.8rem;
  display: flex;
  align-items: center;
}

.instagram__feed::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgb(255 188 24 / 40%);
  filter: grayscale(0.3);
  pointer-events: none;
  z-index: 0;
}

/* Smash Balloon + common Instagram feed plugins */
.instagram__feed>* {
  position: relative;
  z-index: 1;
}

#sb_instagram {
  overflow: hidden;
  position: relative;
  padding: 0 !important;
}

#sbi_images {
  display: flex !important;
  padding: 0 !important;
  gap: 3.5rem !important;
}

#sb_instagram .sbi_photo img {
  height: 100% !important;
  transition: 0.5s;
}

#sb_instagram .sbi_photo:hover img {
  transform: scale(1.1);
}

.sbi_photo {
  height: 21rem !important;
  border-radius: 0.6rem;
  overflow: hidden;
}


.instagram__feed .swiper-button-prev::after,
.instagram__feed .swiper-button-prev svg,
.instagram__feed .swiper-button-next::after,
.instagram__feed .swiper-button-next svg {
  display: none;
}

.instagram__feed .swiper-button-prev,
.instagram__feed .swiper-button-next {
  width: 5rem !important;
  height: 5rem !important;
  border-radius: 50%;
  border: 0.2rem solid var(--orange);
  background: var(--white);
  transition: all 0.5s ease;
}

.instagram__feed .swiper-button-prev:hover,
.instagram__feed .swiper-button-next:hover {
  background: var(--orange);
  border-color: var(--orange);
}

.instagram__feed .swiper-button-prev:focus,
.instagram__feed .swiper-button-next:focus {
  outline: none;
}

.instagram__feed .swiper-button-prev span,
.instagram__feed .swiper-button-next span {
  color: var(--white);
  font-size: 2.2rem;
  transition: all 0.5s ease;
}

.instagram__feed .swiper-button-prev:hover span,
.instagram__feed .swiper-button-next:hover span {
  color: var(--orange);
}

.instagram__feed .swiper-button-next::after,
.instagram__feed .swiper-button-prev::after {
  display: block;
  font-size: 3.5rem;
  line-height: 3.5rem;
  color: var(--black);
  transition: all 0.5s ease;
}

.instagram__feed .swiper-button-next::after {
  content: ">";
}

.instagram__feed .swiper-button-prev::after {
  content: "<";
}

.instagram__feed .swiper-button-next:hover::after,
.instagram__feed .swiper-button-prev:hover::after {
  color: var(--white);
}

/* ==========================================
   SITE FOOTER (Figma 638:81)
========================================== */

.site-footer {
  background: linear-gradient(180deg, var(--navy) 0%, var(--navy-200) 90%);
  color: var(--white);
  overflow: hidden;
}

.site-footer__main {
  display: grid;
  grid-template-columns: minmax(0, 55.2rem) minmax(0, 1fr);
  gap: 9.6rem;
  align-items: center;
  padding-block: 5.6rem 3.8rem;
  position: relative;
}

.site-footer__main::after {
  content: "";
  position: absolute;
  top: 0rem;
  bottom: 3.8rem;
  left: calc(55.2rem + 13rem);
  width: 0.1rem;
  background: rgba(255, 255, 255, 0.2);
}

.site-footer__brand {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
  max-width: 55.2rem;
}

.site-footer__logo {
  display: inline-flex;
  max-width: 24.1rem;
}

.site-footer__logo-img,
.site-footer__logo .custom-logo,
.site-footer__logo img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
}

.site-footer__tagline {
  margin: 0;
  font-family: var(--secondary-font);
  font-weight: 400;
  font-size: 5rem;
  line-height: 6rem;
  color: var(--white);
}

.site-footer__tagline em {
  font-style: italic;
  color: var(--orange);
}

.site-footer__text {
  margin: 0;
  max-width: 52rem;
  font-family: var(--primary-font);
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 3rem;
  color: var(--white-70);
}

.site-footer__text p {
  margin: 0;
}

.site-footer__menu .menu-item.current-menu-item a {
  color: var(--orange);
}

/* Contact Form 7 — newsletter */
.pkf-newsletter-row br {
  display: none;
}

.site-footer__newsletter .wpcf7 {
  width: 100%;
  max-width: 55.2rem;
}

.site-footer__newsletter .wpcf7-form {
  position: relative;
  margin: 0;
}

.site-footer__newsletter .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

.site-footer__newsletter input[type="email"],
.site-footer__newsletter input[type="text"] {
  width: 100%;
  padding: 0 3rem 1.2rem 0;
  border: 0;
  border-bottom: 0.1rem solid var(--white);
  border-radius: 0;
  background: transparent;
  color: var(--white);
  font-family: var(--primary-font);
  font-size: 3rem;
  line-height: 1;
}

.site-footer__newsletter input::placeholder {
  color: var(--gray-700);
  font-size: 3rem;
  line-height: 1;
  opacity: 0.3;
}

.site-footer__newsletter input:focus {
  outline: none;
  border-bottom-color: var(--orange);
}

.site-footer__newsletter input[type="submit"],
.site-footer__newsletter button[type="submit"] {
  position: absolute;
  right: 0;
  top: 0.2rem;
  width: 4rem;
  height: 4rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: transparent;
  font-size: 0;
  cursor: pointer;
  z-index: 2;
}

.site-footer__newsletter .wpcf7-form>p:last-child::after,
.site-footer__newsletter .wpcf7-form p:has(.wpcf7-submit)::after,
.site-footer__newsletter .pkf-newsletter-row::after {
  content: "\ea6c";
  font-family: remixicon !important;
  font-size: 2rem;
  line-height: 1;
  color: var(--orange);
  position: absolute;
  right: 1rem;
  top: 1.3rem;
  pointer-events: none;
}

.site-footer__newsletter .wpcf7-form>p:last-child,
.site-footer__newsletter .wpcf7-form p:has(.wpcf7-submit),
.site-footer__newsletter .pkf-newsletter-row {
  position: relative;
  margin: 0;
}

.site-footer__newsletter .wpcf7-spinner {
  position: absolute;
  right: 2.4rem;
  bottom: 0.8rem;
}

.site-footer__newsletter .wpcf7-not-valid-tip,
.site-footer__newsletter .wpcf7-response-output {
  margin: 1rem 0 0;
  font-size: 1.4rem;
  color: var(--white);
}

.site-footer__right {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}

.site-footer__links {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 6rem;
  padding-bottom: 3rem;
  border-bottom: 0.1rem solid rgba(255, 255, 255, 0.2);
}

.site-footer__nav {
  min-width: 0;
}

.site-footer__heading {
  margin: 0 0 2rem;
  font-family: var(--secondary-font);
  font-weight: 500;
  font-size: 2.3rem;
  line-height: 3rem;
  color: var(--orange);
}

.site-footer__menu {
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-footer__menu li {
  margin: 0;
}

.site-footer__menu a {
  display: inline-block;
  color: var(--white);
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 2rem;
  line-height: 4.5rem;
  text-decoration: none;
  transition: color 0.25s ease;
}

.site-footer__menu a:hover,
.site-footer__menu a:focus-visible {
  color: var(--orange);
}

.site-footer__menu--columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, max-content));
  gap: 0 6rem;
}

.site-footer__bottom {
  display: flex;
  flex-wrap: wrap;
  gap: 4rem;
  align-items: flex-start;
  justify-content: space-between;
}

.site-footer__contact {
  max-width: 36.4rem;
}

.site-footer__email {
  display: inline-flex;
  align-items: center;
  gap: 1.8rem;
  color: var(--white);
  font-family: var(--primary-font);
  font-weight: 400;
  font-size: 2rem;
  line-height: 3rem;
  text-decoration: none;
  transition: color 0.25s ease;
}

.site-footer__email i {
  font-size: 2rem;
  line-height: 1;
}

.site-footer__email:hover,
.site-footer__email:focus-visible {
  color: var(--orange);
}

.site-footer__social-wrap {
  min-width: 0;
}

.site-footer__social {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-footer__social li {
  margin: 0;
}

.site-footer__social li a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4.5rem;
  height: 4.5rem;
  border: 0.1rem solid rgba(255, 255, 255, 0.55);
  border-radius: 50%;
  background: transparent;
  color: var(--white);
  text-decoration: none;
  transition: all 0.5s ease;
}

.site-footer__social li a i {
  font-size: 2rem;
  line-height: 1;
}

.site-footer__social li a:hover,
.site-footer__social li a:focus-visible {
  border-color: var(--orange);
  background: var(--orange);
  color: var(--white);
}

.site-footer__social-link--highlight {
  background: var(--orange);
  border-color: var(--orange);
  color: var(--white);
}

.site-footer__social-link--highlight:hover,
.site-footer__social-link--highlight:focus-visible {
  background: var(--orange-100);
  border-color: var(--orange-100);
  color: var(--white);
}

.site-footer__legal {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  padding-block: 1rem 2.2rem;
  border-top: 0.1rem solid var(--orange);
}

.site-footer__copyright {
  margin: 0;
  font-family: var(--primary-font);
  font-weight: 400;
  font-size: 2rem;
  line-height: 3rem;
  color: var(--white);
}

.site-footer__legal-menu {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-footer__legal-menu li {
  display: inline-flex;
  align-items: center;
  margin: 0;
}

.site-footer__legal-menu li+li::before {
  content: "|";
  margin-inline: 1.6rem;
  color: var(--white);
}

.site-footer__legal-menu a {
  color: var(--white);
  font-family: var(--primary-font);
  font-weight: 400;
  font-size: 2rem;
  line-height: 3rem;
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.25s ease;
}

.site-footer__legal-menu a:hover,
.site-footer__legal-menu a:focus-visible {
  color: var(--orange);
}

/* ==========================================
   INNER BANNER (Figma 769:263 — 1920×550)
   Structure: .innerbanner > .bannerimg + .bannerabs
   Common height for ALL inner pages: var(--inner-banner-height)
========================================== */

.innerbanner {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: var(--inner-banner-height);
  /* 550px — Figma common height */
  min-height: var(--inner-banner-height);
  margin: 0;
  padding: 0;
  background-color: var(--cream-banner, #fceccd);
}

.innerbanner .bannerimg {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
}

/* Desktop default (≥992px) */
.innerbanner .bannerimg__wrap {
  position: absolute;
  inset: 0;
  display: none;
  overflow: hidden;
}

.innerbanner .bannerimg__wrap--desktop {
  display: block;
}

.innerbanner .bannerimg img,
.innerbanner .bannerimg__img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center center;
}

.innerbanner .bannerabs {
  position: relative;
  z-index: var(--z-base);
  display: flex;
  align-items: flex-end;
  /* text sits in lower half like Figma (~275px from top) */
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  padding-block: 0 11rem;
  /* ~110px bottom → content starts ~275px in 550px frame */
}

/* Content: Figma width 712, gap 40 */
.innerbanner .banner-abs-innersec {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2rem;
  /* 40px eyebrow → heading */
  width: 100%;
  max-width: 71.2rem;
  /* 712px */
  box-sizing: border-box;
}

.innerbanner .banner-eyebrow {
  margin: 0;
  width: 100%;
}

.innerbanner .banner-abs-innersec .page-title {
  margin: 0;
  width: 100%;
  font-family: var(--secondary-font);
  font-weight: 400;
  font-size: 5.5rem;
  /* 55px */
  line-height: 7rem;
  /* 70px */
  color: var(--black);
  text-transform: capitalize;
}

/* ==========================================
   APNI BHASHA — ABOUT (Figma 769:258 — 1920×406)
========================================== */

.abal-about {
  position: relative;
  overflow: hidden;
  width: 100%;
  min-height: 40.6rem;
  /* 406px */
  display: flex;
  align-items: center;
  background-color: var(--white);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 100%;
}

.abal-about__inner {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  /* Figma: content inset ~284px → tighter than container 92px */
  padding-block: 10.5rem;
  /* 105px */
}

.abal-about__content {
  width: 100%;
  max-width: 135.1rem;
  /* 1351px — Figma text width */
  margin-inline: auto;
  text-align: center;
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 2.2rem;
  /* 22px */
  line-height: 3.2rem;
  /* 32px */
  color: var(--black);
}

.abal-about__content p {
  margin: 0 0 3.2rem;
}

.abal-about__content p:last-child {
  margin-bottom: 0;
}

/* ==========================================
   APNI BHASHA — QUOTE / VISION MISSION
   Figma 769:239 — blue area after About
========================================== */

.abal-quote {
  position: relative;
  width: 100%;
  /* Figma: navy → deeper navy */
  background: #fff;
  padding-block: 15rem 0rem;
  /* ~150px top */


}

.abal-quote:after {
  content: "";
  background: linear-gradient(180deg, #1C4288 0%, #122E63 90%);
  width: 100%;
  height: 91%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}

.abal-quote__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  position: relative;
  z-index: 2;
}

.abal-quote__quote {
  margin: 0;
  width: 100%;
  max-width: 173.6rem;
  font-family: var(--secondary-font);
  font-weight: 500;
  font-size: 3.5rem;
  /* 35px */
  line-height: 4.5rem;
  /* 45px */
  color: var(--white);
  text-align: center;
  margin-bottom: 24.3rem;
  /* with image — space for overlap */
}

/* No image — tighter gap before white card */
.abal-quote__quote--no-image {
  margin-bottom: 7.5rem;
}

.abal-quote__card {
  position: relative;
  width: 100%;
  max-width: 158.8rem;
  /* 1588px */
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 7.5rem;
  /* 75px */
  padding: 0 8.85rem 7.5rem;
  /* side inset ~88.5 → content 1441 */
  background: var(--white);
  border-radius: 2rem;
  /* 20px */
  box-shadow: 0 0.4rem 1rem rgba(18, 46, 99, 0.2);

}

/* No image — restore top padding (media normally overlaps upward) */
.abal-quote__card--no-image {
  padding-top: 7.5rem;
}

/* Image pulls up over the blue / into the card top */
.abal-quote__media {
  position: relative;
  width: 100%;
  max-width: 113.6rem;
  /* 1136px */
  margin-top: -18rem;
  /* overlap blue + card edge */
  border-radius: 2rem;
  overflow: hidden;
}

.abal-quote__img {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
  border-radius: 2rem;
  object-fit: cover;
}

.abal-quote__content {
  width: 100%;
  max-width: 144.1rem;
  /* 1441px */
  text-align: center;
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 2.2rem;
  /* 22px */
  line-height: 3.2rem;
  /* 32px */
  color: var(--black);
}

.abal-quote__content p {
  margin: 0 0 2.4rem;
}

.abal-quote__content p:last-child {
  margin-bottom: 0;
}

.abal-quote__vm {
  display: flex;
  align-items: stretch;
  gap: 2.65rem;
  /* ~26.5px */
  width: 100%;
  max-width: 144.1rem;
}

.abal-quote__box {
  flex: 1 1 0;
  min-width: 0;
  padding: 4.07rem 2.5rem;
  /* ~41 / 25 */
  border: 0.18rem solid var(--orange);
  /* ~1.8px */
  border-radius: 0.9rem;
  /* ~9px */
  box-sizing: border-box;
}

.abal-quote__box-title {
  margin: 0 0 3.17rem;
  /* ~32px gap */
  font-family: var(--secondary-font);
  font-weight: 700;
  font-size: 3rem;
  /* 30px */
  line-height: 4.07rem;
  /* ~41px */
  color: var(--orange);
}

.abal-quote__box-text {
  margin: 0;
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 2rem;
  /* 20px */
  line-height: 2.9rem;
  /* ~29px */
  color: var(--black);
}

/* ==========================================
   APNI BHASHA — OUR MOTTO (Figma 769:229 — 1920×1023)
   Overlaps blue quote section by ~142px (Figma y 2433 vs quote end 2575)
========================================== */

.abal-motto {
  position: relative;
  z-index: 1;
  width: 100%;
  margin-top: -15.2rem;
  /* pull up over blue section */
  padding-block: 29.2rem 15rem;
  /* 292 / 150 */
  background-color: #f7f4ef;
  overflow: hidden;
}

.abal-motto__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: var(--abal-motto-bg);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  opacity: 0.8;
  /* Figma */
}

.abal-motto--has-bg {
  background-color: transparent;
}

.abal-motto__inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 7.1rem;
  /* 71px — Figma */
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden;
}

.abal-motto__media {
  flex: 1 1 84.8rem;
  /* grow/shrink within container */
  width: 100%;
  max-width: 84.8rem;
  /* 848px */
  min-width: 0;
  aspect-ratio: 848 / 581;
  height: auto;
  border-radius: 2rem;
  /* 20px */
  overflow: hidden;
}

.abal-motto__img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center center;
  border-radius: 2rem;
}

.abal-motto__content {
  flex: 1 1 81.7rem;
  width: 100%;
  max-width: 81.7rem;
  /* 817px — stays inside .container */
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5rem;
  /* 50px */
  box-sizing: border-box;
}

.abal-motto__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4rem;
  /* 40px — title → text */
  width: 100%;
}

.abal-motto__title {
  margin: 0;
  width: 100%;
  font-family: var(--secondary-font);
  font-weight: 400;
  font-size: 5.5rem;
  /* 55px */
  line-height: 7rem;
  /* 70px */
  color: var(--black);
}

.abal-motto__title span {
  color: var(--orange);
}

.abal-motto__text {
  width: 100%;
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 2.2rem;
  /* 22px */
  line-height: 3.2rem;
  /* 32px */
  color: var(--black);
}

.abal-motto__text p {
  margin: 0;
}

.abal-motto__text p+p {
  margin-top: 0;
}

.abal-motto__text strong,
.abal-motto__text b {
  font-weight: 700;
}

/* Script card — Figma 769:236/237 (817×169, radius 10)
   No mix-blend on the card (darken made the white plate disappear on the mottled bg).
   Soft filter shadow for elevation. */
.abal-motto__script {
  position: relative;
  width: 100%;
  height: 16.9rem;
  /* 169px */
  padding: 0.9rem 5.2rem;
  /* 9px / 52px — image inset in Figma */
  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 1rem;
  /* 10px */
  box-sizing: border-box;
  isolation: isolate;
  /* keep children from blending with page bg */
  box-shadow: 0 0 10px rgba(159, 163, 239, 0.25);

}

.abal-motto__script-img {
  display: block;
  width: 100%;
  max-width: 71.4rem;
  /* 714px */
  height: 15.2rem;
  /* 152px */
  object-fit: contain;
  object-position: center center;
}

/* ==========================================
   APNI BHASHA — OUR ANTHEM (Figma 769:218)
========================================== */
.imagewith-video-sec {
  padding: 5rem 0 7rem;
}

.abal-anthem {
  position: relative;
  width: 100%;
  /* padding-block: 15rem;  150px */
  background-color: var(--white);
  padding: 10rem 0 7rem;
}



.abal-anthem__inner {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 5.4rem;
  /* 54px */
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden;
}

.abal-anthem__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 7.1rem;
  /* 71px — 1736 − 817 − 848 */
  width: 100%;

}

.abal-anthem:nth-child(even) .abal-anthem__top {
  flex-direction: row-reverse;
}

.abal-anthem__content {
  flex: 1 1 81.7rem;
  width: 100%;
  max-width: 81.7rem;
  /* 817px */
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4rem;
  /* 40px */
}

.abal-anthem__title {
  margin: 0;
  width: 100%;
  font-family: var(--secondary-font);
  font-weight: 400;
  font-size: 5.5rem;
  /* 55px */
  line-height: 7rem;
  /* 70px */
  color: var(--black);
}

.abal-anthem__title span {
  color: var(--orange);
}

.abal-anthem__subtitle {
  margin: 0;
  width: 100%;
  font-family: var(--primary-font);
  font-weight: 600;
  font-size: 3rem;
  /* 30px */
  line-height: 3.2rem;
  /* 32px */
  color: var(--black);
}

.abal-anthem__text {
  width: 100%;
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 2.2rem;
  /* 22px */
  line-height: 3.2rem;
  /* 32px */
  color: var(--black);
}

.abal-anthem__text p {
  margin: 0;
}

.abal-anthem__media {
  flex: 1 1 84.8rem;
  width: 100%;
  max-width: 84.8rem;
  /* 848px */
  min-width: 0;
  aspect-ratio: 848 / 581;
  border-radius: 2rem;
  /* 20px */
  overflow: hidden;
}

.abal-anthem__img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  border-radius: 2rem;
}

.abal-anthem__video {
  position: relative;
  width: 100%;
  aspect-ratio: 1736 / 764;
  border-radius: 2rem;
  overflow: hidden;
  background-color: #1a1a1a;
}

.abal-anthem__video-poster {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.abal-anthem__video-img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  border-radius: 2rem;
}

.abal-anthem__video-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(0, 0, 0, 0.3);
  border-radius: 2rem;
  pointer-events: none;
}

.abal-anthem__play {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 2;
  transform: translate(-50%, -50%);
  width: 10rem;
  /* 100px */
  height: 8rem;
  /* 80px */
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  line-height: 0;
}

.abal-anthem__play:hover,
.abal-anthem__play:focus-visible {
  opacity: 0.9;
}

.abal-anthem__play:focus-visible {
  outline: 0.2rem solid var(--orange);
  outline-offset: 0.4rem;
}

.abal-anthem__play-icon {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.abal-anthem__video.is-playing .abal-anthem__video-poster,
.abal-anthem__video.is-playing .abal-anthem__video-overlay,
.abal-anthem__video.is-playing .abal-anthem__play {
  display: none;
}

.abal-anthem__video-frame {
  position: absolute;
  inset: 0;
  z-index: 3;
  border-radius: 2rem;
  overflow: hidden;
}

.abal-anthem__video-frame iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

/* ==========================================
   OUR GUIDING LIGHT — REMEMBERING (Figma 769:405)
========================================== */

.ogl-remember {
  position: relative;
  width: 100%;
  padding-block: 11.5rem 15rem;
  /* 115 / 150 */
  background-color: #f7f1e8;
  overflow: hidden;
}

.ogl-remember__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: var(--ogl-remember-bg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

/* Soft white wash over textured bg — Figma gradient */
.ogl-remember__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(118deg,
      rgba(255, 255, 255, 0.6) 0.4%,
      rgba(255, 255, 255, 0.5) 73%,
      rgba(255, 255, 255, 0.2) 100%);
}

.ogl-remember--has-bg {
  background-color: transparent;
}

.ogl-remember__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 11.5rem;
  /* 115px — content → social */
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.ogl-remember__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6rem;
  /* 60px */
  width: 100%;
}

.ogl-remember__media {
  flex: 1 1 84.8rem;
  width: 100%;
  max-width: 84.8rem;
  /* 848px */
  min-width: 0;
  aspect-ratio: 848 / 629;
  border-radius: 2rem;
  overflow: hidden;
}

.ogl-remember__img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center bottom;
  border-radius: 2rem;
}

.ogl-remember__content {
  flex: 1 1 83.2rem;
  width: 100%;
  max-width: 83.2rem;
  /* 832px */
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4rem;
  /* 40px */
  box-sizing: border-box;
}

.ogl-remember__title {
  margin: 0;
  width: 100%;
  font-family: var(--secondary-font);
  font-weight: 400;
  font-size: 5.5rem;
  /* 55px */
  line-height: 7rem;
  /* 70px */
  color: var(--black);
}

.ogl-remember__title span {
  color: var(--orange);
}

.ogl-remember__text {
  width: 100%;
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 2.2rem;
  /* 22px */
  line-height: 3.2rem;
  /* 32px */
  color: var(--black);
}

.ogl-remember__text p {
  margin: 0 0 1.6rem;
}

.ogl-remember__text p:last-child {
  margin-bottom: 0;
}

/* Social row — lines + icons centered */
.ogl-remember__social {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4rem;
  width: 100%;
}

.ogl-remember__social-line {
  flex: 1 1 auto;
  height: 0;
  border-top: 0.1rem solid rgba(0, 0, 0, 0.35);
  min-width: 4rem;
}

.ogl-remember__social-list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  /* ~20px visual; Figma 65px center-to-center → 45 icon + 20 gap */
  list-style: none;
  margin: 0;
  padding: 0;
  flex-shrink: 0;
}

.ogl-remember__social-item {
  margin: 0;
  padding: 0;
}

.ogl-remember__social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.5rem;
  /* 45px */
  height: 4.5rem;
  border-radius: 50%;
  border: 0.1rem solid rgba(0, 0, 0, 0.35);
  background-color: var(--white);
  color: var(--black);
  text-decoration: none;
  font-size: 2rem;
  line-height: 1;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.ogl-remember__social-link i {
  font-family: remixicon !important;
  font-style: normal;
  line-height: 1;
}

.ogl-remember__social-link:hover,
.ogl-remember__social-link:focus-visible {
  background-color: var(--orange);
  border-color: var(--orange);
  color: var(--white);
  opacity: 1;
}

/* ==========================================
   OUR TEAM — MAIN HEADS (Figma 769:2082)
========================================== */

.team-heads {
  position: relative;
  width: 100%;
  background-color: #ebddc9;
  overflow: hidden;
}

.team-heads__inner {
  display: flex;
  align-items: stretch;
  width: 100%;
  min-height: 90rem;
  /* 900px */
}

.team-heads__featured {
  flex: 0 0 49%;
  /* ~940/1920 */
  max-width: 94rem;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 4.9rem 8rem;
  /* ~49 / 154 scaled */
  box-sizing: border-box;
  background-color: #ebddc9;
}

.team-heads__featured-card {
  width: 100%;
  max-width: 63.1rem;
  /* 631px */
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5rem;
  /* 50px */
}

.team-heads__featured-media {
  width: 100%;
  aspect-ratio: 631 / 676;
  border-radius: 1rem;
  /* 10px */
  overflow: hidden;
  background: #000;
}

.team-heads__featured-img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center top;
}

.team-heads__featured-info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.2rem;
  /* 25px */
}

.team-heads__side {
  flex: 1 1 51%;
  position: relative;
  display: flex;
  align-items: center;
  padding: 17.3rem 9.2rem 17.3rem 4rem;
  /* Figma py 173, pl 40, pr 92 */
  box-sizing: border-box;
  background-color: #f4ebe0;
  background-image: url("../images/team-heads-splash.webp");
  background-repeat: no-repeat;
  background-position: right center;
  background-size: cover;
}

.team-heads__side-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4rem;
  width: 100%;
  max-width: 84.8rem;
}

.team-heads__card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2.7rem;
  min-width: 0;
}

.team-heads__card-media {
  width: 100%;
  aspect-ratio: 404 / 440;
  border-radius: 1rem;
  overflow: hidden;
}

.team-heads__card-img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}

.team-heads__card-info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.8rem;
}

.team-heads__name {
  margin: 0;
  font-family: var(--secondary-font);
  font-weight: 500;
  font-size: 3rem;
  /* 30px */
  line-height: 1.2;
  color: var(--black);
}

.team-heads__name--lg {
  font-size: 5rem;
  /* 50px */
  line-height: 4rem;
  /* 40px — Figma tight */
}

.team-heads__role {
  margin: 0;
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 2rem;
  /* 20px side / 22 featured */
  line-height: 1.5;
  color: var(--black);
}

.team-heads__featured .team-heads__role {
  font-size: 2.2rem;
}

/* ==========================================
   OUR TEAM — TABS GRID (Figma 769:2048)
========================================== */

.team-tabs {
  position: relative;
  width: 100%;
  padding-block: 15rem;
  /* 150px */
  background-color: #f7f1e8;
  background-image: url("../images/team-tabs-bg.webp");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: cover;
  overflow: hidden;
}

.team-tabs::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(179deg,
      rgba(255, 255, 255, 0.5) 1%,
      rgba(255, 255, 255, 0) 99%);
}

.team-tabs__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4.5rem;
  /* 45px */
  width: 100%;
}

.team-tabs__nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 4rem;
  /* 40px */
}

.team-tabs__select-wrap {
  display: none;
  width: min(100%, 42rem);
  margin: 0;
}

.team-tabs__select-wrap .screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.team-tabs__select {
  appearance: none;
  -webkit-appearance: none;
  display: block;
  width: 100%;
  margin: 0;
  padding: 1.6rem 4.8rem 1.6rem 2.2rem;
  border: 0.1rem solid #cfcfcf;
  border-radius: 10rem;
  background-color: var(--white);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='10' viewBox='0 0 16 10'%3E%3Cpath fill='%231C4288' d='M1.4.6 8 7.2 14.6.6 16 2 8 10 0 2z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 2rem center;
  background-size: 1.4rem auto;
  color: var(--black);
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.3;
  cursor: pointer;
  box-sizing: border-box;
}

.team-tabs__select:focus-visible {
  outline: 0.2rem solid var(--orange);
  outline-offset: 0.3rem;
  border-color: var(--orange);
}

.team-tabs__btn {
  appearance: none;
  margin: 0;
  padding: 1.5rem 2.3rem;
  /* 21 / 23 */
  border: 0.1rem solid #cfcfcf;
  border-radius: 10rem;
  background: var(--white);
  color: var(--black);
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 1.8rem;
  /* 18px */
  line-height: 1.2;
  cursor: pointer;
  transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}

.team-tabs__btn.is-active,
.team-tabs__btn[aria-selected="true"] {
  background: var(--orange);
  border-color: var(--orange);
  color: var(--white);
}

.team-tabs__btn:focus-visible {
  outline: 0.2rem solid var(--navy);
  outline-offset: 0.3rem;
}

.team-tabs__divider {
  width: 100%;
  height: 0;
  border-top: 0.1rem solid rgba(0, 0, 0, 0.2);
}

.team-tabs__panels {
  width: 100%;
  margin-top: 0.5rem;
}

.team-tabs__panel {
  display: none;
  width: 100%;
}

.team-tabs__panel.is-active {
  display: block;
}

.team-tabs__grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 4rem;
  width: 100%;
}

.team-card {
  flex: 0 1 calc((100% - 12rem) / 4);
  width: calc((100% - 12rem) / 4);
  max-width: 40.4rem;
  min-width: 0;
}

.team-card__media {
  position: relative;
  width: 100%;
  aspect-ratio: 404 / 485;
  border-radius: 1rem;
  overflow: hidden;
}

.team-card__img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  transform: scale(1);
  transition: transform 0.55s ease;
  backface-visibility: hidden;
}

/* One-shot entrance zoom (class toggled by JS on tab change) */
.team-card__img.is-entering {
  animation: team-card-zoom 0.7s ease;
}

.team-card:hover .team-card__img,
.team-open:hover .team-card__img,
.team-open:focus-visible .team-card__img {
  transform: scale(1.08);
}

@keyframes team-card-zoom {
  from {
    transform: scale(1.12);
    opacity: 0.65;
  }

  to {
    transform: scale(1);
    opacity: 1;
  }
}

.team-card__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(180deg,
      rgba(0, 0, 0, 0) 42%,
      rgba(0, 0, 0, 0.9) 100%);
}

.team-card__info {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.2rem;
  padding: 2.7rem;
  box-sizing: border-box;
	text-align: left;
}

.team-card__name {
  margin: 0;
  font-family: var(--secondary-font);
  font-weight: 500;
  font-size: 3rem;
  /* 30px */
  line-height: 1.2;
  color: var(--white);
}

.team-card__role {
  margin: 0;
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 2rem;
  /* 20px */
  line-height: 1.5;
  color: var(--white);
}

/* Reset open triggers */
.team-open {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.team-heads__featured-info .team-open,
.team-heads__card-info .team-open {
  width: auto;
}

.team-open:focus-visible {
  outline: 0.2rem solid var(--orange);
  outline-offset: 0.4rem;
}

/* Image hover zoom — heads */
.team-heads__featured-media,
.team-heads__card-media {
  overflow: hidden;
}

.team-heads__featured-img,
.team-heads__card-img {
  transform: scale(1);
  transition: transform 0.55s ease;
  will-change: transform;
}

.team-heads__featured-card:hover .team-heads__featured-img,
.team-heads__card:hover .team-heads__card-img,
.team-open:hover .team-heads__featured-img,
.team-open:hover .team-heads__card-img,
.team-open:focus-visible .team-heads__featured-img,
.team-open:focus-visible .team-heads__card-img {
  transform: scale(1.08);
}

/* ==========================================
   OUR TEAM — MEMBER MODAL
========================================== */

.team-modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 3rem;
  box-sizing: border-box;
}

.team-modal[hidden] {
  display: none !important;
}

.team-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(28, 66, 136, 0.55);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  cursor: default;
}

.team-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(110rem, 100%);
  height: 62rem;
  /* fixed modal height */
  max-height: calc(100vh - 6rem);
  display: flex;
  background: var(--white);
  border-radius: 2rem;
  box-shadow: 0 2rem 6rem rgba(18, 46, 99, 0.28);
  overflow: hidden;
  outline: none;
}

.team-modal__close {
  position: absolute;
  top: 1.6rem;
  right: 1.6rem;
  z-index: 3;
  width: 4rem;
  height: 4rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(28, 66, 136, 0.08);
  color: var(--navy);
  font-size: 2.8rem;
  line-height: 1;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.team-modal__close:hover,
.team-modal__close:focus-visible {
  background: var(--orange);
  color: var(--white);
}

.team-modal__layout {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  width: 100%;
  height: 100%;
  min-height: 0;
}

.team-modal__dialog--no-image .team-modal__layout {
  grid-template-columns: 1fr;
}

.team-modal__dialog--no-image .team-modal__media {
  display: none;
}

.team-modal__dialog--no-image .team-modal__body {
  border-left: 0;
}

.team-modal__dialog--no-image .team-modal__scroll {
  padding-left: 5.5rem;
  padding-right: 5.5rem;
}

.team-modal__media {
  position: relative;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  background: #1a1a1a;
}

.team-modal__img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center top;
  transform: scale(1);
  transition: transform 0.6s ease;
}

.team-modal__img.is-no-image,
.team-heads__featured-img.is-no-image,
.team-heads__card-img.is-no-image,
.team-card__img.is-no-image {
  object-fit: cover;
  object-position: center center;
}

.team-modal__media:hover .team-modal__img {
  transform: scale(1.08);
}

.team-modal__body {
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
  background: linear-gradient(180deg, #fffdf8 0%, #ffffff 40%);
  border-left: 0.1rem solid rgba(28, 66, 136, 0.08);
}

.team-modal__scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 5rem 5.5rem 4rem 4.5rem;
  box-sizing: border-box;
  scrollbar-width: thin;
  scrollbar-color: var(--orange) rgba(28, 66, 136, 0.08);
}

.team-modal__scroll::-webkit-scrollbar {
  width: 0.6rem;
}

.team-modal__scroll::-webkit-scrollbar-track {
  background: rgba(28, 66, 136, 0.06);
  border-radius: 1rem;
}

.team-modal__scroll::-webkit-scrollbar-thumb {
  background: var(--orange);
  border-radius: 1rem;
}

.team-modal__name {
  margin: 0 0 1.2rem;
  padding-right: 4rem;
  font-family: var(--secondary-font);
  font-weight: 500;
  font-size: 4rem;
  line-height: 1.15;
  color: var(--navy);
}

.team-modal__role {
  margin: 0 0 2.4rem;
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.4;
  color: var(--orange);
}

.team-modal__bio {
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 3rem;
  color: var(--black-300);
}

.team-modal__bio p {
  margin: 0 0 1.6rem;
}

.team-modal__bio p:last-child {
  margin-bottom: 0;
}

.team-modal__role:empty,
.team-modal__bio:empty {
  display: none;
}

body.team-modal-open {
  overflow: hidden;
}

/* ==========================================
   ASSOCIATES & COLLABORATORS — PARTNERS (Figma 769:560 Body)
========================================== */

.partners {
  position: relative;
  width: 100%;
  padding-block: 11.5rem 15rem;
  background-color: #fdfcf9;
  overflow: hidden;
}

.partners::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  pointer-events: none;
  background-image: url("../images/Top.png");
  background-repeat: no-repeat;
  background-position: top;
  background-size: 100% auto;
  width: 100%;
  height: 74.8rem;
}

.partners__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5rem;
  width: 100%;
}

.partners__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5rem;
  width: 100%;
}

.partners__thumbs {
  position: relative;
  display: block;
  width: 100%;
}

.partners__thumbs-swiper {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  box-sizing: border-box;
  padding-bottom: 0.5rem;
}

.partners__thumbs.is-fit-all .partners__thumbs-swiper {
  overflow: visible;
}

.partners__thumbs.is-fit-all .swiper-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  column-gap: 4rem;
  row-gap: 1.6rem;
  transform: none !important;
}

.partners__thumbs.is-fit-all .swiper-slide {
  width: fit-content !important;
  margin: 0 !important;
}

.partners__thumbs.is-swiper-active .swiper-slide {
  flex-shrink: 0;
  box-sizing: border-box;
}

.partners__thumbs.is-swiper-active .swiper-slide:last-child {
  margin-right: 0 !important;
}

.partners__nav {
  box-sizing: border-box;
}

.partners__slide {
  width: auto;
  height: auto;
  box-sizing: border-box;
}

.partners__arrow {
  position: absolute;
  top: 50%;
  z-index: 2;
  display: none;
  align-items: center;
  justify-content: center;
  width: 4.4rem;
  height: 4.4rem;
  padding: 0;
  border: 0.1rem solid #cfcfcf;
  border-radius: 50%;
  background: var(--white);
  color: var(--navy);
  cursor: pointer;
  transform: translateY(-50%);
  transition:
    background-color 0.25s ease,
    border-color 0.25s ease,
    color 0.25s ease,
    opacity 0.25s ease;
}

.partners__thumbs.has-arrows .partners__arrow {
  display: inline-flex;
}

.partners__arrow--prev {
  left: -6rem;
}

.partners__arrow--next {
  right: -6rem;
}

.partners__arrow:hover,
.partners__arrow:focus-visible {
  border-color: var(--orange);
  background: var(--orange);
  color: var(--white);
  opacity: 1;
}

.partners__arrow:focus-visible {
  outline: 0.2rem solid var(--navy);
  outline-offset: 0.3rem;
}

.partners__arrow:disabled,
.partners__arrow.swiper-button-disabled {
  border-color: #e5e5e5;
  background: #f7f7f7;
  color: #b0b0b0;
  opacity: 1;
  cursor: default;
  pointer-events: none;
}

.partners__arrow-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.2rem;
  height: 1.2rem;
}

.partners__arrow-icon svg {
  display: block;
  width: 1.2rem;
  height: 1.2rem;
}

.partners__select-wrap {
  display: none;
  width: min(100%, 42rem);
  margin: 0;
}

.partners__select-wrap .screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.partners__select {
  appearance: none;
  -webkit-appearance: none;
  display: block;
  width: 100%;
  margin: 0;
  padding: 1.6rem 4.8rem 1.6rem 2.2rem;
  border: 0.1rem solid #cfcfcf;
  border-radius: 10rem;
  background-color: var(--white);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='10' viewBox='0 0 16 10'%3E%3Cpath fill='%231C4288' d='M1.4.6 8 7.2 14.6.6 16 2 8 10 0 2z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 2rem center;
  background-size: 1.4rem auto;
  color: var(--black);
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.3;
  cursor: pointer;
  box-sizing: border-box;
}

.partners__select:focus-visible {
  outline: 0.2rem solid var(--orange);
  outline-offset: 0.3rem;
  border-color: var(--orange);
}

.partners__btn {
  appearance: none;
  width: fit-content;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 1rem 2.3rem;
  border: 0.1rem solid #cfcfcf;
  border-radius: 10rem;
  background: var(--white);
  color: var(--black);
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.8;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease;
  width: 100%;
}

.partners__btn:hover {
  border-color: var(--orange);
}

.partners__btn.is-active,
.partners__btn[aria-pressed="true"] {
  background: var(--orange);
  border-color: var(--orange);
  color: var(--white);
}

.partners__btn:focus-visible {
  outline: 0.2rem solid var(--navy);
  outline-offset: 0.3rem;
}

.partners__divider {
  width: 100%;
  height: 0;
  border-top: 0.1rem solid rgba(0, 0, 0, 0.2);
}

.partners__panels {
  width: 100%;
  overflow: hidden;
}

.partners__panel {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5rem;
  width: 100%;
  height: auto;
  box-sizing: border-box;
}

.partners__grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  column-gap: 3.2rem;
  row-gap: 2.7rem;
  width: 100%;
}

.partners__card {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 18.9rem;
  width: 18.9rem;
  height: 18.9rem;
  padding: 2.4rem;
  box-sizing: border-box;
  background: var(--white);
  border: 0.1rem solid #e1e1e1;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.partners__card.is-hidden,
.partners__card[hidden] {
  display: none !important;
}

.partners__card:hover,
.partners__card:focus-visible {
  border-color: var(--orange);
  box-shadow: 0 0.8rem 2.4rem rgba(28, 66, 136, 0.08);
}

.partners__card:focus-visible {
  outline: 0.2rem solid var(--orange);
  outline-offset: 0.2rem;
}

/* Partner gallery: always render as <img>, never rely on inlined <svg>. */
.partners__logo,
.partners__card img.partners__logo {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
}

/* If SVG Support still inlines, keep sizing so the card is not empty. */
.partners__card svg.partners__logo,
.partners__card svg.replaced-svg {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}

.partners__load-more {
  appearance: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  font-family: var(--secondary-font);
  font-weight: 400;
  font-size: 2rem;
  line-height: 1.2;
  text-transform: capitalize;
  color: var(--orange);
  cursor: pointer;
  transition: opacity 0.2s ease;
}

.partners__load-more:hover,
.partners__load-more:focus-visible {
  opacity: 0.75;
}

.partners__load-more:focus-visible {
  outline: 0.2rem solid var(--orange);
  outline-offset: 0.4rem;
}

.partners__load-more[hidden] {
  display: none !important;
}

/* ==========================================
   STORIES & UPDATES — BLOG LISTING (Figma 769:2547)
========================================== */

.blog-list {
  position: relative;
  width: 100%;
  padding-block: 11.5rem 15rem;
  background: var(--white);
}

.blog-list__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6.8rem;
  width: 100%;
}

.blog-list__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 4rem;
  row-gap: 6.8rem;
  width: 100%;
  align-items: stretch;
}

.blog-list__card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4rem;
  min-width: 0;
  height: 100%;
  margin: 0;
  padding: 2rem 2rem 2.8rem;
  border-radius: 1rem;
  border: 0.1rem solid rgba(28, 66, 136, 0.08);
  background: linear-gradient(165deg, #fffdf8 0%, var(--white) 55%);
  box-shadow: 0 0.8rem 2.4rem rgba(28, 66, 136, 0.04);
  transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease, background 0.3s ease;
}

.blog-list__card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 3.2rem;
  right: 3.2rem;
  height: 0.3rem;
  border-radius: 0 0 0.4rem 0.4rem;
  background: var(--orange);
  opacity: 0;
  transform: scaleX(0.4);
  transform-origin: left center;
  transition: opacity 0.3s ease, transform 0.35s ease;
}

.blog-list__card:hover,
.blog-list__card:focus-within {
  border-color: rgba(249, 157, 38, 0.45);
  background: linear-gradient(165deg, #fff8ec 0%, #fffdf8 60%);
  box-shadow: 0 1.4rem 3.6rem rgba(28, 66, 136, 0.08);
  transform: translateY(-0.4rem);
}

.blog-list__card:hover::before,
.blog-list__card:focus-within::before {
  opacity: 1;
  transform: scaleX(1);
}

.blog-list__media {
  display: block;
  width: 100%;
  aspect-ratio: 948 / 533;
  border-radius: 1rem;
  overflow: hidden;
  text-decoration: none;
  background: #e9ded2;
}

.blog-list__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.35s ease;
}

.blog-list__img--placeholder {
  min-height: 100%;
  background: linear-gradient(135deg, #e9ded2 0%, #f7f1e8 100%);
}

.blog-list__card:hover .blog-list__img {
  transform: scale(1.03);
}

.blog-list__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4rem;
  width: 100%;
  flex: 1 1 auto;
}

.blog-list__title {
  margin: 0;
  font-family: var(--secondary-font);
  font-weight: 400;
  font-size: 3rem;
  line-height: 4.1rem;
  color: var(--navy);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  min-height: calc(2 * 4.1rem);
}

.blog-list__title a {
  color: inherit;
  text-decoration: none;
}

.blog-list__title a:hover,
.blog-list__title a:focus-visible {
  color: var(--orange);
}

.blog-list__excerpt {
  margin: 0;
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 2.2rem;
  line-height: 3.2rem;
  color: var(--black);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  min-height: calc(3 * 3.2rem);
  flex: 1 1 auto;
}

.blog-list__more {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  margin: auto 0 0;
  padding: 2rem 0 0;
  border: 0;
  width: 100%;
  background: transparent;
  color: var(--orange);
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 2rem;
  line-height: 2.9rem;
  text-decoration: none;
  border-top: 0.1rem solid rgba(28, 66, 136, 0.08);
  transition: opacity 0.2s ease;
}

.blog-list__more i {
  font-size: 2.4rem;
  line-height: 1;
}

.blog-list__more:hover,
.blog-list__more:focus-visible {
  opacity: 0.8;
}

.blog-list__more:focus-visible {
  outline: 0.2rem solid var(--orange);
  outline-offset: 0.3rem;
}

.blog-list__load-more {
  appearance: none;
  margin: 0;
  border: 0;
  background: transparent;
  font-family: var(--secondary-font);
  font-weight: 400;
  font-size: 2rem;
  line-height: 2rem;
  padding: 1.8rem 4rem;
  text-transform: uppercase;
  color: var(--white);
  cursor: pointer;
  background-color: var(--orange);
  border-radius: 1rem;
  transition: opacity 0.2s ease;
}

.blog-list__load-more:hover,
.blog-list__load-more:focus-visible {
  opacity: 0.75;
}

.blog-list__load-more:focus-visible {
  outline: 0.2rem solid var(--orange);
  outline-offset: 0.4rem;
}

.blog-list__load-more[hidden],
.blog-list__load-more.is-loading {
  pointer-events: none;
}

.blog-list__load-more.is-loading {
  opacity: 0.5;
}

.blog-list__empty {
  margin: 0;
  font-family: var(--primary-font);
  font-size: 1.8rem;
  color: var(--black);
  text-align: center;
}

/* ==========================================
   PRESS RELEASE LISTING
========================================== */

.press-list {
  background:
    linear-gradient(180deg, #fffaf2 0%, var(--white) 18rem, var(--white) 100%);
}

.press-list .blog-list__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 3.2rem;
  row-gap: 3.2rem;
  align-items: stretch;
}

.press-list__card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2rem;
  min-width: 0;
  height: 100%;
  margin: 0;
  padding: 3.6rem 3.2rem 3.2rem;
  border: 0.1rem solid rgba(28, 66, 136, 0.08);
  border-radius: var(--radius-md);
  background:
    linear-gradient(165deg, #fffdf8 0%, var(--white) 55%);
  box-shadow: 0 0.8rem 2.4rem rgba(28, 66, 136, 0.04);
  transition:
    border-color 0.3s ease,
    box-shadow 0.3s ease,
    transform 0.3s ease,
    background 0.3s ease;
}

.press-list__card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 3.2rem;
  right: 3.2rem;
  height: 0.3rem;
  border-radius: 0 0 0.4rem 0.4rem;
  background: var(--orange);
  opacity: 0;
  transform: scaleX(0.4);
  transform-origin: left center;
  transition: opacity 0.3s ease, transform 0.35s ease;
}

.press-list__card:hover,
.press-list__card:focus-within {
  border-color: rgba(249, 157, 38, 0.45);
  background: linear-gradient(165deg, #fff8ec 0%, #fffdf8 60%);
  box-shadow: 0 1.4rem 3.6rem rgba(28, 66, 136, 0.08);
  transform: translateY(-0.4rem);
}

.press-list__card:hover::before,
.press-list__card:focus-within::before {
  opacity: 1;
  transform: scaleX(1);
}

/* Full-card hit area (keeps real links above for a11y) */
.press-list__hit {
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
  text-indent: -9999px;
  overflow: hidden;
}

.press-list__title,
.press-list__more {
  position: relative;
  z-index: 2;
}

.press-list__meta {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  margin: 0;
  padding: 0.6rem 1.2rem;
  border-radius: 0.6rem;
  background: rgba(252, 236, 205, 0.65);
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1;
  color: var(--black-300);
}

.press-list__meta i {
  font-size: 1.6rem;
  color: var(--orange);
}

.press-list__title {
  margin: 0;
  width: 100%;
  font-family: var(--secondary-font);
  font-weight: 400;
  font-size: 2.8rem;
  line-height: 3.6rem;
  color: var(--navy);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  min-height: calc(3 * 3.6rem);
}

.press-list__title a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s ease;
}

.press-list__title a:hover,
.press-list__title a:focus-visible,
.press-list__card:hover .press-list__title a {
  color: var(--orange);
}

.press-list__excerpt {
  margin: 0;
  width: 100%;
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 2.8rem;
  color: var(--black-100);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  min-height: calc(3 * 2.8rem);
  flex: 1 1 auto;
}

.press-list__more {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  margin-top: auto;
  padding-top: 2rem;
  width: 100%;
  border-top: 0.1rem solid rgba(28, 66, 136, 0.08);
  color: var(--orange);
  font-family: var(--primary-font);
  font-weight: 600;
  font-size: 1.8rem;
  line-height: 2.6rem;
  text-decoration: none;
  transition: color 0.2s ease, gap 0.25s ease;
}

.press-list__more i {
  font-size: 2.2rem;
  line-height: 1;
  transition: transform 0.25s ease;
}

.press-list__card:hover .press-list__more,
.press-list__more:hover,
.press-list__more:focus-visible {
  color: var(--orange-100);
}

.press-list__card:hover .press-list__more i,
.press-list__more:hover i,
.press-list__more:focus-visible i {
  transform: translateX(0.4rem);
}

.press-list__more:focus-visible {
  outline: 0.2rem solid var(--orange);
  outline-offset: 0.3rem;
}

.press-list .blog-list__load-more {
  margin-top: 1.2rem;
}

/* ==========================================
   STORY SINGLE — DETAIL (Figma 769:2971)
========================================== */

.story-single {
  width: 100%;
  /* Figma: content block starts ~222px from page top (clears fixed 107px header) */
  padding-top: 22.2rem;
  padding-bottom: 12rem;
  background: var(--white);
  overflow-x: hidden;
}

.story-single__inner {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 6rem;
  width: 100%;
  max-width: 144rem;
  margin-inline: auto;
}

.story-single__header {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 4.4rem;
  width: 100%;
}

.story-single__title {
  margin: 0 auto;
  max-width: 97.4rem;
  font-family: var(--secondary-font);
  font-weight: 400;
  font-size: 5.5rem;
  line-height: 7rem;
  color: var(--navy);
  text-align: center;
  text-transform: capitalize;
}

.single-press_release .story-single__title {
  max-width: 100%;
}

.single-press_release .story-single__inner {
  max-width: 100%;
}

.story-single__date {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 1rem;
  margin: 0;
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 2rem;
  line-height: 3.2rem;
  color: var(--black);
}

.story-single__date i {
  font-size: 2rem;
  line-height: 1;
  color: #8a8a8a;
}

.blog-categories {
  width: 100%;
  margin-top: 0;
}

.blog-categories ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 1.2rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.blog-categories li {
  margin: 0;
  padding: 0;
  list-style: none;
}

.blog-categories a {
  display: inline-flex;
  align-items: center;
  padding: 0.8rem 2rem;
  border-radius: 10rem;
  background: var(--orange);
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 2.4rem;
  color: var(--white);
  text-decoration: none;
  transition: background-color 0.2s ease, opacity 0.2s ease;
}

.blog-categories a:hover,
.blog-categories a:focus-visible,
.blog-categories .current-cat>a {
  background: var(--navy);
  color: var(--white);
  opacity: 1;
  text-decoration: none;
}

.story-single__content .blog-categories a,
.story-single__content .blog-categories a:hover,
.story-single__content .blog-categories a:focus-visible {
  color: var(--white);
  text-decoration: none;
  text-underline-offset: unset;
  text-decoration-thickness: unset;
}

.story-single__content .blog-categories a:focus-visible {
  outline: 0.2rem solid var(--navy);
  outline-offset: 0.2rem;
}

/* Archive category list (desktop) + dropdown (≤767) */
.blog-list__inner .archive-blog-categories {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin-bottom: 3rem;
}

.archive-blog-categories__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.archive-blog-categories__list li {
  margin: 0;
  padding: 0;
  list-style: none;
}

.archive-blog-categories__list a {
  display: inline-flex;
  align-items: center;
  padding: 1rem 2.4rem;
  border: 0.1rem solid #d0d0d0;
  border-radius: 10rem;
  background: var(--white);
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 2.4rem;
  color: var(--black);
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.archive-blog-categories__list a:hover,
.archive-blog-categories__list a:focus-visible {
  border-color: var(--orange);
  color: var(--orange);
  background: var(--white);
}

.archive-blog-categories__list .current-cat>a,
.archive-blog-categories__list .current-cat>a:hover,
.archive-blog-categories__list .current-cat>a:focus-visible {
  background: var(--orange);
  border-color: var(--orange);
  color: var(--white);
}

.archive-blog-categories__select {
  display: none;
  width: 100%;
  max-width: 42rem;
  margin: 0 auto;
  padding: 1.4rem 4.8rem 1.4rem 2.4rem;
  border: 0.1rem solid #d0d0d0;
  border-radius: 10rem;
  background-color: var(--white);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23333333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 2rem center;
  background-size: 1.6rem 1.6rem;
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 2.4rem;
  color: var(--black);
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
}

.archive-blog-categories__select:focus {
  outline: 0.2rem solid var(--orange);
  outline-offset: 0.2rem;
}

/* Single story — fixed category box (desktop >1200) */
.story-categories-box {
  position: fixed;
  top: 50%;
  right: 2.4rem;
  z-index: 30;
  width: 22rem;
  max-height: calc(100vh - 12rem);
  overflow: auto;
  padding: 2rem;
  border-radius: 1rem;
  background: var(--cream-banner, #fcedcf);
  transform: translateY(-50%);
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}

.story-categories-box.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.story-categories-box__title {
  margin: 0 0 1.6rem;
  font-family: var(--primary-font);
  font-weight: 600;
  font-size: 2.2rem;
  line-height: 3rem;
  color: var(--black);
}

.story-categories-box .blog-categories ul {
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 0;
}

.story-categories-box .blog-categories li {
  width: 100%;
  border-bottom: 0.1rem solid rgba(0, 0, 0, 0.12);
}

.story-categories-box .blog-categories li:last-child {
  border-bottom: 0;
}

.story-categories-box .blog-categories a {
  display: flex;
  width: 100%;
  justify-content: flex-start;
  padding: 1.2rem 0;
  border-radius: 0;
  background: transparent;
  color: var(--navy);
  font-size: 1.5rem;
  line-height: 2.2rem;
}

.story-categories-box .blog-categories a:hover,
.story-categories-box .blog-categories a:focus-visible,
.story-categories-box .blog-categories .current-cat>a {
  background: transparent;
  color: var(--orange);
}

@media (max-width: 1200px) {
  .story-categories-box-wrap.container {
    margin-top: 4rem;
    margin-bottom: 0;
  }

  .story-categories-box {
    position: static;
    top: auto;
    right: auto;
    width: 100%;
    max-width: none;
    max-height: none;
    margin: 0;
    padding: 2.4rem;
    transform: none;
  }

  .story-categories-box.is-hidden {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .story-categories-box .blog-categories ul {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1.2rem;
  }

  .story-categories-box .blog-categories li {
    width: auto;
    border-bottom: 0;
  }

  .story-categories-box .blog-categories a {
    width: auto;
    padding: 0.8rem 2rem;
    border-radius: 10rem;
    background: var(--orange);
    color: var(--white);
  }

  .story-categories-box .blog-categories a:hover,
  .story-categories-box .blog-categories a:focus-visible,
  .story-categories-box .blog-categories .current-cat>a {
    background: var(--navy);
    color: var(--white);
  }
}

.blog-list__inner>.blog-categories:not(.archive-blog-categories) {
  display: none;
}

.story-single__featured {
  margin: 0;
  width: 100%;
  border-radius: 1rem;
  overflow: hidden;
}

.story-single__featured-img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 81rem;
  object-fit: cover;
  object-position: center;
  border-radius: 1rem;
}

.story-single__content,
.story-single__extra {
  width: 100%;
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 2.2rem;
  line-height: 3.2rem;
  color: var(--black);
}




.story-single__content>*:first-child,
.story-single__extra>*:first-child {
  margin-top: 0;
}

.story-single__content>*:last-child,
.story-single__extra>*:last-child {
  margin-bottom: 0;
}

.story-single__content p,
.story-single__extra p {
  margin: 0 0 2.4rem;
}

.story-single__content p:last-child,
.story-single__extra p:last-child {
  margin-bottom: 0;
}

.story-single__content a,
.story-single__extra a {
  color: var(--orange);
  text-decoration: underline;
  text-underline-offset: 0.2em;
  text-decoration-thickness: 0.1em;
  transition: opacity 0.2s ease;
}

.story-single__content a:hover,
.story-single__content a:focus-visible,
.story-single__extra a:hover,
.story-single__extra a:focus-visible {
  opacity: 0.8;
}

.story-single__content a:focus-visible,
.story-single__extra a:focus-visible {
  outline: 0.2rem solid var(--orange);
  outline-offset: 0.2rem;
}

.story-single__content h2,
.story-single__content h3,
.story-single__extra h2,
.story-single__extra h3 {
  margin: 0 0 5rem;
  font-family: var(--primary-font);
  font-weight: 600;
  font-size: 2em;
  line-height: 5.6rem;
  color: var(--navy);
}

.story-single__content img,
.story-single__extra img {
  display: block;
  max-width: 100%;
  height: auto;
  margin-left: auto;
  margin-right: auto;
  border-radius: 1rem;
}

.story-single__inner iframe {
  display: flex;
  margin: 0 auto;
}

.clearfix::after {
  content: "";
  display: table;
  clear: both;
}

.story-single__content img.alignleft {
  float: left !important;
  width: 64rem !important;
  margin-right: 4rem !important;
  margin-bottom: 4rem !important;
}

/* Classic editor Add Media — always center */
.story-single__content .alignnone,
.story-single__content .aligncenter,
.story-single__content .alignleft,
.story-single__content .alignright,
.story-single__extra .alignnone,
.story-single__extra .aligncenter,
.story-single__extra .alignleft,
.story-single__extra .alignright,
.story-single__content .wp-caption,
.story-single__extra .wp-caption,
.story-single__content figure:not(.story-single__featured),
.story-single__extra figure {
  display: block;
  float: none !important;
  clear: both;
  width: auto;
  max-width: 100%;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center;
}

.story-single__content .wp-caption img,
.story-single__extra .wp-caption img,
.story-single__content figure img,
.story-single__extra figure img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.story-single__content p:has(> img:only-child),
.story-single__extra p:has(> img:only-child),
.story-single__content p:has(> a:only-child > img),
.story-single__extra p:has(> a:only-child > img) {
  text-align: center;
}

/* WP media gallery in content — normal 2-up grid (not a slider) */
.story-single__content .gallery,
.story-single__extra .gallery,
.story-single__content .wp-block-gallery,
.story-single__extra .wp-block-gallery {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4rem;
  width: 100%;
  margin: 6rem 0;
  padding: 0;
  clear: both;
}

.story-single__content .gallery .gallery-item,
.story-single__extra .gallery .gallery-item,
.story-single__content .wp-block-gallery .wp-block-image,
.story-single__extra .wp-block-gallery .wp-block-image,
.story-single__content .wp-block-gallery .blocks-gallery-item,
.story-single__extra .wp-block-gallery .blocks-gallery-item {
  float: none !important;
  display: block;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0;
  text-align: left;
}

.story-single__content .gallery .gallery-icon,
.story-single__extra .gallery .gallery-icon,
.story-single__content .gallery figure,
.story-single__extra .gallery figure {
  margin: 0;
  width: 100%;
  height: 100%;
}

.story-single__content .gallery .gallery-item img,
.story-single__extra .gallery .gallery-item img,
.story-single__content .wp-block-gallery img,
.story-single__extra .wp-block-gallery img {
  display: block;
  width: 100%;
  height: 42.6rem;
  max-width: none;
  object-fit: cover;
  object-position: center;
  border-radius: 1rem;
}

.story-single__content .gallery .gallery-caption,
.story-single__extra .gallery .gallery-caption,
.story-single__content .wp-block-gallery figcaption,
.story-single__extra .wp-block-gallery figcaption {
  display: none;
}

.story-single__content .gallery br,
.story-single__extra .gallery br {
  display: none;
}

.story-single__content .alignwide,
.story-single__extra .alignwide,
.story-single__content .wp-block-image,
.story-single__extra .wp-block-image {
  margin-block: 4rem;
}

.story-single__content .gallery .wp-block-image,
.story-single__extra .gallery .wp-block-image,
.story-single__content .wp-block-gallery .wp-block-image,
.story-single__extra .wp-block-gallery .wp-block-image {
  margin-block: 0;
}

/* Callout box — WYSIWYG blockquote / .story-callout (Figma #fff5e4 rounded box) */
.story-single__content blockquote,
.story-single__extra blockquote,
.story-single__content .wp-block-quote,
.story-single__extra .wp-block-quote,
.story-single__content .story-callout,
.story-single__extra .story-callout {
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin: 4rem 0;
  padding: 4.8rem 4.7rem;
  border: 0 !important;
  border-left: 0 !important;
  border-radius: 1rem;
  background: #fff5e4 !important;
  box-shadow: none;
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 2.2rem;
  font-style: normal !important;
  line-height: 3.2rem;
  color: var(--black);
  quotes: none;
}

.story-single__content blockquote::before,
.story-single__content blockquote::after,
.story-single__extra blockquote::before,
.story-single__extra blockquote::after,
.story-single__content .wp-block-quote::before,
.story-single__content .wp-block-quote::after,
.story-single__extra .wp-block-quote::before,
.story-single__extra .wp-block-quote::after {
  content: none !important;
  display: none !important;
}

.story-single__content blockquote p,
.story-single__extra blockquote p,
.story-single__content .wp-block-quote p,
.story-single__extra .wp-block-quote p,
.story-single__content .story-callout p,
.story-single__extra .story-callout p {
  margin: 0;
  font: inherit;
  color: inherit;
  font-style: normal;
}

.story-single__content blockquote cite,
.story-single__extra blockquote cite,
.story-single__content .wp-block-quote cite,
.story-single__extra .wp-block-quote cite {
  display: block;
  margin-top: 1.6rem;
  font-size: 1.8rem;
  font-style: normal;
  opacity: 0.8;
}

/* ACF story_gallery — slide + loop when >3 images; no autoplay */
.story-single__gallery {
  position: relative;
 /* width: 100vw;
  max-width: 100vw;
  margin: 7.5rem 0 0;
  margin-left: calc(50% - 50vw);
  overflow: hidden; */
}

.story-single__swiper {
  width: 100%;
  
}

.story-single__slide {
  height: auto;
  box-sizing: border-box;
}

.story-single__slide-img {
  display: block;
  width: 100%;
  height: 31rem;
  /* 310px — Figma */
  object-fit: cover;
  object-position: center;
  border-radius: 1rem;
  /* ~10px */
}

.story-single__arrow {
  position: absolute;
  top: 50%;
  z-index: 99;
  display:flex;
  align-items: center;
  justify-content: center;
  width: 4.8rem;
  height: 4.8rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  color: var(--black);
  cursor: pointer;
  transform: translateY(-50%);
  box-shadow: 0 0.4rem 1.2rem rgba(0, 0, 0, 0.12);
  transition: opacity 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

/* .story-single__gallery.has-nav .story-single__arrow:not([hidden]) {
  display: flex;
} */

.story-single__arrow i {
  font-size: 2.8rem;
  line-height: 1;
}

.story-single__arrow--prev {
  left:-1.5rem;
}

.story-single__arrow--next {
  right: -1.5rem;
}
.story-single__arrow.swiper-button-lock{
  display:none;
}

.story-single__arrow:hover,
.story-single__arrow:focus-visible {
  background: var(--white);
  color: var(--orange);
}

.story-single__arrow:focus-visible {
  outline: 2px solid var(--orange);
  outline-offset: 2px;
}

.story-single__arrow.swiper-button-disabled {
  opacity: 0.35;
  cursor: default;
  pointer-events: none;
}

/* Desktop: < 4 slides — static centered row (no Swiper).
   Tablet/mobile: JS adds .has-nav and enables Swiper when slides overflow. */
/* .story-single__gallery.is-centered:not(.has-nav) {
  display: flex;
  justify-content: center;
  padding-inline: 9.2rem;
  box-sizing: border-box;
}

.story-single__gallery.is-centered:not(.has-nav) .story-single__swiper,
.story-single__gallery.is-centered:not(.has-nav) .story-single__swiper.is-static {
  width: auto;
  max-width: 100%;
  overflow: visible;
}

.story-single__gallery.is-centered:not(.has-nav) .swiper-wrapper {
  display: flex !important;
  flex-wrap: nowrap;
  align-items: stretch;
  justify-content: center;
  gap: 6rem;
  width: auto !important;
  max-width: 100%;
  margin: 0 auto;
  transform: none !important;
}

.story-single__gallery.is-centered:not(.has-nav) .swiper-slide,
.story-single__gallery.is-centered:not(.has-nav) .story-single__slide {
  flex: 0 0 auto;
  width: calc((100vw - 18.4rem - 18rem) / 4) !important;
  max-width: 40rem;
  margin: 0 !important;
} */

.story-single__extra {
  margin-top: 7.5rem;
  /* 75px gap under slider — Figma */

}

.story-single__extra h2 {
  margin-top: 3rem !important;
}

.story-single__extra p {
  margin-inline: auto;
  max-width: 100%;
}

/* ==========================================
   CONTACT PAGE (Figma 769:2792 / 769:2902)
========================================== */

.contact-page {
  position: relative;
  width: 100%;
  padding: 11.5rem 0 12rem;
  background: var(--white);
  overflow: hidden;
}

/* Figma 769:2900 — floral/architecture watermark at 20% opacity */
.contact-page::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: url("../images/contact-section-bg.webp") center center / cover no-repeat;
  opacity: 0.2;
  pointer-events: none;
}

.contact-page__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 7.5rem;
  width: 100%;
  max-width: 144rem;
  margin-inline: auto;
}

.contact-page__form-card {
  width: 100%;
  padding: 5rem 14.8rem 5rem;
  border-radius: 1rem;
  background: #fbf0db;
  /* Figma form background */
  box-sizing: border-box;
  overflow: hidden;
}

.contact-page__form-heading {
  margin: 0 0 4rem;
  font-family: var(--secondary-font);
  font-weight: 400;
  font-size: 5.5rem;
  line-height: 7rem;
  color: var(--navy);
  text-align: center;
}

.contact-page__form .wpcf7 {
  width: 100%;
  margin: 0;
}

.contact-page__form .wpcf7-form {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  /* 40px between rows — Figma */
  margin: 0;
}

.contact-page__form .wpcf7-form>p {
  margin: 0;
}

.contact-page__form .wpcf7-form br {
  display: none;
}

.contact-page__form .contact-form__row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3rem;
  /* ~30px — Figma */
  width: 100%;
}

.contact-page__form .contact-form__row>p {
  margin: 0;
  /* If CF7 still wraps both fields in one <p>, keep 2-col grid intact. */
  display: contents;
}

.contact-page__form .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

.contact-page__form input.wpcf7-form-control,
.contact-page__form select.wpcf7-form-control,
.contact-page__form textarea.wpcf7-form-control {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0 3rem;
  border: 0.1rem solid #c2c2c2;
  border-radius: 1rem;
  background-color: transparent;
  box-sizing: border-box;
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 2.2rem;
  line-height: 1.4;
  color: var(--navy);
  appearance: none;
  -webkit-appearance: none;
}

.contact-page__form input.wpcf7-form-control,
.contact-page__form select.wpcf7-form-control {
  height: 8rem;
  /* 80px — Figma */
}

.contact-page__form select.wpcf7-form-control {
  padding-right: 5rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='8' viewBox='0 0 13 8' fill='none'%3E%3Cpath d='M1 1.5L6.5 6.5L12 1.5' stroke='%231c4288' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 3rem center;
  background-size: 1.3rem 0.8rem;
  cursor: pointer;
}

.contact-page__form textarea.wpcf7-form-control {
  height: 23.2rem !important;
  resize: none !important;
  padding-block: 2.8rem;
}

.contact-page__form input.wpcf7-form-control::placeholder,
.contact-page__form textarea.wpcf7-form-control::placeholder {
  color: rgba(28, 66, 136, 0.3);
  opacity: 1;
}

/* Select empty state — same color as other field placeholders */
.contact-page__form select.wpcf7-form-control.is-placeholder,
.contact-page__form select.wpcf7-form-control:required:invalid {
  color: rgba(28, 66, 136, 0.3);
}

.contact-page__form select.wpcf7-form-control option {
  color: var(--navy);
}

.contact-page__form select.wpcf7-form-control option[value=""],
.contact-page__form select.wpcf7-form-control option:disabled {
  color: rgba(28, 66, 136, 0.3);
}

.contact-page__form input.wpcf7-form-control:focus,
.contact-page__form select.wpcf7-form-control:focus,
.contact-page__form textarea.wpcf7-form-control:focus {
  outline: none;
  border-color: var(--navy);
}

.contact-page__form .contact-form__submit {
  display: flex;
  justify-content: center;
  width: 100%;
  margin: 0 auto;
  flex-direction: column;
  align-items: center;
}

.contact-page__form .wpcf7-submit,
.contact-page__form input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 15.3rem;
  height: 4.3rem;
  margin: 0;
  padding: 0 1.5rem;
  border: 0;
  border-radius: 1rem;
  background: var(--orange);
  color: var(--white);
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1;
  cursor: pointer;
  transition: background-color 0.2s ease, opacity 0.2s ease;
}

.contact-page__form .wpcf7-submit:hover,
.contact-page__form input[type="submit"]:hover {
  background: var(--orange-100);
}

.contact-page__form .wpcf7-response-output {
  margin: 0;
  padding: 1.2rem 1.6rem;
  border-radius: 0.8rem;
  font-family: var(--primary-font);
  font-size: 1.6rem;
}

.contact-page__form .wpcf7-not-valid-tip {
  margin-top: 0.8rem;
  font-size: 1.4rem;
  color: #b42318;
}

.contact-page__form .wpcf7-spinner {
  margin: 0;
}

.contact-page__offices {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4rem;
  width: 100%;
}

.contact-page__office {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  width: 100%;
  padding: 4.1rem 4rem;
  border: 0.2rem solid var(--gray-700);
  border-radius: 1rem;
  background: var(--white);
  box-sizing: border-box;
  transition: border-color 0.25s ease;
}

.contact-page__office:hover,
.contact-page__office:focus-within {
  border-color: var(--orange);
}

.contact-page__office-header {
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}

.contact-page__office-title {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  margin: 0;
  font-family: var(--secondary-font);
  font-weight: 400;
  font-size: 3rem;
  line-height: 1.2;
  color: var(--navy);
}

.contact-page__office-title i {
  flex-shrink: 0;
  font-size: 2.4rem;
  line-height: 1;
  color: var(--orange);
}

.contact-page__office-address {
  margin: 0;
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 2.2rem;
  line-height: 3.2rem;
  color: var(--black);
}

.contact-page__map {
  position: relative;
  width: 100%;
  height: 41.4rem;
  overflow: hidden;
  border-radius: 1rem;
  background: var(--gray-500);
}

.contact-page__map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.contact-page__form .wpcf7 form .wpcf7-response-output {
  margin: -2rem auto 0;
  padding: 0.4rem 4rem;
  border: 0.1rem solid #fb9b3f;
  text-align: center;
  width: fit-content;
  font-size: 1.8rem;
  font-weight: 400;
}

/* ==========================================
   NEWSLETTER PAGE (Figma 769:2353)
========================================== */

.newsletter-page {
  position: relative;
  width: 100%;
  padding: 11.5rem 0 15rem;
  /* 115 / 150 */
  background: rgb(252 240 217 / 40%);
  overflow: hidden;
  min-height: 105rem;
}

.newsletter-page::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 50rem;
  top: 0;
  left: 0;
  z-index: 0;
  background: url("../images/bg-top-img.png") no-repeat;
  background-position: top;
  background-size: cover;
  opacity: 20%;
  pointer-events: none;
}

.newsletter-page::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 0;
  background: url("../images/bg-bottom-img.png") no-repeat;
  background-size: cover;
  opacity: 20%;
  pointer-events: none;
  background-position: bottom;
  width: 100%;
  height: 65rem;
}

.newsletter-page__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 5rem;
  /* space under divider → grid (~Figma top 155) */
  width: 100%;
  max-width: 173.6rem;
  margin-inline: auto;
}

.newsletter-page__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5rem;
  /* 50px — Figma thumbs → divider */
  width: 100%;
}

.newsletter-page__thumbs {
  position: relative;
  display: block;
  width: 100%;
}

.newsletter-page__thumbs-swiper {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  box-sizing: border-box;
}

.newsletter-page__thumbs.is-fit-all .newsletter-page__thumbs-swiper {
  overflow: visible;
}

.newsletter-page__thumbs.is-fit-all .swiper-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  column-gap: 4rem;
  row-gap: 1.6rem;
  transform: none !important;
}

.newsletter-page__thumbs.is-fit-all .swiper-slide {
  width: auto !important;
  margin: 0 !important;
}

.newsletter-page__thumbs.is-swiper-active .swiper-slide {
  width: auto;
  flex-shrink: 0;
  box-sizing: border-box;
}

/* Drop trailing spaceBetween margin so last pill can sit fully in view */
.newsletter-page__thumbs.is-swiper-active .swiper-slide:last-child {
  margin-right: 0 !important;
}

.newsletter-page__nav {
  box-sizing: border-box;
}

.newsletter-page__slide {
  width: auto;
  height: auto;
  box-sizing: border-box;
}

.newsletter-page__arrow {
  position: absolute;
  top: 50%;
  z-index: 2;
  display: none;
  align-items: center;
  justify-content: center;
  width: 4.4rem;
  height: 4.4rem;
  padding: 0;
  border: 0.1rem solid #cfcfcf;
  border-radius: 50%;
  background: var(--white);
  color: var(--navy);
  cursor: pointer;
  transform: translateY(-50%);
  transition:
    background-color 0.25s ease,
    border-color 0.25s ease,
    color 0.25s ease,
    opacity 0.25s ease;
}

.newsletter-page__thumbs.has-arrows .newsletter-page__arrow {
  display: inline-flex;
}

.newsletter-page__arrow--prev {
  left: -6rem;
}

.newsletter-page__arrow--next {
  right: -6rem;
}

.newsletter-page__arrow:hover,
.newsletter-page__arrow:focus-visible {
  border-color: var(--orange);
  background: var(--orange);
  color: var(--white);
  opacity: 1;
}

.newsletter-page__arrow:focus-visible {
  outline: 0.2rem solid var(--navy);
  outline-offset: 0.3rem;
}

.newsletter-page__arrow:disabled,
.newsletter-page__arrow.swiper-button-disabled {
  border-color: #e5e5e5;
  background: #f7f7f7;
  color: #b0b0b0;
  opacity: 1;
  cursor: default;
  pointer-events: none;
}

.newsletter-page__arrow-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.2rem;
  height: 1.2rem;
}

.newsletter-page__arrow-icon svg {
  display: block;
  width: 1.2rem;
  height: 1.2rem;
}

.newsletter-page__select-wrap {
  display: none;
  width: 100%;
  max-width: 42rem;
}

.newsletter-page__select-wrap .screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.newsletter-page__select {
  width: 100%;
  height: 5.6rem;
  padding: 0 4.8rem 0 2.3rem;
  border: 0.1rem solid var(--orange);
  border-radius: 10rem;
  background-color: #fff0d9;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='8' viewBox='0 0 13 8' fill='none'%3E%3Cpath d='M1 1.5L6.5 6.5L12 1.5' stroke='%231c4288' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 2rem center;
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 1.8rem;
  color: var(--black);
  appearance: none;
  -webkit-appearance: none;
}

.newsletter-page__select:focus-visible {
  outline: none;
}

.newsletter-page__btn {
  appearance: none;
  margin: 0;
  padding: 1rem 2.3rem;
  /* Figma py-21 px-23 */
  border: 0.1rem solid #cfcfcf;
  border-radius: 10rem;
  background: transparent;
  color: var(--black);
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.8;
  /* ~32px */
  cursor: pointer;
  white-space: nowrap;
  transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease;
  width: 100%;
}

.newsletter-page__btn:hover {
  border-color: var(--orange);
}

.newsletter-page__btn.is-active,
.newsletter-page__btn[aria-pressed="true"] {
  background: var(--orange);
  border-color: var(--orange);
  color: var(--white);
}

.newsletter-page__btn:focus-visible {
  outline: 0.2rem solid var(--navy);
  outline-offset: 0.3rem;
}

.newsletter-page__divider {
  width: 100%;
  height: 0.1rem;
  background: #e5e5e5;
  border: 0;
}

.newsletter-page__panels {
  width: 100%;
  overflow: hidden;
}

.newsletter-page__panel {
  height: auto;
  box-sizing: border-box;
}

.newsletter-page__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 4.8rem;
  /* 48px */
  width: 100%;
}

.newsletter-page__card {
  display: flex;
  flex-direction: column;
  width: 100%;
  text-decoration: none;
  color: inherit;
  border-radius: 1rem;
  /* 10px */
  overflow: hidden;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

a.newsletter-page__card:hover,
a.newsletter-page__card:focus-visible {
  /* transform: translateY(-0.4rem); */
  box-shadow: 0 1.2rem 3.2rem rgba(249, 158, 38, 0.50);
}

a.newsletter-page__card:focus-visible {
  outline: 0.2rem solid var(--orange);
  outline-offset: 0.3rem;
}

.newsletter-page__cover {
  position: relative;
  width: 100%;
  aspect-ratio: 308.52 / 437.62;
  overflow: hidden;
  border-radius: 1rem 1rem 0 0;
  background: var(--gray-500, #e8e8e8);
}

.newsletter-page__cover-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.newsletter-page__label {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 5.5rem;
  /* 55px */
  min-height: 5.5rem;
  padding: 1rem 1.2rem;
  background: var(--navy);
  /* #1c4288 */
  border-radius: 0 0 1rem 1rem;
  box-sizing: border-box;
}

.newsletter-page__label span {
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 2.2rem;
  /* ~21.88px */
  line-height: 3.3rem;
  color: var(--white);
  text-align: center;
}

.newsletter-page__empty {
  margin: 0;
  padding: 4rem 0;
  font-family: var(--primary-font);
  font-size: 2rem;
  color: var(--black-300);
  text-align: center;
}

/* ==========================================
   PDF FLIPBOOK VIEWER
========================================== */

html.pdf-flipbook-open,
body.pdf-flipbook-open {
  overflow: hidden;
  overscroll-behavior: none;
}

.pdf-flipbook {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: stretch;
  justify-content: center;
  padding: 0;
  width: 100%;
  max-width: 100vw;
  background: rgba(12, 18, 32, 0.92);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  overflow: hidden;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}

.pdf-flipbook.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.pdf-flipbook__dialog {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 100%;
  height: 100%;
  max-height: 100vh;
  max-height: 100dvh;
  border-radius: 0;
  background: #101828;
  box-shadow: none;
  overflow: hidden;
}

.pdf-flipbook__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.6rem;
  flex-shrink: 0;
  padding: 1.2rem 1.6rem;
  border-bottom: 0.1rem solid rgba(255, 255, 255, 0.08);
  background: #0c1220;
}

.pdf-flipbook__toolbar-left {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  min-width: 0;
}

.pdf-flipbook__title {
  margin: 0;
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.3;
  color: #ffffff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: min(48vw, 48rem);
}

.pdf-flipbook__page-info {
  flex-shrink: 0;
  font-family: var(--primary-font);
  font-size: 1.4rem;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.75);
  white-space: nowrap;
}

.pdf-flipbook__toolbar-actions {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  flex-shrink: 0;
}

.pdf-flipbook__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  padding: 0;
  border: 0.1rem solid rgba(255, 255, 255, 0.14);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.04);
  color: var(--white);
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.pdf-flipbook__btn i {
  font-size: 2rem;
  line-height: 1;
}

.pdf-flipbook__btn:hover,
.pdf-flipbook__btn:focus-visible {
  border-color: var(--orange);
  background: var(--orange);
  color: var(--white);
  outline: none;
}

.pdf-flipbook__btn:disabled {
  opacity: 0.35;
  cursor: default;
  pointer-events: none;
}

.pdf-flipbook__btn--close:hover,
.pdf-flipbook__btn--close:focus-visible {
  border-color: #e11d48;
  background: #e11d48;
}

.pdf-flipbook__body {
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
  display: flex;
  align-items: stretch;
  justify-content: center;
  overflow: hidden;
}

.pdf-flipbook__viewport {
  width: 100%;
  max-width: 100%;
  height: 100%;
  min-width: 0;
  overflow: auto;
  display: block;
  padding: 1.2rem 2rem 2rem;
  box-sizing: border-box;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  touch-action: pan-x pan-y;
}

.pdf-flipbook__viewport.is-scrollable,
.pdf-flipbook__viewport.is-zoomed {
  overflow: auto;
}

.pdf-flipbook__viewport::-webkit-scrollbar {
  width: 0.8rem;
  height: 0.8rem;
}

.pdf-flipbook__viewport::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.28);
  border-radius: 1rem;
}

.pdf-flipbook__viewport::-webkit-scrollbar-track {
  background: transparent;
}

.pdf-flipbook__zoom-sizer {
  width: 100%;
  min-height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.pdf-flipbook__viewport.is-zoomed .pdf-flipbook__zoom-sizer {
  align-items: flex-start;
  justify-content: flex-start;
}

.pdf-flipbook__stage {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-shrink: 0;
  opacity: 0;
  transform: scale(1);
  transform-origin: top center;
  transition: opacity 0.3s ease;
  will-change: transform, opacity;
}

.pdf-flipbook__stage.is-ready {
  opacity: 1;
}

.pdf-flipbook__book {
  width: auto;
  height: auto;
  margin: 0;
  cursor: grab;
  touch-action: pan-x pan-y;
  user-select: none;
  overflow: hidden;
}

.pdf-flipbook__book:active {
  cursor: grabbing;
}

.pdf-flipbook__book .stf__parent {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 0 !important;
  pointer-events: auto;
  touch-action: pan-x pan-y;
  -ms-touch-action: pan-x pan-y;
}

.pdf-flipbook__book .stf__wrapper {
  width: 100%;
  height: 100%;
  pointer-events: auto;
}

.pdf-flipbook__book .stf__block {
  box-shadow: 0 1.6rem 4.8rem rgba(0, 0, 0, 0.35);
  pointer-events: auto;
}

.pdf-flipbook__book .stf__item {
  background: #fff;
  overflow: hidden;
}

.pdf-flipbook__page {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: #fff;
  overflow: hidden;
}

.pdf-flipbook__page-canvas {
  display: block;
  max-width: 100%;
  max-height: 100%;
  pointer-events: none;
  user-select: none;
  image-rendering: auto;
  -ms-interpolation-mode: bicubic;
}

.pdf-flipbook__page-placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f4f4f4;
  color: #9aa3b2;
  font-size: 2rem;
  pointer-events: none;
}

.pdf-flipbook__page.is-rendered .pdf-flipbook__page-placeholder {
  display: none;
}

.pdf-flipbook__book canvas {
  display: block;
  pointer-events: auto;
  touch-action: pan-x pan-y;
  cursor: grab;
  user-select: none;
  image-rendering: auto;
  -ms-interpolation-mode: bicubic;
}

.pdf-flipbook__book img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  user-select: none;
  pointer-events: none;
  image-rendering: auto;
}

.pdf-flipbook__loader,
.pdf-flipbook__error {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
  margin: 0;
  padding: 2rem;
  background: rgba(16, 24, 40, 0.92);
  color: var(--white);
  font-family: var(--primary-font);
  font-size: 1.6rem;
  text-align: center;
}

.pdf-flipbook__loader[hidden],
.pdf-flipbook__error[hidden] {
  display: none !important;
}

.pdf-flipbook__spinner {
  width: 3.6rem;
  height: 3.6rem;
  border: 0.3rem solid rgba(255, 255, 255, 0.2);
  border-top-color: var(--orange);
  border-radius: 50%;
  animation: pdf-flipbook-spin 0.8s linear infinite;
}

@keyframes pdf-flipbook-spin {
  to {
    transform: rotate(360deg);
  }
}

/* ==========================================
   AREA FOCUS SUB PAGE — INTRO (Figma 769:957)
========================================== */

.afs-intro,
.es-intro {
  position: relative;
  overflow: hidden;
  width: 100%;
  background-color: var(--white);
  background-image: url("../images/afs-intro-splash.webp");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 100% 103%;
}

.afs-intro__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-block: 11.5rem 15rem;
  /* 115px / 150px — Figma */
}

.afs-intro__content {
  width: 100%;
  max-width: 173.5rem;
  margin: 0;
  text-align: center;
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 2.2rem;
  /* 22px */
  line-height: 3.2rem;
  /* 32px */
  color: var(--black);
}

.afs-intro__content>*:first-child {
  margin-top: 0;
}

.afs-intro__content h1,
.afs-intro__content h2,
.afs-intro__title {
  margin: 0 0 4rem;
  max-width: none;
  font-family: var(--secondary-font);
  font-weight: 400;
  font-size: 5.5rem;
  /* 55px */
  line-height: 7rem;
  /* 70px */
  color: var(--black);
  text-align: center;
}

.afs-intro__content p {
  margin: 0 0 3.2rem;
}

.afs-intro__content p:last-child {
  margin-bottom: 0;
}

/* ==========================================
   AREA FOCUS SUB PAGE — PROGRAMS (Figma 769:918)
========================================== */

.afs-programs {
  position: relative;
  overflow: hidden;
  width: 100%;
  background: #faf6ef;
}

.afs-programs__bg {
  position: absolute;
  inset: 0;
  background-image: var(--afs-programs-bg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  opacity: var(--afs-programs-bg-opacity, 0.7);
  pointer-events: none;
  z-index: 0;
}

.afs-programs__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 9rem;
  /* 90px */
  width: 100%;
  padding-block: 8rem;
}

.afs-programs--first .afs-programs__inner {
  padding-top: 15rem;
  /* 150px */
}

.afs-programs--last .afs-programs__inner {
  padding-bottom: 15rem;
}

.afs-programs--before-logos .afs-programs__inner {
  padding-bottom: 8rem;
}

.afs-programs--continued .afs-programs__inner {
  padding-top: 8rem;
}

.afs-programs__title {
  margin: 0;
  font-family: var(--secondary-font);
  font-weight: 400;
  font-size: 5.5rem;
  /* 55px */
  line-height: 7rem;
  color: var(--black);
  text-align: center;
}

.afs-program {
  width: 100%;
}

.afs-program__row {
  display: grid;
  grid-template-columns: minmax(0, 79.2rem) minmax(0, 1fr);
  gap: 9.8rem;
  /* ~98px — Figma image 792 + text */
  align-items: start;
  width: 100%;
}

.afs-program--image-right .afs-program__row {
  grid-template-columns: minmax(0, 1fr) minmax(0, 79.2rem);
}

.afs-program--image-right .afs-program__media {
  order: 2;
}

.afs-program--image-right .afs-program__content {
  order: 1;
}

.afs-program__media {
  position: relative;
  width: 100%;
  max-width: 79.2rem;
  cursor: zoom-in;
}

.afs-program__swiper {
  position: relative;
  width: 100%;
  border-radius: 2rem;
  /* 20px */
  overflow: hidden;
  cursor: zoom-in;
}

.afs-program__swiper .swiper-wrapper,
.afs-program__swiper .swiper-slide {
  cursor: zoom-in;
}

/* Figma 305:527 — gradient-to-t from-black → transparent @ 34.785% */
/* .afs-program__swiper::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  border-radius: inherit;
  background: linear-gradient(to top,
      #000 0%,
      rgba(0, 0, 0, 0) 34.785%);
  pointer-events: none;
} */

.afs-program__figure {
  margin: 0;
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 2rem;
  background: #fdfcfa;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0.1rem solid #fcedcf;

}

.afs-program__lightbox {
  display: block;
  width: 100%;
  height: 100%;
  cursor: zoom-in;
  text-decoration: none;
  color: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
}

.afs-program__img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  transform: scale(1);
  transition: transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.afs-program__swiper:hover .afs-program__img,
.afs-program__figure:hover .afs-program__img {
  transform: scale(1.08);
}

@media (prefers-reduced-motion: reduce) {
  .afs-program__img {
    transition: none;
  }

  .afs-program__swiper:hover .afs-program__img,
  .afs-program__figure:hover .afs-program__img {
    transform: none;
  }
}

@media (hover: none) {

  .afs-program__swiper:hover .afs-program__img,
  .afs-program__figure:hover .afs-program__img {
    transform: none;
  }
}

/* Figma 769:950 — 12px dots, 10px gap, white / orange, overlaid on image */
.afs-program__pagination.swiper-pagination,
.afs-program__pagination {
  position: absolute;
  left: 50% !important;
  right: auto !important;
  bottom: 3rem !important;
  top: auto !important;
  width: auto !important;
  height: 1.2rem;
  transform: translateX(-50%);
  z-index: 3;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  /* 10px between dots — Figma centers 22px apart */
}

.afs-program__pagination .swiper-pagination-bullet {
  width: 1.2rem !important;
  /* 12px */
  height: 1.2rem !important;
  margin: 0 !important;
  background: var(--white) !important;
  opacity: 1 !important;
  border-radius: 50%;
  transition: background-color 0.2s ease, transform 0.2s ease;
  border: 0.1rem solid #f99d26;
}

.afs-program__pagination .swiper-pagination-bullet-active {
  background: var(--orange) !important;
  opacity: 1 !important;
  transform: none;
}

.afs-program__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding-top: 0.4rem;
}

.afs-program__heading {
  margin: 0 0 2.4rem;
  font-family: var(--secondary-font);
  font-weight: 400;
  font-size: 4.2rem;
  /* 42px */
  line-height: 1.2;
  color: var(--black);
}

.afs-program__text {
  margin: 0 0 3.2rem;
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 2.2rem;
  /* 22px */
  line-height: 3.2rem;
  /* 32px */
  color: var(--black);
}

.afs-program__text p {
  margin: 0 0 1.6rem;
}

.afs-program__text p:last-child {
  margin-bottom: 0;
}

/* Reuse HAC navy stats bar inside program content */
.afs-program__stats {
  margin-top: 0;
  margin-bottom: 3.2rem;
  width: 100%;
}

.afs-program__stats:has(.hac-block__stat:nth-child(2)) {
  width: 100%;
}

.afs-program__awards {
  margin-top: 6.7rem;
}

.afs-program__initiatives {
  margin: 0 0 3.6rem;
  width: 100%;
}

.afs-program__initiatives-title {
  margin: 0 0 2.4rem;
  font-family: var(--secondary-font);
  font-weight: 400;
  font-size: 3.6rem;
  /* 36px */
  line-height: 1.2;
  color: var(--black);
}

.afs-program__initiatives-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.afs-program__initiatives-item {
  position: relative;
  margin: 0 0 1.4rem;
  padding-left: 1.8rem;
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 2.2rem;
  line-height: 3.2rem;
  color: var(--black);
}

.afs-program__initiatives-item:last-child {
  margin-bottom: 0;
}

.afs-program__initiatives-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1.2rem;
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 50%;
  background: var(--orange);
}

.afs-program__btn {
  margin-top: 0.4rem;
}

.afs-program__logos {
  /* Separate white strip — outside .afs-programs / Figma 769:855 */
  position: relative;
  z-index: 1;
  width: 100%;
  margin: 0;
  padding-block: 6.6rem;
  padding-inline: var(--container-pad);
  background: #fdfdfd;
  box-sizing: border-box;
}

.afs-program__logos-title {
  margin: 0 auto 4rem;
  max-width: 173.6rem;
  font-family: var(--secondary-font);
  font-weight: 400;
  font-size: 4.2rem;
  line-height: 1.2;
  color: var(--black);
  text-align: center;
}

.afs-program__logos-swiper {
  width: 100%;
  max-width: 173.6rem;
  margin-inline: auto;
  overflow: hidden;
  padding-bottom:3rem;
  /* padding-block: 3rem; */
}

.afs-program__logos-slide {
  height: auto;
  width: 18.9rem;
  /* 189px — Figma (used when >8 / slidesPerView auto) */
  box-sizing: border-box;
  overflow: visible;
}

.afs-program__logo {
  display: block;
  width: 100%;
  max-width: 18.9rem;
  aspect-ratio: 1 / 1;
  height: auto;
  margin: 0 auto;
  overflow: visible;
  background: transparent;
  box-shadow: 0px 12px 16px 0px rgba(1, 27, 76, 0.13);
  border: 0.1rem solid #E1E1E1;
  border-radius: 1.6rem;
  text-decoration: none;
  transition: var(--transition-fast);
	overflow: hidden;
}

.afs-program__logo:hover {
  opacity: 0.92;
}

.afs-program__logo-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

/* ≤8 logos on desktop: fixed 189px cards, centered (Figma 769:799 / 769:855) */
.afs-program__logos.is-fit-all .afs-program__logos-swiper {
  overflow: visible;
}

.afs-program__logos.is-fit-all .swiper-wrapper {
  display: flex !important;
  transform: none !important;
  justify-content: center;
  align-items: stretch;
  gap: 3.2rem;
  /* 32px — Figma */
  width: 100%;
}

.afs-program__logos.is-fit-all .afs-program__logos-slide {
  flex: 0 1 18.9rem;
  /* fixed card size; may shrink slightly if viewport is tight */
  width: 18.9rem !important;
  max-width: 18.9rem;
  min-width: 0;
  margin: 0 !important;
  height: auto;
  overflow: visible;
}

.afs-program__logos.is-fit-all .afs-program__logo {
  width: 100%;
  max-width: 18.9rem;
}

.afs-program__logos.is-swiper-active:not(.is-fit-all) .afs-program__logos-swiper {
  overflow: hidden;
}

.afs-program__logos.has-pagination .afs-program__logos-swiper {
  /* padding-bottom: 3.6rem; */
  overflow: hidden;
}

/* .afs-program__logos:not(.has-pagination) .afs-program__logos-pagination {
  display: none !important;
} */


.afs-program__logos-pagination {
  position: relative;
  left: auto !important;
  bottom: auto !important;
  width: auto !important;
  margin-top: 4.4rem;
  transform: none !important;
  display: flex !important;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  height: 1.2rem;
}

.afs-program__logos-pagination .swiper-pagination-bullet {
  width: 1.2rem !important;
  height: 1.2rem !important;
  margin: 0 !important;
  background: rgba(28, 66, 136, 0.2) !important;
  opacity: 1 !important;
  border-radius: 50%;
}

.afs-program__logos-pagination .swiper-pagination-bullet-active {
  background: var(--orange) !important;
  opacity: 1 !important;
}

/* ==========================================
   AREA FOCUS — SCHEDULE ALIGNMENT / SDG
========================================== */

.afs-alignment {
  width: 100%;
  background: var(--white);
}

.afs-alignment__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4rem;
  padding-block: 6rem 9rem;
}

.afs-alignment__text {
  margin: 0;
  max-width: 120rem;
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 2.2rem;
  line-height: 3.2rem;
  color: var(--black);
  text-align: center;
}

.afs-alignment__icons {
  width: 100%;
  max-width: 100%;
}

.afs-alignment__swiper {
  width: 100%;
  overflow: hidden;
  padding-bottom: 0;
}

/* .afs-alignment__icons.is-swiper-active .afs-alignment__swiper {
  padding-bottom: 3.6rem;
} */

.afs-alignment__slide {
  height: auto;
}

.afs-alignment__icon {
  margin: 0;
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 0.8rem;
}

.afs-alignment__icon-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Desktop ≤6: static centered row, no pagination */
.afs-alignment__icons--static .swiper-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2.4rem;
  transform: none !important;
}

.afs-alignment__icons--static .swiper-slide {
  width: 12.8rem !important;
  margin: 0 !important;
  flex-shrink: 0;
}

.afs-alignment__icons--static .afs-alignment__pagination,
.afs-alignment__icons--static .swiper-pagination {
  display: none !important;
}

/* OWE / fit-center: Figma 176px icons, 32px gap, centered */
.afs-alignment__icons--fit-center .swiper-wrapper {
  justify-content: center;
  align-items: center;
  gap: 3.2rem;
  width: 100%;
}

.afs-alignment__icons--fit-center .swiper-slide {
  width: 17.6rem !important;
  /* 176px */
  max-width: 17.6rem;
}

.owe-alignment .afs-alignment__icons--fit-center .afs-alignment__icon,
.afs-alignment__icons--fit-center .afs-alignment__icon {
  width: 17.6rem;
  height: 17.6rem;
  max-width: 17.6rem;
  margin-inline: 0;
}

.afs-alignment__pagination {
  position: relative;
  left: auto !important;
  bottom: auto !important;
  width: auto !important;
  margin-top: 2.4rem;
  transform: none !important;
  display: flex !important;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  height: 1.2rem;
}

.afs-alignment__pagination .swiper-pagination-bullet {
  width: 1.2rem !important;
  height: 1.2rem !important;
  margin: 0 !important;
  background: rgba(28, 66, 136, 0.2) !important;
  opacity: 1 !important;
  border-radius: 50%;
}

.afs-alignment__pagination .swiper-pagination-bullet-active {
  background: var(--orange) !important;
  opacity: 1 !important;
}

/* ==========================================
   HERITAGE ARTS & CULTURE (Figma 413:2)
   Banner = Common Inner Banner (separate ACF).
========================================== */

.hac-block {
  position: relative;
  overflow: hidden;
  width: 100%;
  background: #faf6ef;
}

.hac-block__bg {
  position: absolute;
  inset: 0;
  background-image: var(--hac-block-bg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  opacity: 0.7;
  pointer-events: none;
  z-index: 0;
}

.hac-block__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 9rem;
  /* 90px */
  padding-block: 15rem;
  /* 150px — Figma */
}

.hac-block--first .hac-block__inner {
  padding-top: 11.5rem;
}

.hac-block__section-title {
  margin: 0;
  font-family: var(--secondary-font);
  font-weight: 400;
  font-size: 5.5rem;
  line-height: 7rem;
  color: var(--black);
  text-align: center;
}

.hac-block__row {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1fr);
  gap: clamp(4rem, 5.1vw, 9.8rem);
  align-items: stretch;
  width: 100%;
}

.hac-block--image-right .hac-block__row {
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.95fr);
}

.hac-block--image-right .hac-block__media {
  order: 2;
}

.hac-block--image-right .hac-block__content {
  order: 1;
}

.hac-block__media {
  position: relative;
  width: 100%;
  max-width: 79.2rem;
}

.hac-block__swiper {
  position: relative;
  width: 100%;
  border-radius: 2rem;
  overflow: hidden;
}

/* Figma overlay: gradient-to-t from-black → transparent @ 34.785% */
.hac-block__swiper::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  border-radius: inherit;
  background: linear-gradient(to top,
      #000 0%,
      rgba(0, 0, 0, 0) 34.785%);
  pointer-events: none;
}

.hac-block__figure {
  margin: 0;
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 2rem;
  background: var(--beige, #f5efe4);
}

.hac-block__lightbox {
  display: block;
  width: 100%;
  height: 100%;
  cursor: zoom-in;
  text-decoration: none;
  color: inherit;
}

.hac-block__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  transition: transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.hac-block__swiper:hover .hac-block__img,
.hac-block__figure:hover .hac-block__img {
  transform: scale(1.08);
}

@media (prefers-reduced-motion: reduce) {
  .hac-block__img {
    transition: none;
  }

  .hac-block__swiper:hover .hac-block__img,
  .hac-block__figure:hover .hac-block__img {
    transform: none;
  }
}

.hac-block__pagination.swiper-pagination,
.hac-block__pagination {
  position: absolute;
  left: 50% !important;
  right: auto !important;
  bottom: 3rem !important;
  top: auto !important;
  width: auto !important;
  height: 1.2rem;
  transform: translateX(-50%);
  z-index: 3;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}

.hac-block__pagination .swiper-pagination-bullet {
  width: 1.2rem !important;
  height: 1.2rem !important;
  margin: 0 !important;
  background: rgba(255, 255, 255, 0.85) !important;
  opacity: 1 !important;
  border-radius: 50%;
}

.hac-block__pagination .swiper-pagination-bullet-active {
  background: var(--orange) !important;
}

.hac-block__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  width: 100%;
  max-width: 84.8rem;
  min-height: 100%;
}

.hac-block__heading {
  margin: 0 0 4rem;
  /* ~40px before body (Figma mt-70 on body after 42/70 heading) */
  font-family: var(--secondary-font);
  font-weight: 400;
  font-size: 4.2rem;
  /* 42px */
  line-height: 7rem;
  color: var(--black);
}

.hac-block__text {
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 2.2rem;
  line-height: 3.2rem;
  color: var(--black);
}

.hac-block__text p {
  margin: 0 0 3.2rem;
}

.hac-block__text p:last-child {
  margin-bottom: 0;
}

.hac-block__text ul {
  column-count: 3;
  column-gap: 2rem;
}

.afs-program__text ul {
  column-count: 3;
  column-gap: 2rem;
}

.afs-program__text ul li {
  position: relative;
  margin: 0 0 1.4rem;
  padding-left: 1.8rem;
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 2.2rem;
  line-height: 3.2rem;
  color: var(--black);
}

.afs-program__text ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1.2rem;
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 50%;
  background: var(--orange);
}

/*
  Stats bar — Figma Stats 1: 437×172, centered value + label.
  Single item: shrink-wrap (not full column width).
  2+ items: stretch across content column with equal cells.
*/
.hac-block__stats {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  width: fit-content;
  max-width: 100%;
  margin-top: 2.4rem;

  background: #1c4288;
}

.hac-block__stats:has(.hac-block__stat:nth-child(2)) {
  width: 100%;
}

.hac-block__stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2.5rem;
  /* 25px */
  flex: 0 0 auto;
  width: min(43.7rem, 100%);
  /* 437px — Figma single cell */
  min-height: 17.2rem;
  /* 172px */
  height: 17.2rem;
  padding: 0 3.2rem;
  text-align: center;
  border-right: 0.1rem solid #ecf1fa;
  box-sizing: border-box;
}

.hac-block__stats:has(.hac-block__stat:nth-child(2)) .hac-block__stat {
  flex: 1 1 0;
  width: auto;
  min-width: 0;
  padding-inline: 4rem;
}

.hac-block__stat:last-child {
  border-right: none;
}

.hac-block__stat-value {
  margin: 0;
  font-family: var(--primary-font);
  font-weight: 800;
  font-size: 5.5rem;
  /* 55px */
  line-height: 4.545rem;
  /* ~45.45px */
  color: var(--orange);
  white-space: nowrap;
  display: inline-block;
  text-align: center;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
}

.hac-block__stat-label {
  margin: 0;
  font-family: var(--primary-font);
  font-weight: 400;
  font-size: 2.2rem;
  /* 22px */
  line-height: normal;
  color: var(--white);
  white-space: nowrap;
}

/* Flagship logos — white strip outside content blocks */
.hac-flagship {
  width: 100%;
  padding-block: 6.6rem;
  padding-inline: var(--container-pad);
  background: #fdfdfd;
  box-sizing: border-box;
  text-align: center;
}

.hac-flagship__title {
  margin: 0 auto 7.3rem;
  font-family: var(--secondary-font);
  font-weight: 400;
  font-size: 4.2rem;
  line-height: 7rem;
  color: var(--black);
}

.hac-flagship__swiper {
  width: 100%;
  max-width: 173.6rem;
  margin-inline: auto;
  overflow: hidden;
}

.hac-flagship__slide {
  width: 18.9rem;
  height: auto;
  box-sizing: border-box;
  overflow: visible;
}

.hac-flagship__logo {
  display: block;
  width: 100%;
  max-width: 18.9rem;
  aspect-ratio: 1 / 1;
  margin: 0 auto;
  overflow: visible;
  text-decoration: none;
}

.hac-flagship__logo-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.hac-flagship.is-fit-all .hac-flagship__swiper {
  overflow: visible;
}

.hac-flagship.is-fit-all .swiper-wrapper {
  display: flex !important;
  transform: none !important;
  justify-content: center;
  gap: 3.2rem;
  width: 100%;
}

.hac-flagship.is-fit-all .hac-flagship__slide {
  flex: 0 1 18.9rem;
  width: 18.9rem !important;
  max-width: 18.9rem;
  margin: 0 !important;
}

.hac-flagship:not(.has-pagination) .hac-flagship__pagination {
  display: none !important;
}

.hac-flagship.has-pagination .hac-flagship__swiper {
  padding-bottom: 3.6rem;
}

.hac-flagship__pagination {
  position: relative;
  left: auto !important;
  bottom: auto !important;
  width: auto !important;
  margin-top: 2.4rem;
  display: flex !important;
  justify-content: center;
  gap: 1rem;
}

.hac-flagship__pagination .swiper-pagination-bullet {
  width: 1.2rem !important;
  height: 1.2rem !important;
  margin: 0 !important;
  background: rgba(28, 66, 136, 0.2) !important;
  opacity: 1 !important;
}

.hac-flagship__pagination .swiper-pagination-bullet-active {
  background: var(--orange) !important;
}

/* Centered feature (Lockdown Live) — Figma 413:527 */
.hac-centered {
  position: relative;
  overflow: hidden;
  width: 100%;
  background: #faf6ef;
}

.hac-centered__bg {
  position: absolute;
  inset: 0;
  background-image: var(--hac-centered-bg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  opacity: 0.7;
  pointer-events: none;
  z-index: 0;
}

/* Soft cream wash over parchment — Figma gradient */
.hac-centered__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom,
      rgba(255, 255, 255, 0) 0%,
      rgba(254, 246, 228, 0.68) 100%);
  pointer-events: none;
}

.hac-centered__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4rem;
  /* 40px */
  max-width: 144rem;
  /* ~ px-[240px] on 1920 */
  padding-block: 15rem;
  /* 150px */
  text-align: center;
}

.hac-centered__logo {
  width: 20.6rem;
  /* 206px */
  height: 13.7rem;
  /* 137px */
  max-width: 100%;
  padding: 1.2rem 1.6rem;
  background: var(--white);
  border: 0.1rem solid #fcf1df;
  border-radius: 2rem;
  /* 20px */
  box-shadow: 0 0 1.2rem 0 #fbefdb;
  box-sizing: border-box;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hac-centered__logo-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  margin-inline: auto;
}

.hac-centered__heading {
  margin: 0;
  font-family: var(--secondary-font);
  font-weight: 400;
  font-size: 4.2rem;
  /* 42px */
  line-height: 7rem;
  /* 70px */
  color: var(--black);
  text-align: center;
}

.hac-centered__text {
  width: 100%;
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 2.2rem;
  /* 22px */
  line-height: 3.2rem;
  /* 32px */
  color: var(--black);
  text-align: center;
}

.hac-centered__text p {
  margin: 0 0 3.2rem;
}

.hac-centered__text p:last-child {
  margin-bottom: 0;
}

/* ==========================================
   OVERVIEW WOMEN EMPOWERMENT (Figma 769:1725)
========================================== */

/* About — one full CSS background image (Figma 769:1725) */
.owe-intro {
  position: relative;
  overflow: hidden;
  width: 100%;
  background-color: var(--white);
  background-image: url("../images/owe-intro-bg.webp");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}

.owe-intro__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-block: 11.5rem 15rem;
  /* 115 / 150 */
}

.owe-intro__content {
  width: 100%;
  max-width: 173.5rem;
  margin: 0;
  text-align: center;
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 2.2rem;
  /* 22px */
  line-height: 3.2rem;
  /* 32px */
  color: var(--black);
}

.owe-intro__content>*:first-child {
  margin-top: 0;
}

.owe-intro__content h1,
.owe-intro__content h2 {
  margin: 0 0 4rem;
  font-family: var(--secondary-font);
  font-weight: 400;
  font-size: 5.5rem;
  /* 55px */
  line-height: 7rem;
  /* 70px */
  color: var(--black);
  text-align: center;
}

.owe-intro__content p {
  margin: 0 0 3.2rem;
}

.owe-intro__content p:last-child {
  margin-bottom: 0;
}

/* Programs — logo box + content stack (Figma 219×117 / gap 40 + 54) */
.owe-program__content {
  gap: 2.4rem;
  /* 54px — body → CTA */
}

.owe-program__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3rem;
  /* 40px */
  width: 100%;
}

.owe-program__body .afs-program__heading,
.owe-program__body .afs-program__text {
  margin: 0;
}

.owe-program__body .afs-program__heading {
  line-height: 7rem;
  /* 70px — Figma Ehsaas Women */
}



.owe-program__logo-img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: 100%;
  object-fit: contain;
  margin: 0;
}

.owe-recognition {
  position: relative;
  overflow: hidden;
  width: 100%;
  background: #faf6ef;
}

.owe-recognition__bg {
  position: absolute;
  inset: 0;
  background-image: var(--owe-recognition-bg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  opacity: 0.5;
  pointer-events: none;
  z-index: 0;
}

.owe-recognition__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 6.7rem;
  /* 67px */
  padding-block: 15rem;
  /* 150px */
}

.owe-recognition__block {
  width: 100%;
}

.owe-recognition__block .afs-program__heading {
  margin-bottom: 1.8rem;
  line-height: 5.2rem;
  /* 52px */
}

.owe-awards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3.2rem;
  /* ~justify-between on 1738 track */
  width: 100%;
}

.owe-award {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
  /* ~31.7px */
  min-height: 27.2rem;
  /* 272px */
  padding: 4rem 2.6rem;
  /* ~40.7 / 26 */
  border: 0.18rem solid var(--orange);
  border-radius: 0.9rem;
  /* ~9px */
  background: transparent;
  box-sizing: border-box;
}

.owe-award__title {
  margin: 0;
  font-family: var(--secondary-font);
  font-weight: 700;
  font-size: 3rem;
  /* 30px */
  line-height: 4.1rem;
  color: var(--orange);
}

.owe-award__text {
  margin: 0;
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 2rem;
  /* 20px */
  line-height: 2.9rem;
  color: var(--black);
}

/* Schedule alignment — Playfair 36 / gap 73; icons sized for 6-up track */
.owe-alignment .afs-alignment__inner {
  gap: 7.3rem;
  /* 73px */
  padding-block: 6.6rem 9rem;
}

.owe-alignment .afs-alignment__text {
  max-width: 119.8rem;
  font-family: var(--secondary-font);
  font-weight: 400;
  font-size: 3.6rem;
  /* 36px */
  line-height: 7rem;
  /* 70px */
}

.owe-alignment .afs-alignment__icons {
  width: 100%;
  max-width: 119.8rem;
  /* Figma content width */
  margin-inline: auto;
}

.owe-alignment .afs-alignment__icons.is-swiper-active .afs-alignment__swiper {
  padding-bottom: 0;
}

.owe-alignment .afs-alignment__icons.has-pagination .afs-alignment__swiper {
  padding-bottom: 3.6rem;
}

.owe-alignment .afs-alignment__icons.is-swiper-active .afs-alignment__icon {
  width: 100%;
  height: auto;
  max-width: 17.6rem;
  margin-inline: auto;
  aspect-ratio: 1 / 1;
  border-radius: 0.8rem;
}

/* ==========================================
   EDUCATIONAL SUPPORT (Figma 769:1534)
========================================== */

.es-initiatives__stats {
  margin-top: 4rem;
  margin-bottom: 0;
}

.es-initiatives .afs-program__text {
  margin-bottom: 0;
}

/* Voices of Our Students */
.es-voices {
  width: 100%;
  padding-block: 15rem;
  background: var(--white);
}

.es-voices__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6rem;
  width: 100%;
  max-width: 144rem;
}

.es-voices__heading {
  margin: 0;
  width: 100%;
  font-family: var(--secondary-font);
  font-weight: 400;
  font-size: 5.5rem;
  line-height: 7rem;
  color: var(--black);
  text-align: center;
}

.es-voices__carousel {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 0;
  width: 100%;
}

.es-voices__swiper {
  width: 100%;
  max-width: 106.3rem;
  overflow: hidden;
}

.es-voices__slide {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3.8rem;
  text-align: center;
}

.es-voices__quote {
  width: 100%;
}

.es-voices__quote p {
  margin: 0;
  font-family: "Noto Sans Devanagari", var(--primary-font), sans-serif;
  font-weight: 400;
  font-size: 2.2rem;
  line-height: 3.6rem;
  color: var(--black);
}

.es-voices__author {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
}

.es-voices__photo {
  width: 8.2rem;
  height: 8.2rem;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
}

.es-voices__photo-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.es-voices__name {
  margin: 0;
  font-family: var(--secondary-font);
  font-weight: 400;
  font-size: 2.5rem;
  line-height: 4rem;
  color: var(--black);
}

.es-voices__role {
  margin: 0;
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 1.8rem;
  line-height: normal;
  color: var(--navy);
}

.es-voices__arrow {
  position: absolute;
  /* Fixed from carousel top (quote mid-line) — does not move when slide height changes */
  top: 9rem;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.8rem;
  height: 4.8rem;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--black);
  cursor: pointer;
  transform: translateY(-50%);
  transition: opacity 0.2s ease, color 0.2s ease;
}

.es-voices__arrow i {
  font-size: 3.6rem;
  line-height: 1;
}

.es-voices__arrow--prev {
  left: 0;
}

.es-voices__arrow--next {
  right: 0;
}

.es-voices__arrow:hover,
.es-voices__arrow:focus-visible {
  color: var(--orange);
}

.es-voices__arrow:focus-visible {
  outline: 0.2rem solid var(--orange);
  outline-offset: 0.3rem;
}

.es-voices__arrow.swiper-button-disabled {
  opacity: 0.35;
  pointer-events: none;
}

/* Covid Relief — centered copy */
.es-covid {
  position: relative;
  overflow: hidden;
  width: 100%;
  background-color: var(--cream-banner);
}

.es-covid__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: var(--es-covid-bg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  opacity: 0.7;
  pointer-events: none;
}

.es-covid__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,
      rgba(255, 255, 255, 0) 0%,
      rgba(254, 246, 228, 0.68) 100%);
}

.es-covid__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4rem;
  max-width: 144rem;
  padding-block: 15rem;
  text-align: center;
}

.es-covid__heading {
  margin: 0;
  width: 100%;
  font-family: var(--secondary-font);
  font-weight: 400;
  font-size: 4.2rem;
  line-height: 7rem;
  color: var(--black);
}

.es-covid__content {
  width: 100%;
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 2.2rem;
  line-height: 3.2rem;
  color: var(--black);
}

.es-covid__content>*:first-child {
  margin-top: 0;
}

.es-covid__content>*:last-child {
  margin-bottom: 0;
}

.es-covid__content p {
  margin: 0 0 2.4rem;
}

.es-covid__content p:last-child {
  margin-bottom: 0;
}

.es-books .afs-programs__title {
  display: none;
}

/* ==========================================
   VOCATIONAL TRAINING (Figma 769:993)
========================================== */

.vt-intro {
  position: relative;
  overflow: hidden;
  width: 100%;
  background-color: #fff8ed;
  background-image: url("../images/vt-intro-bg.webp");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 100% auto;
}

.vt-intro__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4rem;
  max-width: 173.5rem;
  padding-block: 11.5rem 15rem;
  text-align: center;
}

.vt-intro__content {
  width: 100%;
  max-width: 173.5rem;
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 2.2rem;
  line-height: 3.2rem;
  color: var(--black);
  text-align: center;
}

.vt-intro__content>*:first-child {
  margin-top: 0;
}

.vt-intro__content>*:last-child {
  margin-bottom: 0;
}

.vt-intro__content h1,
.vt-intro__content h2,
.vt-intro__heading {
  margin: 0 0 4rem;
  font-family: var(--secondary-font);
  font-weight: 400;
  font-size: 5.5rem;
  line-height: 7rem;
  color: var(--black);
  text-align: center;
}

.vt-intro__content p {
  margin: 0 0 2.4rem;
}

.vt-intro__content p:last-child {
  margin-bottom: 0;
}

.vt-programs--plain {
  background: #fff8ed;
}

.vt-programs--plain .afs-programs__bg {
  display: none;
}

.vt-voices {
  background: #fff8ed;
}

.vt-voices__role {
  max-width: 43.4rem;
  width: max-content;
  white-space: normal;
}

.vt-alignment {
  background: #fff8ed;
}

.vt-alignment .afs-alignment__inner {
  gap: 5rem;
  padding-block: 6.6rem 15rem;
}

/* ==========================================
   EHSAAS WOMEN (team cards, no tabs)
========================================== */

/* Solid cream only — no team-tabs background image */
.ehsaas-women.team-tabs {
  background-color: #f7f1e8;
  background-image: none;
}

.ehsaas-women.team-tabs::before {
  display: none;
}

/* Invisible trigger for infinite scroll (observed by JS).
   Use a slightly taller hit area — 1px sentinels are unreliable on some tablets. */
.ehsaas-women__sentinel {
  width: 100%;
  height: 2.4rem;
  margin: 0;
  padding: 0;
  pointer-events: none;
  visibility: hidden;
}

/*
 * AOS is disabled below 1199px, but AJAX-loaded cards still ship with data-aos.
 * aos.css keeps those at opacity:0 forever — force them visible on tablet/mobile.
 */
@media (max-width: 1198.98px) {
  .ehsaas-women [data-aos] {
    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto !important;
  }
}

.ehsaas-women__status {
  margin: 2.4rem 0 0;
  text-align: center;
  font-family: var(--primary-font);
  font-size: 1.6rem;
  font-weight: 500;
  color: var(--navy);
}

/* Intro sits at top of cream section — same typography as AFS/OWE intro */
.ehsaas-women.team-tabs.has-intro {
  padding-block: 11.5rem 15rem;
}

.ehsaas-women.team-tabs .team-tabs__inner {
  gap: 8rem;
}

.ehsaas-women-intro {
  position: relative;
  z-index: 1;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.ehsaas-women-intro__content {
  width: 100%;
  max-width: 173.5rem;
  margin: 0;
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 2.2rem;
  line-height: 3.2rem;
  color: var(--black);
  text-align: center;
}

.ehsaas-women-intro__content>*:first-child {
  margin-top: 0;
}

.ehsaas-women-intro__content>*:last-child {
  margin-bottom: 0;
}

.ehsaas-women-intro__content h1,
.ehsaas-women-intro__content h2 {
  margin: 0 0 4rem;
  max-width: none;
  font-family: var(--secondary-font);
  font-weight: 400;
  font-size: 5.5rem;
  line-height: 7rem;
  color: var(--black);
  text-align: center;
}

.ehsaas-women-intro__content h3 {
  margin: 0 0 2.4rem;
  font-family: var(--secondary-font);
  font-weight: 400;
  font-size: 3.6rem;
  line-height: 4.6rem;
  color: var(--black);
  text-align: center;
}

.ehsaas-women-intro__content p {
  margin: 0 0 3.2rem;
}

.ehsaas-women-intro__content p:last-child {
  margin-bottom: 0;
}

.ehsaas-women-intro__content a {
  color: var(--orange);
  text-decoration: underline;
  text-underline-offset: 0.3rem;
}

.ehsaas-women-intro__content a:hover,
.ehsaas-women-intro__content a:focus-visible {
  color: var(--black);
}

.ehsaas-women.team-tabs:not(.has-intro) {
  padding-block: 8rem 15rem;
}

.ehsaas-women.team-tabs:not(.has-intro) .team-tabs__inner {
  gap: 0;
}



/* ==========================================
   NEWS COVERAGE (Figma 769:2129)
========================================== */
body.news-coverage {
  padding-block: 0rem !important;
}

.news-coverage {
  position: relative;
  width: 100%;
  padding-block: 11.5rem 15rem;
  background: var(--white);
}

.news-coverage__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5rem;
  width: 100%;
}

.news-coverage__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5rem;
  width: 100%;
}

.news-coverage__tabs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 4rem;
}

.news-coverage__tab {
  appearance: none;
  margin: 0;
  padding: 1.1rem 1.6rem;
  border: 0.1rem solid #cfcfcf;
  border-radius: 10rem;
  background: var(--white);
  color: var(--black);
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.8;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}

.news-coverage__tab:hover {
  border-color: var(--orange);
}

.news-coverage__tab.is-active,
.news-coverage__tab[aria-selected="true"] {
  background: var(--orange);
  border-color: var(--orange);
  color: var(--white);
}

.news-coverage__tab:focus-visible {
  outline: 0.2rem solid var(--navy);
  outline-offset: 0.3rem;
}

.news-coverage__select-wrap {
  display: none;
  width: min(100%, 42rem);
  margin: 0;
}

.news-coverage__select-wrap .screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.news-coverage__select {
  appearance: none;
  -webkit-appearance: none;
  display: block;
  width: 100%;
  margin: 0;
  padding: 1.6rem 4.8rem 1.6rem 2.2rem;
  border: 0.1rem solid #cfcfcf;
  border-radius: 10rem;
  background-color: var(--white);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='10' viewBox='0 0 16 10'%3E%3Cpath fill='%231C4288' d='M1.4.6 8 7.2 14.6.6 16 2 8 10 0 2z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 2rem center;
  background-size: 1.4rem auto;
  color: var(--black);
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.3;
  cursor: pointer;
  box-sizing: border-box;
}

.news-coverage__select:focus-visible {
  outline: 0.2rem solid var(--orange);
  outline-offset: 0.3rem;
  border-color: var(--orange);
}

.news-coverage__divider,
.news-coverage__grid-divider {
  width: 100%;
  height: 0;
  border-top: 0.1rem solid rgba(0, 0, 0, 0.2);
}

.news-coverage__panel {
  display: none;
  width: 100%;
}

.news-coverage__panel.is-active {
  display: block;
}

.news-coverage__print.press-list {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4rem;
  padding-block: 0;
  background: transparent;
}

.news-coverage__print .blog-list__inner,
.news-coverage__print.blog-list {
  width: 100%;
}

.news-coverage__print .blog-list__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 3.2rem;
  row-gap: 3.2rem;
  align-items: stretch;
  width: 100%;
}

/* Print Media cards (News Coverage) */
.print-media-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  margin: 0;
  border: 0.1rem solid rgba(0, 0, 0, 0.08);
  border-radius: 1.2rem;
  background: #faf8f5;
  overflow: hidden;
  transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

.print-media-card:hover,
.print-media-card:focus-within {
  border-color: rgba(249, 157, 38, 0.35);
  box-shadow: 0 1.2rem 3.2rem rgba(28, 66, 136, 0.08);
  transform: translateY(-0.3rem);
}

.print-media-card__link {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  padding: 2.4rem;
  color: inherit;
  text-decoration: none;
  box-sizing: border-box;
}

.print-media-card__link--static {
  cursor: default;
}

.print-media-card__date {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  align-self: flex-start;
  margin: 0;
  padding: 0.6rem 1.2rem;
  border-radius: 0.6rem;
  background: #f3e6d4;
  color: #5c4030;
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.3;
}

.print-media-card__date i {
  color: var(--orange);
  font-size: 1.6rem;
  line-height: 1;
}

.print-media-card__title {
  margin: 0;
  font-family: var(--secondary-font, "Playfair Display", Georgia, serif);
  font-weight: 400;
  font-size: 2.4rem;
  line-height: 1.3;
  color: var(--navy, #1c4288);
}

/* Media always shown — real image or low-opacity logo placeholder */
.print-media-card__media {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 0.8rem;
  overflow: hidden;
  background: #f0ebe3;
}

.print-media-card__media--placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(165deg, #f7f1e8 0%, #efe6da 100%);
}

.print-media-card__placeholder-logo {
  display: block;
  width: min(48%, 16rem);
  height: auto;
  max-height: 55%;
  object-fit: contain;
  opacity: 0.18;
  pointer-events: none;
  user-select: none;
}

.print-media-card__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  transition: transform 0.45s ease;
}

.print-media-card.has-image:hover .print-media-card__img,
.print-media-card.has-image:focus-within .print-media-card__img {
  transform: scale(1.06);
}

.print-media-card__text {
  margin: 0;
  margin-top: auto;
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.5;
  color: var(--black);
}


.news-coverage__electronic {
  display: flex;
  flex-direction: column;
  gap: 5rem;
  width: 100%;
}

.news-coverage__featured-row {
  display: grid;
  grid-template-columns: minmax(0, 1.95fr) minmax(0, 1fr);
  gap: 4rem 6.4rem;
  align-items: start;
  width: 100%;
}

.news-coverage__featured-row.is-solo {
  grid-template-columns: 1fr;
}

.news-coverage__side {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  min-width: 0;
}

.emedia-card.emedia-card--side {
  padding: 3.6rem 3.2rem 3.2rem;
  border: 0.1rem solid rgba(28, 66, 136, 0.08);
  border-radius: var(--radius-md);
  background: linear-gradient(165deg, #fffdf8 0%, var(--white) 55%);
  box-shadow: 0 0.8rem 2.4rem rgba(28, 66, 136, 0.04);
  transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease, background 0.3s ease;
}

.emedia-card.emedia-card--side::before {
  content: "";
  position: absolute;
  top: 0;
  left: 3.2rem;
  right: 3.2rem;
  height: 0.3rem;
  border-radius: 0 0 0.4rem 0.4rem;
  background: var(--orange);
  opacity: 0;
  transform: scaleX(0.4);
  transform-origin: left center;
  transition: opacity 0.3s ease, transform 0.35s ease;
}

.emedia-card.emedia-card--side:hover,
.emedia-card.emedia-card--side:focus-within {
  border-color: rgba(249, 157, 38, 0.45);
  background: linear-gradient(165deg, #fff8ec 0%, #fffdf8 60%);
  box-shadow: 0 1.4rem 3.6rem rgba(28, 66, 136, 0.08);
  transform: translateY(-0.4rem);
}

.emedia-card.emedia-card--side:hover::before,
.emedia-card.emedia-card--side:focus-within::before {
  opacity: 1;
  transform: scaleX(1);
}

.news-coverage__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5rem 4rem;
  width: 100%;
}

.emedia-card.emedia-card--grid {
  padding: 3.6rem 3.2rem 3.2rem;
  border: 0.1rem solid rgba(28, 66, 136, 0.08);
  border-radius: var(--radius-md);
  background: linear-gradient(165deg, #fffdf8 0%, var(--white) 55%);
  box-shadow: 0 0.8rem 2.4rem rgba(28, 66, 136, 0.04);
  transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease, background 0.3s ease;
}

.emedia-card.emedia-card--grid::before {
  content: "";
  position: absolute;
  top: 0;
  left: 3.2rem;
  right: 3.2rem;
  height: 0.3rem;
  border-radius: 0 0 0.4rem 0.4rem;
  background: var(--orange);
  opacity: 0;
  transform: scaleX(0.4);
  transform-origin: left center;
  transition: opacity 0.3s ease, transform 0.35s ease;
}

.emedia-card.emedia-card--grid:hover,
.emedia-card.emedia-card--grid:focus-within {
  border-color: rgba(249, 157, 38, 0.45);
  background: linear-gradient(165deg, #fff8ec 0%, #fffdf8 60%);
  box-shadow: 0 1.4rem 3.6rem rgba(28, 66, 136, 0.08);
  transform: translateY(-0.4rem);
}

.emedia-card.emedia-card--grid:hover::before,
.emedia-card.emedia-card--grid:focus-within::before {
  opacity: 1;
  transform: scaleX(1);
}

.news-coverage__digital {
  width: 100%;
}

.news-coverage__digital .ctf-tweets {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 3.2rem;
}

.news-coverage__digital #ctf-more {
  width: fit-content !important;
  margin: 0 auto !important;
  padding: 1rem 4rem 1.5rem !important;
}

.news-coverage__digital #ctf .ctf-author-name {
  margin-top: 0 !important;
}

.news-coverage__load-more {
  align-self: center;
  margin-top: 1rem;
}

/* Electronic media cards */
.emedia-card {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  min-width: 0;
  margin: 0;
}

.emedia-card__media {
  position: relative;
  width: 100%;
  aspect-ratio: 948 / 533;
  border-radius: 1rem;
  overflow: hidden;
  background: #f4f4f4;
}

.emedia-card__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  transition: transform 0.45s ease;
}

.emedia-card:hover .emedia-card__img,
.emedia-card:focus-within .emedia-card__img {
  transform: scale(1.06);
}

.emedia-card__body {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  flex: 1 1 auto;
  min-width: 0;
}

.emedia-card--featured .emedia-card__body {
  gap: 4rem;
}

.emedia-card__title {
  margin: 0;
  font-family: var(--secondary-font, "Playfair Display", Georgia, serif);
  font-weight: 400;
  font-size: 3rem;
  line-height: 1.36;
  color: var(--navy, #1c4288);
}

.emedia-card__title a {
  color: inherit;
  text-decoration: none;
  outline: none;
}

.emedia-card__title a:hover,
.emedia-card__title a:focus-visible {
  color: var(--orange);
}

.emedia-card--featured .emedia-card__title {
  font-size: 5.5rem;
  line-height: 1.27;
}

.emedia-card__excerpt {
  margin: 0;
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 2.2rem;
  line-height: 1.45;
  color: var(--black);
}

.emedia-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.6rem;
  margin-top: auto;
  width: 100%;
  padding-top: 2rem;
  border-top: 0.1rem solid rgba(28, 66, 136, 0.08);
}

.emedia-card__publisher {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-width: 0;
}

.emedia-card__logo {
  display: block;
  object-fit: cover;
  flex-shrink: 0;
  border-radius: 0.4rem;
}

.emedia-card__publisher-name {
  font-family: var(--primary-font);
  font-weight: 600;
  font-size: 2rem;
  line-height: 1.45;
  color: var(--black);
}

.emedia-card--featured .emedia-card__publisher-name {
  font-weight: 600;
}

.emedia-card__more {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  flex-shrink: 0;
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.45;
  color: var(--orange);
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.2s ease;
}

.emedia-card__more i {
  font-size: 2.4rem;
  line-height: 1;
}

.emedia-card__more:hover,
.emedia-card__more:focus-visible {
  color: var(--navy);
}

/* Print Media — Fancybox caption (centered, no full-width blue bar) */
.fancybox__container.is-print-media .fancybox__footer {
  background: transparent;
  padding: 0;
  pointer-events: none;
}

.fancybox__container.is-print-media .fancybox__caption {
  display: flex;
  justify-content: center;
  width: auto;
  max-width: min(92vw, 72rem);
  margin: 0 auto;
  padding: 1.6rem 1.6rem 2.4rem;
  border: 0;
  background: transparent;
  color: #fff;
  text-align: center;
  box-sizing: border-box;
  pointer-events: auto;
}

.print-media-caption {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.2rem;
  width: auto;
  max-width: 100%;
  margin: 0 auto;
}

.print-media-caption__title {
  margin: 0;
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.4;
  color: #ffffff;
  text-align: center;
}

.print-media-caption__text {
  display: inline-block;
  max-width: 100%;
  margin: 0;
  padding: 1rem 1.8rem;
  border-radius: 0.8rem;
  background: rgba(32, 32, 32, 0.72);
  font-family: var(--primary-font);
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.88);
  text-align: center;
  box-sizing: border-box;
}

.no-contentpage {
  width: 100%;
  height: 100vh;
  background-color: #ffebd7;
}

.no-cont-logowrap {
  width: 32rem;
  height: auto;
}

.inner-nocontent {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  height: 100vh;
  gap: 3rem;
}

.no-cont-logowrap a {
  display: block;
  width: 100%;
  height: auto;
}

.no-cont-logowrap a img {
  width: 100%;
  height: auto;
}

.inner-nocontent h1 {
  font-family: var(--primary-font);
  font-size: 30rem;
  font-weight: 500;
  line-height: 30rem;
  color: #0c1220;
}

.inner-nocontent .text-cont {
  padding-inline: 6rem;
}

.inner-nocontent .text-cont p {
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 4rem;
  color: #0c1220;
  text-align: center;
}

.nocont-btnwrap .btn--primary {
  font-size: 2.8rem;
  padding: 2rem 4rem;
}

.default-section {
  padding-block: 10rem;
}

.default-section h2 {
  font-size: 3.6rem;
  font-weight: 500;
  line-height: 4.6rem;
  color: #0c1220;
  margin-bottom: 1.4rem;
}

.default-section h3 {
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 4.2rem;
  color: #0c1220;
  margin-bottom: 1.4rem;
}

.default-section p,
.default-section ul li,
.default-section ol li {
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 3.2rem;
  color: #0c1220;
  margin-bottom: 1.4rem;
}

.default-section h2:not(:first-of-type) {
  margin-top: 4rem;
}

.default-section p a,
.default-section ul li a,
.default-section ol li a {
  color: var(--orange);
  text-decoration: underline;
  transition: all 0.4s ease;
}

.default-section p a:hover,
.default-section ul li a:hover,
.default-section ol li a:hover {
  color: #ff7d00;
}

.default-section ul {
  list-style: disc;
  margin-left: 2.8rem;
}

.default-section ol {
  list-style: auto;
  margin-left: 2.8rem;
}

.default-section p a,
.default-section ul li a,
.default-section ol li a {
  word-break: break-all;
}

.last_column {
  padding-left: 3.5rem;
}

.content-column {
  margin-bottom: 3rem;
}

.acceptance .wpcf7-list-item {
  margin-left: 0;
}

.acceptance .wpcf7-list-item label {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  cursor: pointer;
}

/* Wrapper */
.acceptance {
  margin-top: 1rem;
}

/* Hide default checkbox appearance */
.acceptance input[type="checkbox"] {
  -webkit-appearance: none;
  appearance: none;
  width: 2.4rem;
  height: 2.4rem;
  margin: 0 1rem 0 0;
  border: 0.1rem solid #c2c2c2;
  border-radius: 0.5rem;
  background: transparent;
  cursor: pointer;
  position: relative;
  vertical-align: middle;
  transition: all 0.2s ease;
  flex-shrink: 0;
}

/* Checked state */
.acceptance input[type="checkbox"]:checked {
  background: var(--orange);
  border-color: var(--orange);
}

/* White checkmark */
.acceptance input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: 0.8rem;
  top: 0.4rem;
  width: 0.6rem;
  height: 1.2rem;
  border: solid var(--white);
  border-width: 0 0.2rem 0.2rem 0;
  transform: rotate(45deg);
}

/* Label text */
.acceptance .wpcf7-list-item-label {
  font-size: 1.6rem;
  line-height: 1.5;
  vertical-align: middle;
}

/* Remove CF7 default spacing */
.acceptance .wpcf7-list-item {
  margin: 0;
}

.page-template-template-vocational-training .afs-programs--last {
  background: #fff;
}

.page-template-template-vocational-training .afs-alignment {
  background: #fff;
}

.site-footer__menu li.current-page-ancestor a {
  color: var(--orange);
}

@media (max-width: 767px) {
  .fancybox__container.is-print-media .fancybox__caption {
    max-width: 94vw;
    padding: 1.2rem 1.2rem 2rem;
  }

  .print-media-caption {
    gap: 1rem;
  }

  .print-media-caption__title {
    font-size: 1.5rem;
  }

  .print-media-caption__text {
    font-size: 1.3rem;
    padding: 0.8rem 1.4rem;
  }
}


.ehsaas-women .team-open--no-modal {
  cursor: default;
}

.ehsaas-women .team-card--no-modal .team-open--no-modal:hover .team-card__img,
.ehsaas-women .team-card--no-modal .team-open--no-modal:focus-visible .team-card__img {
  transform: none;
}

.team-tabs .nopopup button {
  cursor: default;
  margin: 0;
  padding: 0;
}

.team-tabs .nopopup:hover .team-card__img,
.team-tabs .nopopup:focus-visible .team-card__img {
  transform: none;
}

 .swiper-pagination-lock {
  display: none !important;
}

.partners__load-more:hover{
  background:#fac27b !important;
}






.pkf-newsletter-row label.screen-reader-text {
    display: none;
}
.site-footer__newsletter .hidden-fields-container{display:none;}
.site-footer__newsletter .screen-reader-response{display:none;}

.contact-page__form .dscf7-captcha-container{width:100%; padding:2rem; border-radius:1rem; background: #e6d8c1; border:0.1rem solid #c2c2c2;}
.contact-page__form .dscf7-captcha-container span.wpcf7-form-control-wrap input {
    width: 100%;
    box-sizing: border-box;
    height: 5.1rem;
    padding: 1rem;
    background: #fbf0dd;
    border-radius:0.5rem;
    border:0.1rem solid #c2c2c2;
    margin-top: 1rem;
}

.site-footer__newsletter .wpcf7-not-valid-tip{color:#dc3232 !important;}


.notice_section {
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
    position: relative;
    background: red;
    color: #fff;
    padding-block: 0.5rem;
    display: flex;
}

.marquee_track {
    display: flex;
    width: max-content;
    animation: marquee-scroll 15s linear infinite;
    will-change: transform;
}

.marquee_text {
    flex-shrink: 0;
    display: inline-block;
    padding-right: 80px;
}

/* Marquee animation */
@keyframes marquee-scroll {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-33.3333%);
    }
}

/* Pause on hover */
.notice_section:hover .marquee_track {
    animation-play-state: paused;
}