/* ============================================================
   ALTYN ALMA — Global Stylesheet
   Design tokens live in :root. Every component references
   these variables — never hardcode values in component CSS.
   ============================================================ */

@import url("https://fonts.googleapis.com/css2?family=Onest:wght@300;400;500;600;700&family=Raleway:ital,wght@0,500;0,600;1,500;1,600&display=swap");

/* ---- Design Tokens ---------------------------------------- */
:root {
  /* Typography scale */
  --b-0-font-family: "Onest", Helvetica, sans-serif;
  --b-0-font-size: 45px;
  --b-0-font-style: italic;
  --b-0-font-weight: 500;
  --b-0-letter-spacing: 0px;
  --b-0-line-height: 55px;

  --b-3-font-family: "Onest", Helvetica, sans-serif;
  --b-3-font-size: 20px;
  --b-3-font-style: normal;
  --b-3-font-weight: 400;
  --b-3-letter-spacing: 0px;
  --b-3-line-height: 25px;

  --b-5-font-family: "Onest", Helvetica, sans-serif;
  --b-5-font-size: 20px;
  --b-5-font-style: normal;
  --b-5-font-weight: 500;
  --b-5-letter-spacing: 0px;
  --b-5-line-height: 22px;

  --b-6-font-family: "Onest", Helvetica, sans-serif;
  --b-6-font-size: 18px;
  --b-6-font-style: normal;
  --b-6-font-weight: 500;
  --b-6-letter-spacing: 0px;
  --b-6-line-height: 19px;

  --b-7-font-family: "Onest", Helvetica, sans-serif;
  --b-7-font-size: 16px;
  --b-7-font-style: normal;
  --b-7-font-weight: 600;
  --b-7-letter-spacing: 0px;
  --b-7-line-height: 24px;

  --b-9-font-family: "Onest", Helvetica, sans-serif;
  --b-9-font-size: 15px;
  --b-9-font-style: normal;
  --b-9-font-weight: 300;
  --b-9-letter-spacing: 0px;
  --b-9-line-height: 15px;

  --h-2-font-family: "Onest", Helvetica, sans-serif;
  --h-2-font-size: 50px;
  --h-2-font-style: normal;
  --h-2-font-weight: 700;
  --h-2-letter-spacing: 0px;
  --h-2-line-height: 40px;

  --h-4-font-family: "Onest", Helvetica, sans-serif;
  --h-4-font-size: 35px;
  --h-4-font-style: normal;
  --h-4-font-weight: 700;
  --h-4-letter-spacing: 0px;
  --h-4-line-height: 40px;

  --h-5-font-family: "Onest", Helvetica, sans-serif;
  --h-5-font-size: 30px;
  --h-5-font-style: normal;
  --h-5-font-weight: 700;
  --h-5-letter-spacing: 0px;
  --h-5-line-height: 40px;

  --h-6-font-family: "Onest", Helvetica, sans-serif;
  --h-6-font-size: 30px;
  --h-6-font-style: normal;
  --h-6-font-weight: 500;
  --h-6-letter-spacing: 0px;
  --h-6-line-height: 40px;

  --h-10-font-family: "Onest", Helvetica, sans-serif;
  --h-10-font-size: 18px;
  --h-10-font-style: normal;
  --h-10-font-weight: 700;
  --h-10-letter-spacing: 0px;
  --h-10-line-height: 20px;

  /* Color tokens */
  --color-bg: #efefef;
  --color-header-bg: #2d2d2d;
  --color-footer-bg: #2e2e2e;
  --color-dark-card: #36393b;
  --color-light-card: #ededed;
  --color-white: #ffffff;
  --color-text-light: #e9eaef;
  --color-text-muted: #707070;
  --color-text-dim: #d0d0d0;
  --color-primary-light: rgba(255, 255, 255, 1);

  /* Gold gradient */
  --gold-gradient: linear-gradient(
    227deg,
    rgba(163, 135, 37, 1) 26%,
    rgba(186, 157, 41, 1) 38%,
    rgba(251, 224, 123, 1) 55%,
    rgba(193, 162, 50, 1) 73%,
    rgba(163, 135, 37, 1) 79%
  );

  /* Pill button gradient */
  --btn-pill-bg: linear-gradient(135deg, rgba(88, 88, 88, 1) 0%, rgba(35, 35, 35, 1) 100%);
  --btn-pill-border-bg: linear-gradient(135deg, rgba(54, 53, 53, 1) 0%, rgba(21, 21, 21, 1) 100%);
  --btn-pill-shadow: 2px 2px 16px #00000040, 2px 2px 16px #0000001a,
    -2px -2px 16px #ffffff1a, inset 4px 4px 14px #ffffff0d,
    inset 4px 4px 2px #d8d9df1a, inset -9px -13px 29px #5b5b5b33,
    inset -9px -13px 14px #48484833, 4px -3px 7.5px #0000004c;

  /* Dark card inset shadow */
  --dark-card-shadow: inset 12px 12px 30px #000000, inset -12px -12px 24px #ffffff4c;

  /* Max container widths */
  --container-max: 1728px;
  --content-max: 1571px;

  /* Spacing — fluid: designed at 1728 px, scale down to ~1024 px */
  --section-gap: clamp(14px, 1.39vw, 24px);
  --px-outer:    clamp(40px, 4.63vw, 80px);
}

/* ---- Reset & Base ----------------------------------------- */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--b-3-font-family);
  background-color: var(--color-bg);
  color: #1a1a1a;
  overflow-x: hidden;
  width: 100%;
  max-width: 100vw;
}

img {
  display: block;
  max-width: 100%;
}

a {
  text-decoration: none;
  color: inherit;
}

ul, ol {
  list-style: none;
}

button {
  cursor: pointer;
  font-family: inherit;
}

/* ---- Utility: pill button --------------------------------- */
.btn-pill {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  border-radius: 38px;
  border: none;
  padding: 10px 22px;
  color: var(--color-text-light);
  background: var(--btn-pill-bg);
  box-shadow: var(--btn-pill-shadow);
  font-family: var(--b-7-font-family);
  font-size: var(--b-7-font-size);
  font-weight: var(--b-7-font-weight);
  line-height: var(--b-7-line-height);
  letter-spacing: var(--b-7-letter-spacing);
  white-space: nowrap;
  transition: filter 0.2s;
}

.btn-pill::before {
  content: "";
  pointer-events: none;
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: 49px;
  padding: 5px;
  background: var(--btn-pill-border-bg);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

.btn-pill:hover {
  filter: brightness(1.1);
}

.btn-pill span {
  position: relative;
  z-index: 2;
}

/* Square / icon pill */
.btn-pill--icon {
  width: 42px;
  min-width: 42px;
  padding: 0;
}

/* ---- Utility: language switcher dropdown ------------------ */
.lang-switch {
  position: relative;
  display: inline-flex;
}

.lang-switch__menu {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  min-width: 96px;
  padding: 8px;
  border-radius: 16px;
  background: var(--color-header-bg, #1a1a1a);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.08);
  display: flex;
  flex-direction: column;
  gap: 4px;
  z-index: 60;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s;
}

.lang-switch.is-open .lang-switch__menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.lang-switch__option {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  border: none;
  background: transparent;
  color: var(--color-text-light);
  font-family: var(--b-7-font-family);
  font-size: var(--b-7-font-size);
  font-weight: var(--b-7-font-weight);
  padding: 10px 12px;
  border-radius: 10px;
  transition: background 0.15s;
}

.lang-switch__option:hover,
.lang-switch__option:focus-visible {
  background: rgba(255, 255, 255, 0.1);
}

.lang-switch__option[aria-checked="true"] {
  background: var(--btn-pill-bg);
}

/* ---- Utility: gold text gradient -------------------------- */
.text-gold {
  background: var(--gold-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

/* ---- Utility: dark neomorphic round button --------------- */
.btn-round-dark {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: var(--color-dark-card);
  box-shadow: inset 12px 12px 30px #000000, inset -12px -12px 24px #ffffff4c;
  border: none;
  flex-shrink: 0;
}

.btn-round-dark__inner {
  position: absolute;
  inset: 8.33%;
  border-radius: 50%;
  background: var(--color-dark-card);
}

.btn-round-dark img {
  position: relative;
  z-index: 1;
  width: 58.75%;
  height: 48px;
  object-fit: contain;
}

/* ---- Shared container wrapper ----------------------------- */
.container {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
}

/* ============================================================
   HEADER
   ============================================================ */
.site-header {
  position: relative;
  z-index: 100;
  width: 100%;
  background: var(--color-header-bg);
  box-shadow: inset 0px 0px 48px #0000000d, inset 0px 4px 4px #00000026;
  backdrop-filter: blur(24px) brightness(100%);
}

.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(12px, 1.16vw, 20px);
  min-height: clamp(60px, 4.17vw, 72px);
  padding: 12px var(--px-outer);
  max-width: var(--container-max);
  margin-inline: auto;
  width: 100%;
}

.site-header__logo {
  height: clamp(36px, 2.89vw, 50px);
  width: clamp(200px, 17.94vw, 310px);
  max-width: 100%;
  flex-shrink: 0;
  background: url("assets/-------1.png") left center / contain no-repeat;
}

.site-header__nav {
  flex: 1;
  display: flex;
  justify-content: center;
}

.site-header__nav ul {
  display: flex;
  align-items: center;
  gap: clamp(28px, 2.31vw, 40px);
}

.site-header__burger {
  display: none;
}

.site-header__mobile-panel {
  display: none;
}

.site-header__right {
  display: flex;
  align-items: center;
  gap: 25px;
  flex-shrink: 0;
}

/* ============================================================
   SECTION: MISSION BANNER
   ============================================================ */
.mission-banner {
  position: relative;
  width: 100%;
  background: var(--color-bg);
}

.mission-banner__inner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: clamp(360px, 28.94vw, 500px);
  width: 100%;
  overflow: hidden;
  padding: 20px 0;
}

.mission-banner__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mission-banner__content {
  position: relative;
  z-index: 10;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  width: 100%;
  padding: 20px var(--px-outer);
}

.mission-banner__top {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding-top: 8px;
}

.mission-banner__quote-card {
  width: clamp(600px, 76vw, 1310px);
  max-width: 100%;
  border-radius: 24px;
  background: rgba(78, 76, 76, 0.84);
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: clamp(140px, 11.57vw, 200px);
  padding: clamp(20px, 2.08vw, 36px) clamp(22px, 2.31vw, 40px);
}

.mission-banner__quote-text {
  width: 92.83%;
  font-family: "Raleway", Helvetica, sans-serif;
  font-size: clamp(22px, 2.34vw, 45px);
  font-style: var(--b-0-font-style);
  font-weight: var(--b-0-font-weight);
  line-height: 1.35;
  letter-spacing: var(--b-0-letter-spacing);
  text-align: center;
  color: #f8de7b;
}

.mission-banner__icons {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(18px, 2.08vw, 36px);
}

.mission-banner__bottom {
  position: relative;
  width: 100%;
  height: 65px;
  overflow: hidden;
}

.mission-banner__bottom-img {
  display: block;
  height: 100%;
  width: 100%;
  object-fit: fill;
}

/* Brand group: pinned to the clear zone in the ornament SVG.
   SVG is 1728 px wide; ornament ends at 1152 px (66.7 %),
   clear zone runs 1152–1635 px, right deco starts at 1635 px (5.4 % from right).
   Using left/right % means the group always sits inside the gap at every width. */
.mission-banner__brand-group {
  position: absolute;
  left: 66.7%;
  right: 5.4%;
  top: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(3px, 0.5vw, 8px);
}

/* Logo icon: scales with viewport so it always fits inside the clear zone (≈27.9 % wide) */
.mission-banner__brand-icons {
  flex-shrink: 0;
  width: clamp(28px, 3.8vw, 52px);
  height: clamp(28px, 3.8vw, 52px);
  background: url('assets/logo-circle-only.png') center / contain no-repeat;
}

.mission-banner__brand-icons--silver {
  background-image: url('assets/logo-silver.png');
}

/* Text images: aspect ratio ≈ 3.8:1 — height drives width automatically.
   Scales with viewport so the trio (circle + 2 texts) fits the ~27.9 % clear zone. */
.mission-banner__brand-text {
  flex-shrink: 0;
  height: clamp(20px, 2.6vw, 36px);
  width: auto;
  object-fit: contain;
}

.mission-banner__brand-text2 {
  flex-shrink: 0;
  height: clamp(20px, 2.6vw, 36px);
  width: auto;
  object-fit: contain;
}

/* Mobile-only variant of the bottom brand bar: hidden by default (desktop/
   tablet keep the single full-bleed image + absolutely-positioned overlay
   above). Shown only at <=767px, see mobile media query. */
.mission-banner__bottom-mobile {
  display: none;
}

/* Mobile-only variant for other-page hero brand bars (news/about/career):
   hidden by default, shown only at <=767px. */
.news-hero__brand-bar-mobile {
  display: none;
}

/* Shared style for the mobile ornament band PNG image.
   object-fit:contain scales the full strip to fit the container width
   so the entire ornament + ALTYN ALMA logo are visible (not cropped). */
.ornament-band-mobile__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
}

/* ============================================================
   SECTION: IMPACT METRICS
   ============================================================ */
.metrics {
  margin-top: var(--section-gap);
  width: 100%;
  padding: 0 clamp(16px, 1.39vw, 24px);
}

.metrics__card {
  width: 100%;
  border-radius: 28px;
  background: var(--color-dark-card);
  box-shadow: var(--dark-card-shadow);
  padding: clamp(12px, 1.04vw, 18px) clamp(16px, 1.62vw, 28px);
}

.metrics__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(14px, 1.85vw, 32px);
}

.metrics__item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(10px, 1.16vw, 20px);
  min-height: clamp(62px, 4.86vw, 84px);
}

.metrics__icon-wrap {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(62px, 4.86vw, 84px);
  height: clamp(62px, 4.86vw, 84px);
  flex-shrink: 0;
  border-radius: 50%;
  background: var(--gold-gradient);
  box-shadow: var(--dark-card-shadow);
}

.metrics__icon-inner {
  position: absolute;
  left: clamp(4px, 0.35vw, 6px);
  top: clamp(4px, 0.35vw, 6px);
  width: clamp(52px, 4.17vw, 72px);
  height: clamp(52px, 4.17vw, 72px);
  border-radius: 50%;
  background: var(--gold-gradient);
  pointer-events: none;
}

.metrics__icon-wrap img {
  position: relative;
  z-index: 1;
  width: clamp(36px, 2.78vw, 48px);
  height: clamp(36px, 2.78vw, 48px);
}

.metrics__icon-wrap--image {
  background: none;
  box-shadow: none;
}

.metrics__icon-wrap--image img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
}

.metrics__text {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 5px;
  text-align: right;
}

.metrics__value {
  font-family: var(--h-2-font-family);
  font-size: clamp(22px, 2.2vw, 38px);
  font-weight: var(--h-2-font-weight);
  line-height: 1;
  letter-spacing: var(--h-2-letter-spacing);
  color: var(--color-white);
  white-space: nowrap;
}

.metrics__label {
  font-family: var(--b-5-font-family);
  font-size: clamp(11px, 0.81vw, 14px);
  font-weight: var(--b-5-font-weight);
  line-height: 1.3;
  letter-spacing: var(--b-5-letter-spacing);
  color: var(--color-white);
  white-space: nowrap;
}

/* ============================================================
   SECTION: COMPANY OVERVIEW
   ============================================================ */
.overview {
  position: relative;
  margin-top: var(--section-gap);
  width: 100%;
  overflow: hidden;
  background-image: url("assets/rectangle-158.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.overview__inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: clamp(250px, 20.83vw, 360px);
  padding: clamp(18px, 1.62vw, 28px) var(--px-outer);
  max-width: var(--container-max);
  margin-inline: auto;
  width: 100%;
}

.overview__card {
  width: 100%;
  max-width: 1050px;
  border-radius: 35px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  background: rgba(0, 0, 0, 0.55);
  box-shadow: inset 0px 0px 4px #ffffff0d, inset 0px 4px 4px #ffffff26;
  backdrop-filter: blur(25px) brightness(100%);
}

.overview__card-inner {
  display: grid;
  grid-template-columns: 1fr clamp(220px, 15.63vw, 270px);
  align-items: end;
  gap: clamp(16px, 1.62vw, 28px);
  padding: clamp(18px, 1.62vw, 28px) clamp(22px, 2.31vw, 40px);
}

.overview__text-col {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.overview__heading {
  font-family: var(--h-4-font-family);
  font-size: var(--h-4-font-size);
  font-weight: var(--h-4-font-weight);
  line-height: var(--h-4-line-height);
  letter-spacing: var(--h-4-letter-spacing);
  color: var(--color-white);
}

.overview__body {
  max-width: 533px;
  font-size: clamp(14px, 1.04vw, 18px);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-white);
  font-family: "Onest", Helvetica, sans-serif;
}

.overview__body strong {
  font-family: var(--h-10-font-family);
  font-size: var(--h-10-font-size);
  font-weight: var(--h-10-font-weight);
  line-height: var(--h-10-line-height);
}

.overview__cta-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 50px;
  width: 100%;
  max-width: 270px;
}

.overview__logo {
  position: relative;
  height: 104px;
  width: 254px;
}

.overview__logo img {
  position: absolute;
}

.overview__logo-mobile {
  display: none;
}

.overview__btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 55px;
  border-radius: 49px;
  border: none;
  padding: 0 16px;
  background: linear-gradient(118deg, rgba(66, 66, 66, 1) 0%, rgba(10, 10, 10, 1) 100%);
  color: var(--color-text-light);
  box-shadow: var(--btn-pill-shadow);
  font-family: var(--b-7-font-family);
  font-size: var(--b-7-font-size);
  font-weight: var(--b-7-font-weight);
  line-height: var(--b-7-line-height);
  cursor: pointer;
  transition: filter 0.2s;
}

.overview__btn::before {
  content: "";
  pointer-events: none;
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: 49px;
  padding: 5px;
  background: linear-gradient(147deg, rgba(42, 42, 42, 1) 0%, rgba(35, 35, 35, 1) 100%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

.overview__btn:hover {
  filter: brightness(1.1);
}

.overview__btn-inner {
  white-space: nowrap;
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: clamp(16px, 5.79vw, 100px);
}

.overview__btn img {
  width: 33px;
  height: 33px;
}

/* ============================================================
   SECTION: LEADERSHIP QUOTE
   ============================================================ */
.leadership {
  position: relative;
  margin-top: var(--section-gap);
  width: 100%;
}

.leadership__grid {
  display: grid;
  grid-template-columns: minmax(160px, clamp(200px, 20.83vw, 360px)) 1fr;
  overflow: hidden;
  background: #ededed;
}

.leadership__photo {
  height: 100%;
  min-height: 220px;
  width: 100%;
  object-fit: cover;
  object-position: center;
}

.leadership__content {
  display: flex;
  align-items: center;
  background: #e2e1e1;
  padding: clamp(26px, 2.31vw, 40px) clamp(40px, 4.05vw, 70px) clamp(22px, 2.08vw, 36px) clamp(30px, 2.89vw, 50px);
  min-height: clamp(220px, 19.68vw, 340px);
}

.leadership__inner {
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 2.08vw, 36px);
  width: 100%;
  max-width: 1055px;
}

.leadership__quote {
  font-family: "Raleway", Helvetica, sans-serif;
  font-size: clamp(14px, 1.27vw, 22px);
  font-weight: 600;
  font-style: italic;
  line-height: clamp(20px, 1.85vw, 32px);
  letter-spacing: 0;
  color: #000;
  max-width: 998px;
}

.leadership__byline {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: clamp(28px, 3.47vw, 60px);
  width: 100%;
}

.leadership__name {
  font-family: var(--h-4-font-family);
  font-size: var(--h-4-font-size);
  font-weight: var(--h-4-font-weight);
  line-height: var(--h-4-line-height);
  letter-spacing: var(--h-4-letter-spacing);
  color: #000;
}

.leadership__sig {
  width: clamp(110px, 10.42vw, 180px);
  height: auto;
  flex-shrink: 0;
}

/* ============================================================
   SECTION: PARTNERS
   ============================================================ */
.partners {
  width: 100%;
  background: var(--color-bg);
  padding: 40px var(--px-outer) 0;
}

.partners__inner {
  max-width: var(--content-max);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: clamp(16px, 1.74vw, 30px);
}

.partners__heading-card {
  border-radius: 25px;
  background: var(--color-light-card);
  box-shadow: inset 0 2px 10px rgba(0, 0, 0, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: clamp(68px, 6.02vw, 104px);
  padding: clamp(12px, 1.16vw, 20px) 24px;
}

.partners__heading {
  font-family: var(--h-2-font-family);
  font-size: var(--h-2-font-size);
  font-weight: var(--h-2-font-weight);
  line-height: var(--h-2-line-height);
  letter-spacing: var(--h-2-letter-spacing);
  text-align: center;
  background: var(--gold-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.partners__grid-wrap {
  border-radius: 35px;
  border: 3px solid #c4c4c4;
  padding: clamp(16px, 1.68vw, 29px) clamp(16px, 1.79vw, 31px);
}

.partners__grid {
  display: flex;
  flex-direction: column;
  gap: clamp(16px, 2.03vw, 35px);
}

.partners__row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(150px, 100%), 1fr));
  gap: clamp(16px, 2.03vw, 35px);
}

.partners__cell {
  height: clamp(120px, 11.57vw, 200px);
  border-radius: 10px;
  background: var(--color-light-card);
  box-shadow: inset 0 2px 10px rgba(0, 0, 0, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
}

.partners__cell-img-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 60%;
  width: 76.86%;
  padding: 10px;
}

.partners__cell-img-wrap img,
.partners__cell-img-wrap .partners__bg-tile {
  width: 100%;
  height: 100px;
  object-fit: contain;
}

.partners__bg-tile {
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

.partners__toggle {
  display: none;
}

/* ============================================================
   SECTION: PARTNER INQUIRY
   ============================================================ */
.inquiry {
  position: relative;
  margin-top: 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(28px, 2.89vw, 50px);
  padding: 0 clamp(16px, 1.39vw, 24px);
  width: 100%;
}

.inquiry__tabs-wrap {
  width: 100%;
  max-width: var(--content-max);
  border-radius: 35px;
  background: var(--color-dark-card);
  padding: clamp(16px, 1.62vw, 26px);
  box-shadow: var(--dark-card-shadow);
}

.inquiry__tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(14px, 2.6vw, 45px);
}

.inquiry__tab {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 95px;
  width: 100%;
  border: none;
  cursor: pointer;
  overflow: hidden;
}

.inquiry__tab--inactive {
  border-radius: 20px;
  background: var(--color-dark-card);
  box-shadow: 9px 9px 30px #000000, -9px -9px 24px #ffffff33;
}

.inquiry__tab--active {
  border-radius: 25px;
  background: var(--color-dark-card);
  box-shadow: var(--dark-card-shadow);
}

.inquiry__tab-inset {
  pointer-events: none;
  position: absolute;
  left: 8px;
  right: 8px;
  top: 8.6px;
  height: 80px;
  border-radius: 18px;
  background: var(--color-dark-card);
}

.inquiry__tab-icon {
  position: absolute;
  left: 3%;
  z-index: 10;
}

.inquiry__tab--active .inquiry__tab-icon {
  height: 44.21%;
  width: 5.82%;
  filter: none !important;
  opacity: 1 !important;
}

.inquiry__tab--inactive .inquiry__tab-icon {
  height: 38.95%;
  width: 5.12%;
  filter: grayscale(100%) brightness(0.55);
  opacity: 0.35;
}

.inquiry__tab-label {
  position: relative;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 32px;
  white-space: nowrap;
  text-align: center;
}

.inquiry__tab--active .inquiry__tab-label {
  font-family: var(--h-4-font-family);
  font-size: var(--h-4-font-size);
  font-weight: var(--h-4-font-weight);
  line-height: var(--h-4-line-height);
  letter-spacing: var(--h-4-letter-spacing);
  background: var(--gold-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  opacity: 0.9;
}

.inquiry__tab--inactive .inquiry__tab-label {
  font-family: var(--h-6-font-family);
  font-size: var(--h-6-font-size);
  font-weight: var(--h-6-font-weight);
  line-height: var(--h-6-line-height);
  letter-spacing: var(--h-6-letter-spacing);
  color: var(--color-text-dim);
  opacity: 0.33;
}

/* ---- Map panel ---- */
.inquiry__map-panel {
  width: 100%;
  max-width: var(--content-max);
}

/* Wrapper needed so the mobile overlay can be absolutely positioned */
.inquiry__map-wrapper {
  position: relative;
}

.inquiry__map {
  width: 100%;
  height: 560px;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 8px 40px rgba(0, 0, 0, 0.6);
  background: #1a1a1a;
}

/* Mobile tap overlay: hidden on desktop, shown on mobile via media query.
   Sits above the Leaflet container so page-scroll touches never reach it.
   touch-action:pan-y lets the browser handle vertical scroll natively while
   still firing click for a clean tap. */
.map-tap-overlay {
  display: none;
}

/* Fullscreen map modal (mobile only) */
.map-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: #111;
  flex-direction: column;
}

.map-modal.is-open {
  display: flex;
}

.map-modal__close {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 9999;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(220, 220, 220, 0.92);
  border: none;
  color: #111;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.45);
  transition: background 0.15s;
}

.map-modal__close:hover,
.map-modal__close:active {
  background: rgba(255, 255, 255, 1);
}

.map-modal__map {
  flex: 1 1 0%;
  min-height: 0;
  width: 100%;
  /* Contain all of Leaflet's internal stacking contexts (tile panes use
     will-change / GPU compositing which creates new stacking contexts that
     can paint above siblings). isolation:isolate ensures nothing inside this
     div can escape and cover the close button. */
  isolation: isolate;
}

.map-modal__map .leaflet-container {
  height: 100%;
  width: 100%;
  background: #2a2a2a;
}

.map-modal__map .leaflet-tile-pane {
  filter: grayscale(100%) brightness(0.62) contrast(1.1);
}

.map-modal__map .leaflet-control-container {
  display: none;
}

.inquiry__map .leaflet-container {
  background: #2a2a2a;
  height: 100%;
  width: 100%;
}

.inquiry__map .leaflet-tile-pane {
  filter: grayscale(100%) brightness(0.62) contrast(1.1);
}

.inquiry__map .leaflet-control-container {
  display: none;
}

/* Branch map – bilingual (RU/EN) city label */
.branch-label {
  display: flex;
  flex-direction: column;
  line-height: 1.15;
  white-space: nowrap;
  pointer-events: none;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.9), 0 0 6px rgba(0, 0, 0, 0.7);
}

.branch-label__ru {
  font-size: 12px;
  font-weight: 600;
  color: #f2f2f2;
}

.branch-label__en {
  font-size: 10px;
  font-weight: 400;
  color: #c9c9c9;
}

/* Branch map – yellow dot marker */
.branch-dot {
  display: block;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #f5c518;
  box-shadow: 0 0 0 4px rgba(245, 197, 24, 0.35), 0 0 12px rgba(245, 197, 24, 0.5);
  cursor: pointer;
  transition: transform 0.15s ease;
}

.branch-dot:hover {
  transform: scale(1.25);
}

/* Branch popup card — dark shell + yellow pill design */
.branch-popup .leaflet-popup-content-wrapper {
  border-radius: 16px;
  background: #232323;
  padding: 0;
  overflow: hidden;
  box-shadow: 0 6px 28px rgba(0, 0, 0, 0.55);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.branch-popup .leaflet-popup-content {
  margin: 0;
  padding: 0;
}

.branch-popup .leaflet-popup-tip-container {
  display: none;
}

/* Outer dark container */
.bp {
  padding: 12px 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* Yellow pill badge */
.bp__city {
  display: inline-block;
  align-self: flex-start;
  background: #f5d008;
  color: #1a1a1a;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding: 5px 14px;
  border-radius: 20px;
  white-space: nowrap;
}

/* White inner card */
.bp__card {
  background: #ffffff;
  border-radius: 10px;
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.bp__addr-label {
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.08em;
  color: #222;
  text-transform: uppercase;
  margin-bottom: 2px;
}

.bp__addr {
  font-size: 13px;
  color: #333;
  line-height: 1.45;
  margin-bottom: 8px;
}

.bp__zip {
  font-size: 13px;
  color: #333;
}

.bp__zip-label {
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #222;
}

/* ---- Form section ---- */
.inquiry__form-section {
  position: relative;
  width: 100%;
  max-width: var(--container-max);
  overflow: hidden;
  background-image: url("assets/rectangle-164.jpg");
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(40px, 3.7vw, 64px) clamp(24px, 2.78vw, 48px);
}

.inquiry__form-card {
  width: 100%;
  max-width: 1217px;
  border-radius: 35px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  background: rgba(0, 0, 0, 0.55);
  box-shadow: inset 0px 0px 4px #ffffff0d, inset 0px 4px 4px #ffffff26;
  backdrop-filter: blur(25px) brightness(100%);
  padding: 48px 60px;
}

.inquiry__form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
  align-items: end;
  gap: clamp(28px, 2.89vw, 50px);
}

.inquiry__form {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.inquiry__field {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.inquiry__label {
  font-family: var(--b-6-font-family);
  font-size: var(--b-6-font-size);
  font-weight: var(--b-6-font-weight);
  line-height: var(--b-6-line-height);
  letter-spacing: var(--b-6-letter-spacing);
  color: var(--color-white);
  white-space: nowrap;
}

.inquiry__input {
  height: 40px;
  border-radius: 40px;
  border: 1px solid var(--color-white);
  background: transparent;
  padding: 0 16px;
  font-family: var(--b-9-font-family);
  font-size: var(--b-9-font-size);
  font-weight: var(--b-9-font-weight);
  line-height: var(--b-9-line-height);
  color: var(--color-white);
  outline: none;
  width: 100%;
}

.inquiry__input::placeholder {
  color: var(--color-text-muted);
}

.inquiry__textarea {
  min-height: 85px;
  border-radius: 20px;
  border: 1px solid var(--color-white);
  background: transparent;
  padding: 13px 16px;
  font-family: var(--b-9-font-family);
  font-size: var(--b-9-font-size);
  font-weight: var(--b-9-font-weight);
  line-height: var(--b-9-line-height);
  color: var(--color-white);
  outline: none;
  resize: none;
  width: 100%;
}

.inquiry__textarea::placeholder {
  color: var(--color-text-muted);
}

.inquiry__info-col {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.inquiry__info-heading {
  font-family: var(--h-4-font-family);
  font-size: var(--h-4-font-size);
  font-weight: var(--h-4-font-weight);
  line-height: var(--h-4-line-height);
  letter-spacing: var(--h-4-letter-spacing);
  color: var(--color-white);
  width: 100%;
}

.inquiry__info-body {
  font-family: var(--b-3-font-family);
  font-size: var(--b-3-font-size);
  font-weight: var(--b-3-font-weight);
  line-height: var(--b-3-line-height);
  letter-spacing: var(--b-3-letter-spacing);
  color: var(--color-white);
  width: 100%;
}

.inquiry__submit {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: auto;
  border-radius: 49px;
  border: none;
  background: var(--btn-pill-bg);
  padding: 15px 30px;
  font-family: var(--b-7-font-family);
  font-size: var(--b-7-font-size);
  font-weight: var(--b-7-font-weight);
  line-height: var(--b-7-line-height);
  letter-spacing: var(--b-7-letter-spacing);
  color: var(--color-text-light);
  box-shadow: var(--btn-pill-shadow);
  cursor: pointer;
  transition: opacity 0.2s;
}

.inquiry__submit::before {
  content: "";
  pointer-events: none;
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: 49px;
  padding: 5px;
  background: var(--btn-pill-border-bg);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

.inquiry__submit span {
  position: relative;
  z-index: 2;
}

.inquiry__submit:hover {
  opacity: 0.9;
}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer {
  position: relative;
  margin-top: 50px;
  width: 100%;
  background: var(--color-footer-bg);
  color: var(--color-white);
}

.site-footer__inner {
  position: relative;
  max-width: var(--container-max);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  min-height: 300px;
  overflow: hidden;
}

/* Top band: pattern + logo on ONE row */
.site-footer__top-band {
  display: flex;
  align-items: center;
  width: 100%;
  overflow: hidden;
}

.site-footer__wave {
  flex: 1 1 0%;
  min-width: 0;
  height: 42px;
  object-fit: cover;
  object-position: left;
  display: block;
  margin-right: 28px;
  -webkit-mask-image: linear-gradient(to right, black 0%, black 92%, transparent 100%);
  mask-image: linear-gradient(to right, black 0%, black 92%, transparent 100%);
}

.site-footer__brand-logo {
  height: 52px;
  width: auto;
  flex-shrink: 0;
  display: block;
  margin-right: 8px;
}

/* Small ornamental icon — sits to the RIGHT of the cert group */
.site-footer__aa-logo {
  flex-shrink: 0;
  padding-right: 4px;
}

.site-footer__aa-logo img {
  width: 100px;
  height: auto;
  display: block;
}

/* Body: 3-col grid only (aa-logo moved into top band) */
.site-footer__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 20px var(--px-outer) 32px;
}

.site-footer__cols {
  margin-top: 30px;
  display: grid;
  grid-template-columns: 115px 1fr 256px;
  align-items: start;
  justify-content: space-between;
  gap: 40px;
}

.site-footer__col-nav h2,
.site-footer__col-contacts h2 {
  font-family: var(--h-5-font-family);
  font-size: var(--h-5-font-size);
  font-weight: var(--h-5-font-weight);
  line-height: var(--h-5-line-height);
  letter-spacing: var(--h-5-letter-spacing);
  color: var(--color-primary-light);
  margin-bottom: 16px;
}

.site-footer__col-nav nav {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.site-footer__col-nav a {
  font-family: var(--b-3-font-family);
  font-size: var(--b-3-font-size);
  font-weight: var(--b-3-font-weight);
  line-height: var(--b-3-line-height);
  color: var(--color-white);
  white-space: nowrap;
  transition: opacity 0.2s;
}

.site-footer__col-nav a:hover {
  opacity: 0.8;
}

.site-footer__col-contacts {
  margin-left: 383px;
}

.site-footer__contact-stack {
  display: flex;
  flex-direction: column;
  gap: 30px;
  font-style: normal;
}

.site-footer__phone-email {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.site-footer__phone {
  font-family: "Onest", Helvetica, sans-serif;
  font-size: 20px;
  font-weight: 400;
  line-height: normal;
  color: var(--color-white);
}

.site-footer__email {
  font-family: var(--b-3-font-family);
  font-size: var(--b-3-font-size);
  font-weight: var(--b-3-font-weight);
  line-height: var(--b-3-line-height);
  color: var(--color-white);
  white-space: nowrap;
}

.site-footer__socials {
  display: inline-flex;
  align-items: center;
  gap: 15px;
}

/* Mobile-only duplicate social row (centered, full-width below contacts+map).
   Hidden on desktop/tablet; only shown at <=767px, see mobile block below. */
.site-footer__socials--footer-mobile {
  display: none;
}

.site-footer__socials a {
  display: inline-flex;
}

.site-footer__socials img {
  width: 112px;
  height: 112px;
}

.site-footer__col-kz {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 16px;
  padding-top: 6px;
}

.site-footer__kz-map {
  position: relative;
  width: 256px;
  height: 122px;
  background: url("assets/comp-kazakhstan.svg") 100% 100% / 100% 100% no-repeat;
  flex-shrink: 0;
}

.site-footer__kz-map img {
  position: absolute;
  left: 185.8px;
  top: 70.2px;
  width: 35.12px;
  height: 35.12px;
}

.site-footer__city-badge {
  display: inline-block;
  border-radius: 30px;
  background: var(--color-white);
  padding: 2px 10px;
  font-family: var(--h-10-font-family);
  font-size: var(--h-10-font-size);
  font-weight: var(--h-10-font-weight);
  line-height: var(--h-10-line-height);
  letter-spacing: var(--h-10-letter-spacing);
  color: #373737;
}

/* ============================================================
   PAGE 2: НОВОСТИ
   New layout rules only; bottom brand bar reuses
   .mission-banner__bottom* classes directly in the HTML.
   ============================================================ */

/* ---- Hero: photo with bottom-right gold title ------------- */
.news-hero {
  position: relative;
  width: 100%;
}

.news-hero__inner {
  position: relative;
  width: 100%;
  min-height: 500px;
  overflow: hidden;
}

.news-hero__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: grayscale(100%);
}

/* Dark overlay — same opacity recipe used in .overview__card */
.news-hero__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
}

/* Title + subtitle: absolute, lower-right of photo, above brand bar */
.news-hero__content {
  position: absolute;
  z-index: 10;
  right: 0;
  left: 0;
  bottom: 90px;              /* sits above the brand bar strip */
  padding: 0 var(--px-outer);
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
}

/* Large gold "НОВОСТИ" — same font family/weight as .partners__heading */
.news-hero__title {
  font-family: var(--h-2-font-family);
  font-size: 96px;
  font-weight: var(--h-2-font-weight);
  line-height: 1;
  background: var(--gold-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-align: right;
}

/* Subtitle — b-3 tokens, white, right-aligned */
.news-hero__subtitle {
  font-family: var(--b-3-font-family);
  font-size: var(--b-3-font-size);
  font-weight: var(--b-3-font-weight);
  line-height: var(--b-3-line-height);
  color: var(--color-white);
  text-align: right;
  max-width: 440px;
}

/* Brand bar: absolutely pinned to the bottom edge of the photo */
.news-hero__brand-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 15;
  height: 65px;
  overflow: hidden;
}

/* Flip the ornament so its clear gap moves from the right side to the left side */
.news-hero__brand-bar .mission-banner__bottom-img {
  transform: scaleX(-1);
}

/* Re-anchor the brand group into the left-side gap (mirror of 66.7%/5.4%) */
.news-hero__brand-bar .mission-banner__brand-group {
  left: 5.4%;
  right: 66.7%;
}

/* ---- News cards section ----------------------------------- */
.news-section {
  width: 100%;
  background: var(--color-bg);
  padding: 48px 48px 64px;
}

.news-section__inner {
  max-width: var(--content-max);
  margin-inline: auto;
}

/* auto-fill grid; wraps naturally at any width */
.news-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr));
  gap: 24px;
}

/* Dark card — color-dark-card + dark-card-shadow from tokens */
.news-card {
  border-radius: 18px;
  background: var(--color-dark-card);
  box-shadow: var(--dark-card-shadow);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

/* Image area — contained square box, centred within dark card top */
.news-card__image-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px 18px 0;
  flex-shrink: 0;
}

.news-card__image-box {
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.news-card__image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
  padding: 12px;
}

/* Photo variant: cover fit, no padding */
.news-card__image-box--photo {
  background: #2a2a2a;
}

.news-card__image-box--photo .news-card__image {
  object-fit: cover;
  padding: 0;
}

/* Card body */
.news-card__body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 18px 18px 18px;
  flex: 1;
}

/* Uppercase white title — h-10 tokens */
.news-card__title {
  font-family: var(--h-10-font-family);
  font-size: var(--h-10-font-size);
  font-weight: var(--h-10-font-weight);
  line-height: var(--h-10-line-height);
  color: var(--color-white);
  text-transform: uppercase;
}

/* Excerpt — b-9 tokens in text-dim colour */
.news-card__excerpt {
  font-family: var(--b-9-font-family);
  font-size: var(--b-9-font-size);
  font-weight: var(--b-9-font-weight);
  line-height: 20px;
  color: var(--color-text-dim);
  flex: 1;
}

/* Stretch existing .btn-pill to fill card width */
.news-card .btn-pill {
  width: 100%;
  margin-top: 4px;
}

/* ============================================================
   PAGE 3: NEWS ARTICLE DETAIL
   ============================================================ */

.article-section {
  width: 100%;
  background: #fff;
  padding: 40px 0 64px;
}

.article-wrap {
  max-width: 1200px;
  margin-inline: auto;
  padding: 0 64px;
}

/* Breadcrumb */
.article-breadcrumb {
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: var(--b-9-font-family);
  font-size: 14px;
  font-weight: 400;
  color: var(--color-text-muted);
  margin-bottom: 24px;
  flex-wrap: wrap;
}

.article-breadcrumb a {
  color: var(--color-text-muted);
  transition: color 0.2s;
}

.article-breadcrumb a:hover {
  color: #1a1a1a;
}

.article-breadcrumb__sep {
  color: var(--color-text-muted);
  font-size: 12px;
}

.article-breadcrumb__current {
  color: #1a1a1a;
}

/* Article title */
.article-title {
  font-family: var(--h-4-font-family);
  font-size: 30px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0;
  color: #1a1a1a;
  margin-bottom: 28px;
}

/* Article image */
.article-figure {
  margin: 0 0 32px;
}

.article-img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  object-position: center;
  border-radius: 16px;
  display: block;
}

/* Logo-type article images: show at natural proportions, no cropping */
.article-img--logo {
  height: auto;
  max-height: none;
  object-fit: contain;
  background: #f5f5f5;
  padding: 32px;
}

/* Article body paragraphs */
.article-body {
  display: flex;
  flex-direction: column;
  gap: 18px;
  margin-bottom: 40px;
}

.article-body p {
  font-family: var(--b-3-font-family);
  font-size: 15px;
  font-weight: 400;
  line-height: 24px;
  color: #2a2a2a;
  text-indent: 48px;
}

/* Bullet list inside article body */
.article-body ul,
.article-body ol {
  padding-left: 48px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.article-body li {
  font-family: var(--b-3-font-family);
  font-size: 15px;
  font-weight: 400;
  line-height: 24px;
  color: #2a2a2a;
  list-style: disc;
}

/* Divider */
.article-divider {
  border: none;
  border-top: 1px solid #d0d0d0;
  margin: 0 0 24px;
}

/* Meta row */
.article-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.article-meta__date {
  font-family: var(--b-9-font-family);
  font-size: 14px;
  font-weight: 400;
  color: var(--color-text-muted);
}

.article-meta__actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* Round dark icon buttons */
.article-social-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: none;
  background: var(--color-dark-card);
  box-shadow: var(--dark-card-shadow);
  color: var(--color-text-light);
  cursor: pointer;
  transition: filter 0.2s;
  flex-shrink: 0;
}

.article-social-btn:hover {
  filter: brightness(1.15);
}

/* ============================================================
   PLACEHOLDER PAGES
   ============================================================ */
.placeholder-page {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  min-height: calc(100vh - 120px);
  gap: 24px;
  padding: 60px 24px;
}

.placeholder-page h1 {
  font-family: var(--h-2-font-family);
  font-size: var(--h-2-font-size);
  font-weight: var(--h-2-font-weight);
  color: #333;
}

.placeholder-page p {
  font-family: var(--b-3-font-family);
  font-size: var(--b-3-font-size);
  color: #666;
}

/* ============================================================
   RESPONSIVE DESIGN
   1279px = small laptop / large tablet
   1023px = tablet
    767px = mobile
   ============================================================ */

/* ---- ≤ 1279px: Small laptop / large tablet ---------------- */
@media (max-width: 1279px) {
  :root {
    --b-0-font-size: 30px;
    --b-0-line-height: 40px;
  }

  .news-hero__title {
    font-size: 64px;
  }

  .site-footer__col-contacts {
    margin-left: 0;
  }

  .site-footer__cols {
    grid-template-columns: min-content 1fr 220px;
    gap: 24px;
  }
}

/* ---- ≤ 1023px: Tablet ------------------------------------- */
@media (max-width: 1023px) {
  :root {
    --px-outer: 32px;
    --b-0-font-size: 28px;
    --b-0-line-height: 38px;
    --h-2-font-size: 36px;
    --h-4-font-size: 26px;
    --h-4-line-height: 32px;
  }

  /* Header — wrap nav below logo row */
  .site-header__inner {
    flex-wrap: wrap;
    min-height: auto;
    padding: 12px var(--px-outer);
    gap: 8px;
    row-gap: 10px;
  }

  .site-header__logo {
    width: 220px;
    height: 48px;
    order: 1;
  }

  .site-header__right {
    order: 2;
    margin-left: auto;
    gap: 12px;
  }

  .site-header__nav {
    order: 3;
    flex: none;
    width: 100%;
    justify-content: center;
  }

  .site-header__nav ul {
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
    padding-bottom: 6px;
  }

  .btn-pill {
    min-height: 44px;
    padding: 10px 18px;
    font-size: 14px;
  }

  .btn-pill--icon {
    width: 44px;
    min-width: 44px;
  }

  /* Mission banner */
  .mission-banner__inner {
    min-height: auto;
  }

  .mission-banner__content {
    gap: 24px;
    padding: 24px var(--px-outer);
  }

  .mission-banner__top {
    gap: 20px;
    flex-wrap: wrap;
    justify-content: center;
  }

  .mission-banner__icons {
    flex-direction: row;
    gap: 20px;
  }

  .mission-banner__quote-card {
    width: 100%;
    min-height: auto;
    padding: 36px 28px;
  }

  /* Metrics: 2-col */
  .metrics {
    padding: 0 16px;
  }

  .metrics__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }

  /* Overview */
  .overview__inner {
    padding: 30px var(--px-outer);
    min-height: auto;
  }

  .overview__card-inner {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 28px 28px;
  }

  .overview__cta-col {
    max-width: 100%;
    flex-direction: row;
    gap: 24px;
    align-items: center;
  }

  .overview__logo {
    height: 80px;
    width: 200px;
  }

  /* Leadership */
  .leadership__grid {
    grid-template-columns: 1fr;
  }

  .leadership__photo {
    height: 280px;
    min-height: auto;
    width: 100%;
  }

  .leadership__content {
    padding: 40px var(--px-outer);
    min-height: auto;
  }

  .leadership__inner {
    gap: 36px;
  }

  .leadership__quote {
    font-size: 22px;
    line-height: 30px;
  }

  .leadership__byline {
    gap: 24px;
    flex-wrap: wrap;
  }

  /* Partners */
  .partners__cell {
    height: 160px;
  }

  /* Inquiry */
  .inquiry__form-card {
    padding: 32px 24px;
  }

  .inquiry__tabs {
    gap: 14px;
  }

  .inquiry__tab {
    height: 70px;
  }

  /* Footer */
  .site-footer__body {
    padding: 16px var(--px-outer) 28px;
  }

  .site-footer__cols {
    grid-template-columns: 1fr 1fr;
    gap: 28px;
  }

  .site-footer__col-contacts {
    margin-left: 0;
  }

  .site-footer__col-kz {
    grid-column: 1 / -1;
    align-items: flex-start;
    flex-direction: row;
    gap: 20px;
  }

  /* News page */
  .news-section {
    padding: 36px 32px 48px;
  }

  .news-hero__title {
    font-size: 56px;
  }

  .news-hero__content {
    padding: 0 var(--px-outer);
    bottom: 80px;
  }

  /* Article */
  .article-wrap {
    padding: 0 40px;
  }
}

/* ---- ≤ 767px: Mobile -------------------------------------- */
@media (max-width: 767px) {
  /* Map tap overlay: covers the in-page Leaflet map so touch events never
     reach it and page scroll is never hijacked.  touch-action:pan-y lets
     the browser scroll natively; a bare tap still fires click → opens modal. */
  .map-tap-overlay {
    display: block;
    position: absolute;
    inset: 0;
    z-index: 500;
    cursor: pointer;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
  }

  /* Subtle "tap to interact" hint at the bottom-centre of the static map */
  .map-tap-hint {
    position: absolute;
    bottom: 14px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0, 0, 0, 0.55);
    color: rgba(255, 255, 255, 0.82);
    font-size: 12px;
    font-family: sans-serif;
    letter-spacing: 0.04em;
    padding: 5px 12px;
    border-radius: 20px;
    white-space: nowrap;
    pointer-events: none;
  }

  :root {
    --px-outer: 16px;
    --b-0-font-size: 20px;
    --b-0-line-height: 28px;
    --h-2-font-size: 26px;
    --h-4-font-size: 20px;
    --h-4-line-height: 26px;
    --h-5-font-size: 20px;
    --h-5-line-height: 26px;
    --b-3-font-size: 15px;
    --b-3-line-height: 20px;
  }

  /* Header: fixed, hamburger-driven mobile nav */
  body {
    padding-top: 64px;
  }

  .site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
  }

  .site-header__inner {
    flex-wrap: nowrap;
    min-height: 64px;
    row-gap: 0;
    padding: 10px var(--px-outer);
  }

  .site-header__logo {
    width: 150px;
    height: 34px;
    order: 0;
  }

  /* Default horizontal nav + desktop language dropdown are replaced by the
     hamburger + slide-down panel on mobile */
  .site-header__nav {
    display: none;
  }

  .site-header__right {
    order: 2;
    margin-left: auto;
    gap: 10px;
  }

  .site-header__right .lang-switch {
    display: none;
  }

  .btn-pill {
    min-height: 38px;
    padding: 8px 14px;
    font-size: 13px;
  }

  .btn-pill--icon {
    width: 38px;
    min-width: 38px;
  }

  .site-header__burger {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    width: 38px;
    height: 38px;
    border: none;
    border-radius: 10px;
    background: transparent;
    padding: 0;
  }

  .site-header__burger span {
    display: block;
    width: 22px;
    height: 2px;
    background: var(--color-white);
    border-radius: 2px;
    transition: transform 0.25s ease, opacity 0.2s ease;
  }

  .site-header.is-nav-open .site-header__burger span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }

  .site-header.is-nav-open .site-header__burger span:nth-child(2) {
    opacity: 0;
  }

  .site-header.is-nav-open .site-header__burger span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  .site-header__mobile-panel {
    display: none;
    flex-direction: column;
    background: var(--color-header-bg);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.35);
    padding: 8px var(--px-outer) 20px;
  }

  .site-header.is-nav-open .site-header__mobile-panel {
    display: flex;
  }

  .site-header__mobile-list {
    display: flex;
    flex-direction: column;
  }

  .site-header__mobile-list li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  }

  .site-header__mobile-list li:last-child {
    border-bottom: none;
  }

  .site-header__mobile-list a,
  .site-header__mobile-list button {
    display: block;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    padding: 16px 4px;
    color: var(--color-white);
    font-family: var(--b-7-font-family);
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  .site-header__mobile-contact {
    color: transparent !important;
    background: var(--gold-gradient) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
  }

  .site-header__mobile-contact span {
    -webkit-text-fill-color: transparent;
  }

  .site-header__mobile-lang {
    display: flex;
    gap: 10px;
    margin-top: 16px;
  }

  .site-header__mobile-lang .lang-switch__option {
    flex: 1;
    text-align: center;
    padding: 10px 0;
    border-radius: 38px;
    border: none;
    background: var(--btn-pill-bg);
    color: var(--color-text-light);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
  }

  .site-header__mobile-lang .lang-switch__option[aria-checked="true"] {
    background: var(--gold-gradient);
    color: #1a1a1a;
  }

  /* Mission banner */
  .mission-banner__inner {
    padding: 0;
  }

  .mission-banner__content {
    gap: 16px;
    padding: 20px var(--px-outer);
  }

  .mission-banner__top {
    flex-direction: column;
    gap: 16px;
  }

  .mission-banner__icons {
    display: none;
  }

  .mission-banner__quote-card {
    padding: 24px 16px;
    border-radius: 16px;
    min-height: auto;
  }

  .mission-banner__quote-text {
    font-size: clamp(15px, 4.6vw, 22px);
    line-height: 1.3;
  }

  .mission-banner__quote-text br {
    display: none;
  }

  /* Metrics: 4-across, matching mockup */
  .metrics {
    padding: 0 var(--px-outer);
  }

  .metrics__card {
    border-radius: 20px;
    padding: 18px 8px;
  }

  .metrics__list {
    grid-template-columns: repeat(4, 1fr);
    gap: 6px;
  }

  .metrics__item {
    flex-direction: column;
    justify-content: flex-start;
    min-height: auto;
    gap: 8px;
  }

  .metrics__icon-wrap {
    width: 54px;
    height: 54px;
    flex-shrink: 0;
  }

  .metrics__icon-inner {
    width: 54px;
    height: 54px;
    left: 0;
    top: 0;
  }

  .metrics__icon-wrap img {
    width: 31px;
    height: 31px;
  }

  .metrics__icon-wrap--image img {
    width: 100%;
    height: 100%;
  }

  .metrics__text {
    align-items: center;
    text-align: center;
    gap: 2px;
  }

  .metrics__value {
    font-size: 17px;
  }

  .metrics__label {
    font-size: 10px;
    line-height: 1.2;
    white-space: normal;
  }

  /* Overview */
  .overview__inner {
    padding: 20px var(--px-outer);
  }

  .overview__card {
    border-radius: 18px;
    background: rgba(0, 0, 0, 0.35);
    backdrop-filter: blur(12px) brightness(115%);
    -webkit-backdrop-filter: blur(12px) brightness(115%);
  }

  .overview__inner {
    padding: 20px 12px;
  }

  .overview__card-inner {
    padding: 18px 14px;
    gap: 16px;
  }

  .overview__text-col {
    gap: 14px;
  }

  .overview__body {
    font-size: 14px;
    line-height: 1.45;
  }

  .overview__body strong {
    font-family: inherit;
    font-size: inherit;
    font-weight: 400;
    line-height: inherit;
  }

  .overview__cta-col {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    max-width: 100%;
  }

  .overview__logo {
    height: 44px;
    width: 160px;
  }

  .overview__logo-layer {
    display: none;
  }

  .overview__logo-mobile {
    display: block;
    position: static;
    height: 100%;
    width: auto;
    max-width: 100%;
    object-fit: contain;
  }

  /* Text truly centred; arrow pinned to the right edge on mobile */
  .overview__btn-inner {
    justify-content: center;
    gap: 0;
    position: relative;
  }

  .overview__btn-inner img {
    position: absolute;
    right: 0;
  }

  /* Leadership: photo + quote side by side, like the mockup */
  .leadership__grid {
    grid-template-columns: 120px 1fr;
  }

  .leadership__photo {
    height: 100%;
    min-height: 100%;
    width: 100%;
  }

  .leadership__content {
    padding: 16px 12px;
    min-height: auto;
  }

  .leadership__inner {
    gap: 12px;
  }

  .leadership__quote {
    font-size: 11px;
    line-height: 15px;
  }

  .leadership__byline {
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: 8px;
    flex-wrap: nowrap;
  }

  .leadership__name {
    font-size: 13px;
    white-space: nowrap;
  }

  .leadership__sig {
    width: 60px;
  }

  /* Partners */
  .partners {
    padding: 20px var(--px-outer) 0;
  }

  .partners__grid-wrap {
    padding: 14px;
    border-radius: 20px;
  }

  .partners__row {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }

  .partners__cell {
    height: 110px;
  }

  .partners__cell-img-wrap img,
  .partners__cell-img-wrap .partners__bg-tile {
    height: 70px;
  }

  /* Collapsed by default on mobile: show only first 6 logos (rows 1-2 of the
     4-col grid wrap to 2 visual columns; row 2 is trimmed to its first 2 cells) */
  .partners__row:nth-child(n + 3) {
    display: none;
  }

  .partners__row:nth-child(2) .partners__cell:nth-child(n + 3) {
    display: none;
  }

  .partners__grid-wrap.partners--expanded .partners__row:nth-child(n + 3) {
    display: grid;
  }

  .partners__grid-wrap.partners--expanded .partners__row:nth-child(2) .partners__cell:nth-child(n + 3) {
    display: flex;
  }

  .partners__toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin: 12px auto 0;
    position: relative;
    z-index: 2;
    border: none;
    border-radius: 50%;
    background: linear-gradient(118deg, rgba(66, 66, 66, 1) 0%, rgba(10, 10, 10, 1) 100%);
    box-shadow: var(--btn-pill-shadow);
    cursor: pointer;
  }

  .partners__toggle img {
    width: 14px;
    height: 14px;
    filter: brightness(0) invert(1);
    transform: rotate(90deg);
    transition: transform 0.25s ease;
  }

  .partners__grid-wrap.partners--expanded .partners__toggle img {
    transform: rotate(-90deg);
  }

  /* Inquiry */
  .inquiry__tabs-wrap {
    padding: 12px;
    border-radius: 20px;
  }

  .inquiry__tabs {
    gap: 10px;
  }

  .inquiry__tab {
    height: 56px;
  }

  .inquiry__tab-inset {
    top: 6px;
    height: 44px;
    border-radius: 12px;
  }

  /* Give the corner ornament a fixed left gap on mobile so it doesn't
     clip the button edge (3% of a half-viewport tab ≈ 5px, too tight). */
  .inquiry__tab-icon {
    left: 10px;
  }

  .inquiry__tab--active .inquiry__tab-label,
  .inquiry__tab--inactive .inquiry__tab-label {
    font-size: 13px;
    line-height: 17px;
    white-space: normal;
    text-align: center;
    padding: 0 6px;
    height: auto;
  }

  .inquiry__form-section {
    padding: 24px var(--px-outer);
    border-radius: 0;
  }

  .inquiry__form-card {
    padding: 20px 14px;
    border-radius: 20px;
  }

  .inquiry__form-grid {
    gap: 22px;
  }

  .inquiry__form {
    gap: 14px;
  }

  .inquiry__field {
    gap: 6px;
  }

  .inquiry__label {
    font-size: 13px;
  }

  .inquiry__input {
    height: 44px;
    font-size: 13px;
  }

  .inquiry__textarea {
    min-height: 70px;
    font-size: 13px;
  }

  .inquiry__info-col {
    gap: 12px;
  }

  .inquiry__info-heading {
    font-size: 18px;
  }

  .inquiry__info-body {
    font-size: 13px;
    line-height: 19px;
  }

  .inquiry__submit {
    padding: 13px 24px;
  }

  /* Footer */
  .site-footer__body {
    padding: 12px var(--px-outer) 20px;
  }

  .site-footer__cols {
    grid-template-columns: 1fr auto;
    grid-template-areas:
      "contacts kz"
      "social   social";
    gap: 16px;
    row-gap: 22px;
  }

  .site-footer__socials--footer-mobile {
    grid-area: social;
    display: flex;
    justify-content: center;
    width: 100%;
  }

  .site-footer__col-nav {
    display: none;
  }

  .site-footer__col-contacts {
    grid-area: contacts;
    margin-left: 0;
  }

  .site-footer__contact-stack {
    gap: 18px;
  }

  .site-footer__col-kz {
    grid-area: kz;
    grid-column: auto;
    flex-direction: column;
    align-items: flex-end;
    gap: 10px;
  }

  .site-footer__kz-map {
    width: 140px;
    height: 66px;
  }

  .site-footer__kz-map img {
    left: 103px;
    top: 38px;
    width: 22px;
    height: 22px;
  }

  .site-footer__phone {
    font-size: 14px;
    white-space: nowrap;
  }

  .site-footer__email {
    font-size: 13px;
  }

  .site-footer__col-contacts h2 {
    font-size: 18px;
  }

  .site-footer__socials img {
    width: 88px;
    height: 88px;
  }

  /* Original inline social row (inside contacts column) is replaced on
     mobile by the centered, full-width duplicate row below the grid. */
  .site-footer__col-contacts .site-footer__socials:not(.site-footer__socials--footer-mobile) {
    display: none;
  }

  .site-footer__brand-logo {
    height: 28px;
    margin-right: 6px;
  }

  .site-footer__wave {
    height: 28px;
    margin-right: 12px;
  }

  .site-footer__aa-logo {
    padding-right: 0;
  }

  .site-footer__aa-logo img {
    width: 36px;
  }

  /* News hero */
  .news-hero__inner {
    min-height: 360px;
  }

  .news-hero__title {
    font-size: 40px;
    white-space: normal !important;
  }

  .news-hero__subtitle {
    font-size: 13px;
    max-width: 260px;
  }

  .news-hero__content {
    bottom: 68px;
    gap: 6px;
    padding: 0 var(--px-outer);
  }

  /* News section */
  .news-section {
    padding: 24px var(--px-outer) 36px;
  }

  /* Article */
  .article-section {
    padding: 24px 0 40px;
  }

  .article-wrap {
    padding: 0 var(--px-outer);
  }

  .article-img {
    height: 200px;
  }

  /* Brand bars: mobile height for PNG ornament */
  .news-hero__brand-bar {
    height: 80px;
  }

  /* ── Mobile ornament band: PNG replaces the desktop SVG.
     Negative margins cancel .mission-banner__content's padding so the
     band bleeds edge-to-edge. ── */
  .mission-banner__bottom {
    height: 80px;
    position: relative;
    margin-left: calc(-1 * var(--px-outer));
    margin-right: calc(-1 * var(--px-outer));
    width: calc(100% + 2 * var(--px-outer));
  }

  .mission-banner__bottom .mission-banner__bottom-img,
  .mission-banner__bottom .mission-banner__brand-group,
  .news-hero__brand-bar .mission-banner__bottom-img,
  .news-hero__brand-bar .mission-banner__brand-group {
    display: none;
  }

  .mission-banner__bottom-mobile,
  .news-hero__brand-bar-mobile {
    display: block;
    position: absolute;
    inset: 0;
    overflow: hidden;
  }
}

/* ============================================================
   PAGE: CAREER
   ============================================================ */

/* --- Vacancies CTA section --- */
/* ============================================================
   CAREER: WHY JOIN US  (beige News-page background)
   ============================================================ */
.career-why {
  width: 100%;
  background: var(--color-bg);
}

.career-why__inner {
  max-width: var(--container-max);
  margin-inline: auto;
  padding: clamp(40px, 5vw, 80px) var(--px-outer);
}

/* ============================================================
   CAREER: WHAT WE OFFER  (grayscale bg image, 4 cards + CTA)
   ============================================================ */
.career-content {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.career-content__bg {
  position: absolute;
  inset: 0;
  background-image: url("assets/career-bg.jpg");
  background-size: cover;
  background-position: center 68%;
  filter: grayscale(1) brightness(0.55);
  z-index: 0;
}

.career-content__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.38);
  z-index: 1;
}

.career-content__inner {
  position: relative;
  z-index: 2;
  max-width: var(--container-max);
  margin-inline: auto;
  padding: clamp(40px, 5vw, 80px) var(--px-outer);
  display: flex;
  flex-direction: column;
  gap: clamp(28px, 3.5vw, 52px);
}

/* Single unified card — light background matching reference */
.career-why__card {
  border-radius: 18px;
  background: #ffffff;
  border: 1px solid #e0e0e0;
  box-shadow: 0 4px 24px rgba(0,0,0,0.08);
  padding: clamp(28px, 3vw, 56px) clamp(28px, 3vw, 52px);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(24px, 3vw, 56px);
  align-items: start;
}

/* Left column */
.career-why__left {
  display: flex;
  flex-direction: column;
  gap: clamp(14px, 1.5vw, 22px);
}

/* Right column */
.career-why__right {
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 2vw, 32px);
}

/* Two platform boxes side by side */
.career-why__platforms {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(12px, 1.5vw, 24px);
}

/* Individual platform card — same style as brand logo tiles */
.career-why__platform {
  border-radius: 10px;
  background: var(--color-light-card);
  box-shadow: inset 0 2px 10px rgba(0, 0, 0, 0.08);
  padding: clamp(16px, 1.8vw, 28px) clamp(14px, 1.4vw, 22px);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(14px, 1.5vw, 20px);
}

/* Large logo circle — just the image, no extra circle bg */
.career-why__platform-logo {
  width: clamp(80px, 8vw, 120px);
  height: clamp(80px, 8vw, 120px);
  display: flex;
  align-items: center;
  justify-content: center;
}

.career-why__platform-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 50%;
}

/* Platform CTA button — dark charcoal, full width */
.career-platform__btn {
  display: block;
  width: 100%;
  text-align: center;
  background: #2e2e2e;
  color: #ffffff;
  font-family: var(--h-4-font-family);
  font-size: clamp(9px, 0.8vw, 12px);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 9px 10px;
  border-radius: 8px;
  text-decoration: none;
  transition: background 0.2s;
}

.career-platform__btn:hover {
  background: #111111;
}

.career-why__heading {
  font-family: var(--h-4-font-family);
  font-size: clamp(16px, 1.7vw, 26px);
  font-weight: 800;
  color: #1a1a1a;
  line-height: 1.2;
  margin: 0;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

/* Right heading — same dark style */
.career-why__heading--white {
  color: #1a1a1a;
  background: none;
  -webkit-background-clip: unset;
  -webkit-text-fill-color: unset;
}

.career-why__body {
  font-family: "Onest", Helvetica, sans-serif;
  font-size: clamp(13px, 1vw, 16px);
  color: #3a3a3a;
  line-height: 1.75;
  margin: 0;
}

.career-cta__btn--sm {
  font-size: clamp(10px, 0.85vw, 13px);
  padding: 8px 14px;
  letter-spacing: 0.06em;
  width: 100%;
  text-align: center;
}

/* Section label above the 4 cards — gold gradient like hero titles */
.career-offers__heading {
  font-family: var(--h-4-font-family);
  font-size: clamp(15px, 1.5vw, 22px);
  font-weight: 700;
  background: var(--gold-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin: 0;
  letter-spacing: 0.1em;
}

.career-offers__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(14px, 1.5vw, 24px);
}

.career-offer-card {
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  background: rgba(0, 0, 0, 0.52);
  box-shadow: inset 0px 0px 4px #ffffff0d, inset 0px 4px 4px #ffffff26;
  backdrop-filter: blur(25px) brightness(100%);
  padding: clamp(20px, 2vw, 32px) clamp(18px, 1.8vw, 28px);
  display: flex;
  flex-direction: column;
  gap: clamp(12px, 1.2vw, 18px);
  align-items: flex-start;
}

.career-offer-card__title {
  font-family: var(--h-4-font-family);
  font-size: clamp(13px, 1.1vw, 17px);
  font-weight: 800;
  color: var(--color-white);
  line-height: 1.25;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  text-align: center;
  width: 100%;
}

.career-offer-card__divider {
  width: 100%;
  height: 1px;
  background: rgba(255, 255, 255, 0.25);
  flex-shrink: 0;
}

.career-offer-card__text {
  font-family: "Onest", Helvetica, sans-serif;
  font-size: clamp(12px, 0.95vw, 15px);
  color: var(--color-text-dim);
  line-height: 1.65;
  margin: 0;
}

.career-offers__cta {
  display: flex;
  justify-content: center;
  margin-top: clamp(32px, 3.5vw, 52px);
}

@media (max-width: 1023px) {
  .career-offers__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 767px) {
  .career-why__card {
    grid-template-columns: 1fr;
    border-radius: 20px;
    padding: 20px 20px;
  }

  .career-why__platforms {
    grid-template-columns: 1fr 1fr;
  }

  .career-offers__grid {
    grid-template-columns: 1fr;
  }

  .career-offer-card {
    border-radius: 16px;
  }
}

/* ============================================================
   CAREER: VACANCIES CTA
   ============================================================ */
.career-cta {
  padding: 80px var(--px-outer) 100px;
  background: var(--color-bg);
  width: 100%;
  display: flex;
  justify-content: center;
}

.career-cta__inner {
  max-width: var(--content-max);
  width: 100%;
  display: flex;
  justify-content: center;
}

.career-cta__btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 48px;
  height: 60px;
  border-radius: 60px;
  background: var(--btn-pill-bg);
  font-family: var(--b-7-font-family);
  font-size: var(--b-7-font-size);
  font-weight: var(--b-7-font-weight);
  color: var(--color-white);
  letter-spacing: 0.08em;
  box-shadow: var(--btn-pill-shadow);
  cursor: pointer;
  text-decoration: none;
  transition: opacity 0.2s;
}

.career-cta__btn::before {
  content: "";
  pointer-events: none;
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: 60px;
  padding: 1.5px;
  background: var(--btn-pill-border-bg);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

.career-cta__btn:hover {
  opacity: 0.88;
}

/* --- Mobile (≤767px) --- */
@media (max-width: 767px) {
  .career-cta {
    padding: 48px var(--px-outer) 64px;
  }

  .career-cta__btn {
    width: 100%;
    padding: 0 24px;
  }
}

/* ============================================================
   CONTACT MODAL
   ============================================================ */
.cmodal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.65);
  z-index: 9000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s ease;
}
.cmodal-backdrop.is-open {
  opacity: 1;
  pointer-events: all;
}
.cmodal {
  background: #2d2f32;
  border-radius: 20px;
  width: 100%;
  max-width: 820px;
  padding: 48px 52px 52px;
  position: relative;
  transform: translateY(24px);
  transition: transform .22s ease;
  box-shadow: 0 24px 80px rgba(0,0,0,.55);
}
.cmodal-backdrop.is-open .cmodal {
  transform: translateY(0);
}
.cmodal__close {
  position: absolute;
  top: 18px;
  right: 22px;
  background: none;
  border: none;
  cursor: pointer;
  color: #aaa;
  font-size: 26px;
  line-height: 1;
  padding: 4px 8px;
  transition: color .15s;
}
.cmodal__close:hover { color: #fff; }
.cmodal__title {
  font-family: "Onest", sans-serif;
  font-size: 28px;
  font-weight: 800;
  color: #fff;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: .06em;
  margin: 0 0 36px;
}
.cmodal__body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
}
/* Left — form */
.cmodal__form-col { display: flex; flex-direction: column; gap: 18px; }
.cmodal__field { display: flex; flex-direction: column; gap: 6px; }
.cmodal__label {
  font-family: "Onest", sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #fff;
}
.cmodal__input,
.cmodal__textarea {
  background: #fff;
  border: none;
  border-radius: 50px;
  padding: 13px 20px;
  font-family: "Onest", sans-serif;
  font-size: 14px;
  color: #333;
  outline: none;
  width: 100%;
  box-sizing: border-box;
  transition: box-shadow .15s;
}
.cmodal__input::placeholder,
.cmodal__textarea::placeholder { color: #aaa; }
.cmodal__input:focus,
.cmodal__textarea:focus { box-shadow: 0 0 0 2px #c8a96e; }
.cmodal__textarea {
  border-radius: 20px;
  resize: none;
  min-height: 100px;
}
.cmodal__input.is-error,
.cmodal__textarea.is-error { box-shadow: 0 0 0 2px #e55; }
.cmodal__submit {
  background: #1a1d1e;
  color: #fff;
  border: none;
  border-radius: 50px;
  padding: 14px 24px;
  font-family: "Onest", sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: lowercase;
  cursor: pointer;
  width: 100%;
  margin-top: 4px;
  transition: background .15s, opacity .15s;
}
.cmodal__submit:hover { background: #111; }
.cmodal__submit:disabled { opacity: .6; cursor: default; }
/* Right — info */
.cmodal__info-col {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.cmodal__info-text {
  font-family: "Onest", sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: #ccc;
  margin: 0 0 20px;
}
.cmodal__info-items { display: flex; flex-direction: column; gap: 14px; margin-bottom: 20px; }
.cmodal__info-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.cmodal__info-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #3e4044;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 16px;
}
.cmodal__info-link {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,0.25);
  transition: border-color .15s, opacity .15s;
}
.cmodal__info-link:hover { border-bottom-color: #c8a96e; opacity: .85; }

.cmodal__info-detail {
  font-family: "Onest", sans-serif;
  font-size: 13px;
  color: #ddd;
  line-height: 1.55;
  padding-top: 8px;
}
.cmodal__info-tagline {
  font-family: "Onest", sans-serif;
  font-size: 13px;
  color: #aaa;
  font-style: italic;
  margin-top: auto;
}
/* Thank-you state */
.cmodal__thankyou {
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 40px 0 20px;
}
.cmodal__thankyou.is-visible { display: flex; }
.cmodal__thankyou-title {
  font-family: "Onest", sans-serif;
  font-size: 32px;
  font-weight: 800;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .04em;
  margin: 0 0 16px;
}
.cmodal__thankyou-sub {
  font-family: "Onest", sans-serif;
  font-size: 16px;
  color: #ccc;
}
@media (max-width: 700px) {
  .cmodal { padding: 36px 24px 40px; }
  .cmodal__body { grid-template-columns: 1fr; gap: 28px; }
  .cmodal__title { font-size: 22px; }
}
@media (max-width: 767px) {
  .cmodal-backdrop {
    align-items: flex-start;
    overflow-y: auto;
    padding: 12px;
  }
  .cmodal {
    padding: 48px 16px 24px;
    border-radius: 14px;
  }
  .cmodal__close {
    top: 12px;
    right: 14px;
    font-size: 22px;
  }
  .cmodal__title {
    font-size: 18px;
    margin-bottom: 20px;
  }
  .cmodal__body {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .cmodal__textarea {
    min-height: 72px;
  }
  .cmodal__info-text {
    font-size: 13px;
    margin-bottom: 12px;
  }
  .cmodal__info-items {
    gap: 10px;
    margin-bottom: 14px;
  }
}
