/* About Us — Figma 50:5 1:1 1920×5470 */

.page--about {
  height: 5470px;
  overflow: hidden;
}

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

.about-banner__img-wrap {
  left: 0;
  top: -35px;
  width: 1920px;
  height: 1051.809px;
}

.about-banner__img {
  width: 1920px;
  height: 1051.809px;
  object-fit: cover;
}

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

.nav__active--about {
  left: 128px;
  width: auto;
  min-width: 158px;
  padding: 14px 32px 13px 33px;
}

.about-title {
  position: absolute;
  left: 121px;
  top: 331px;
  font-family: var(--font-poppins);
  font-weight: 500;
  font-size: 88px;
  line-height: 84px;
  color: var(--purple);
  white-space: nowrap;
  z-index: 3;
}

/* Core Business on hero */
.core__h {
  position: absolute;
  left: 125px;
  top: 568px;
  font-family: var(--font-poppins);
  font-weight: 500;
  font-size: 66px;
  line-height: 66px;
  color: #fff;
  z-index: 3;
}

.core__sub {
  position: absolute;
  left: 125px;
  top: 662px;
  font-family: var(--font-poppins);
  font-weight: 500;
  font-size: 29px;
  line-height: 29px;
  color: #fff;
  z-index: 3;
}

.core-stat {
  position: absolute;
  z-index: 3;
  color: #fff;
}

.core-stat--a { left: 125px; top: 722px; }
.core-stat--b { left: 593px; top: 722px; }

.core-stat__k {
  font-family: var(--font-poppins);
  font-weight: 500;
  font-size: 22px;
  line-height: 22px;
}

.core-stat__n {
  margin-top: 18px;
  font-family: var(--font-poppins);
  font-weight: 500;
  font-size: 88px;
  line-height: 66px;
}

.core-stat__plus {
  font-size: 78px;
  line-height: 66px;
}

.core-stat__v {
  margin-top: 14px;
  font-family: var(--font-poppins);
  font-weight: 400;
  font-size: 22px;
  line-height: 22px;
}

.core-stat--a .core-stat__v { margin-left: 8px; }
.core-stat--b .core-stat__v { margin-left: 8px; }

.core__note {
  position: absolute;
  left: 125px;
  top: 892px;
  font-family: var(--font-poppins);
  font-weight: 500;
  font-size: 17px;
  line-height: 29px;
  color: #fff;
  z-index: 3;
}

.core-svc {
  position: absolute;
  z-index: 3;
  color: #fff;
  font-family: var(--font-poppins);
}

.core-svc--a { left: 994px; top: 661px; width: 814px; }
.core-svc--b { left: 994px; top: 836px; width: 794px; }

.core-svc h3 {
  font-weight: 500;
  font-size: 29px;
  line-height: 29px;
}

.core-svc p {
  margin-top: 15px;
  font-weight: 500;
  font-size: 22px;
  line-height: 29px;
}

/* Core Competitiveness */
.compete h2 {
  position: absolute;
  left: calc(50% - 415px);
  top: 1168px;
  width: 831px;
  font-family: var(--font-poppins);
  font-weight: 500;
  font-size: 74px;
  line-height: 66px;
  color: var(--purple);
  text-align: center;
}

.compete__photo {
  position: absolute;
  left: -677px;
  top: 1303px;
  width: 1652px;
  height: 807px;
}

.compete__photo img {
  width: 1652px;
  height: 807px;
  object-fit: cover;
}

.cblock {
  position: absolute;
  left: 1066px;
  color: var(--purple);
}

.cblock--1 { top: 1324px; width: 865px; }
.cblock--2 { top: 1581px; width: 865px; }
.cblock--3 { top: 1757px; width: 891px; }
.cblock--4 { top: 1987px; width: 891px; }

.cblock h3 {
  font-family: var(--font-poppins);
  font-weight: 600;
  font-size: 30px;
  line-height: 36px;
  white-space: nowrap;
}

.cblock__line {
  display: block;
  width: 253px;
  height: 4px;
  margin-top: 9px;
}

.cblock p {
  margin-top: 8px;
  font-family: var(--font-poppins);
  font-weight: 500;
  font-size: 24px;
  line-height: 27px;
}

/* Development History */
.history__map {
  position: absolute;
  left: 146px;
  top: 2454px;
  width: 1628px;
  height: 841px;
  object-fit: cover;
  pointer-events: none;
}

.history h2 {
  position: absolute;
  left: calc(50% - 418px);
  top: 2285px;
  font-family: var(--font-inter);
  font-weight: 600;
  font-size: 82px;
  line-height: 90px;
  color: var(--purple);
  white-space: nowrap;
  text-align: justify;
}

.history__dash {
  position: absolute;
  left: 128px;
  top: 2655px;
  width: 1696px;
  height: 262px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.history__dash img {
  width: 1716.118px;
  height: 4px;
  transform: rotate(-8.78deg);
}

.history__miniplane {
  position: absolute;
  left: 243px;
  top: 2600px;
  width: 209px;
  height: 227px;
  object-fit: cover;
  opacity: 0.85;
  pointer-events: none;
}

.history__plane {
  position: absolute;
  left: 1447px;
  top: 2789px;
  width: 311px;
  height: 353px;
  object-fit: cover;
  pointer-events: none;
}

.hnode {
  position: absolute;
}

.hnode--2005 { left: 576px; top: 2617px; }
.hnode--now { left: 1246px; top: 2512px; }
.hnode--1995 { left: 235px; top: 2879px; }
.hnode--2017 { left: 912px; top: 2771px; }

.hnode__pin {
  width: 36px;
  height: 182px;
  position: absolute;
  left: 0;
  top: 0;
}

.hnode--2005 .hnode__pin,
.hnode--now .hnode__pin {
  height: 248px;
}

.hnode__pin--flip {
  transform: scaleY(-1);
}

.hnode__copy {
  position: absolute;
  color: var(--purple);
  text-align: justify;
}

.hnode--2005 .hnode__copy { left: 36px; top: 0; width: 490px; }
.hnode--now .hnode__copy { left: 36px; top: 0; width: 490px; }
.hnode--1995 .hnode__copy { left: 47px; top: 51px; width: 532px; }
.hnode--2017 .hnode__copy { left: 47px; top: 51px; width: 532px; }

.hnode h3 {
  font-family: var(--font-inter);
  font-weight: 600;
  font-size: 66px;
  line-height: 66px;
  white-space: nowrap;
}

.hnode p {
  margin-top: 5px;
  font-family: var(--font-inter);
  font-weight: 500;
  font-size: 18px;
  line-height: 20px;
}

/* Sales Outlook */
.outlook h2 {
  position: absolute;
  left: 406px;
  top: 3342px;
  font-family: var(--font-inter);
  font-weight: 600;
  font-size: 82px;
  line-height: 90px;
  color: var(--purple);
  white-space: nowrap;
}

.outlook__plane {
  position: absolute;
  left: 493px;
  top: 3694px;
  width: 953px;
  height: 655px;
  object-fit: cover;
  z-index: 1;
}

.ocard {
  position: absolute;
  z-index: 2;
}

.ocard--gray {
  width: 541px;
  height: 355px;
  background: #efefef;
  border-radius: 35px;
}

.ocard--purple {
  width: 436px;
  height: 281px;
  border-radius: 30px;
  background: linear-gradient(165.67deg, rgb(68, 48, 140) 10%, rgb(26, 9, 89) 84.5%);
}

.ocard--tr { left: 1189px; top: 3485px; }
.ocard--bl { left: 165px; top: 4167px; }
.ocard--tl { left: 257px; top: 3606px; }
.ocard--br { left: 1266px; top: 4155px; }

.ocard__icon {
  position: absolute;
  object-fit: cover;
}

.ocard__icon--18 { left: 56px; top: 59px; width: 79px; height: 72px; }
.ocard__icon--21 { left: 61px; top: 60px; width: 70px; height: 70px; }
.ocard__icon--19 { left: 50px; top: 33px; width: 80px; height: 63px; }

.ocard__icon--22 {
  left: 45px;
  top: 32px;
  width: 68px;
  height: 68px;
  overflow: hidden;
}

.ocard__icon--22 img {
  position: absolute;
  left: -15.11%;
  top: -7.45%;
  width: 129.57%;
  height: 115.32%;
  max-width: none;
  object-fit: cover;
}

.ocard__line {
  position: absolute;
  left: 56px;
  top: 159px;
  width: 325px;
  height: 2px;
}

.ocard--bl .ocard__line { left: 56px; top: 159px; }
.ocard--tl .ocard__line,
.ocard--br .ocard__line {
  left: 46px;
  top: 115px;
  width: 267px;
}

.ocard--tr .ocard__t,
.ocard--tr .ocard__n {
  position: absolute;
  left: 53px;
  color: var(--purple);
}

.ocard--tr .ocard__t {
  top: 176px;
  font-weight: 500;
  font-size: 28px;
  line-height: 34px;
  white-space: pre;
}

.ocard--tr .ocard__n {
  top: 254px;
  font-weight: 600;
  font-size: 44px;
  line-height: 34px;
}

.ocard--bl .ocard__t,
.ocard--bl .ocard__n {
  position: absolute;
  left: 53px;
  color: var(--purple);
  white-space: nowrap;
}

.ocard--bl .ocard__t {
  top: 176px;
  font-weight: 500;
  font-size: 28px;
  line-height: 34px;
}

.ocard--bl .ocard__n {
  top: 228px;
  font-weight: 600;
  font-size: 44px;
  line-height: 34px;
}

.ocard--bl .ocard__t--sub {
  top: 280px;
}

.ocard--tl .ocard__t,
.ocard--tl .ocard__n,
.ocard--br .ocard__t,
.ocard--br .ocard__n {
  position: absolute;
  left: 46px;
  color: #fff;
}

.ocard--tl .ocard__t,
.ocard--br .ocard__t {
  top: 139px;
  font-weight: 500;
  font-size: 22px;
  line-height: 28px;
}

.ocard--br .ocard__t {
  width: 410px;
  white-space: pre-wrap;
}

.ocard--tl .ocard__n,
.ocard--br .ocard__n {
  top: 201px;
  font-weight: 600;
  font-size: 34px;
  line-height: 34px;
  width: 306px;
  height: 27px;
}

.page--about .footer {
  top: 4612px;
}

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

/* Mobile */
@media (max-width: 991px) {
  .page--about {
    height: auto !important;
    min-height: 0 !important;
    overflow-x: hidden;
    overflow-y: visible;
  }

  .page--about .banner {
    position: relative;
    width: 100%;
    height: min(68vw, 360px);
    min-height: 260px;
    max-height: 420px;
  }

  .about-banner__img-wrap,
  .about-banner__img {
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100%;
    transform: none !important;
  }

  .about-banner__img {
    object-position: center 35%;
  }

  .nav__active--about {
    display: none;
  }

  .about-title,
  .core__h,
  .core__sub,
  .core-stat,
  .core__note,
  .core-svc,
  .compete h2,
  .compete__photo,
  .cblock,
  .history__map,
  .history h2,
  .history__dash,
  .history__miniplane,
  .history__plane,
  .hnode,
  .hnode__copy,
  .outlook h2,
  .outlook__plane,
  .ocard,
  .ocard__icon,
  .ocard__line,
  .ocard__t,
  .ocard__n {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    transform: none !important;
  }

  .about-title {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    display: block;
    margin: -64px 16px 8px;
    font-size: clamp(32px, 9vw, 42px);
    line-height: 1.15;
    white-space: normal;
    color: #fff;
    text-shadow: 0 2px 16px rgba(20, 8, 60, 0.45);
    z-index: 5;
  }

  .core {
    position: relative;
    margin-top: 0;
    padding: 28px 16px 36px;
    background: linear-gradient(180deg, #2f1a7a 0%, #29166f 40%, #24125f 100%);
    color: #fff;
    z-index: 4;
  }

  .core__h {
    font-size: 28px;
    line-height: 1.2;
    margin: 0 0 10px;
    color: #fff !important;
  }

  .core__sub {
    font-size: 16px;
    line-height: 1.35;
    margin: 0 0 20px;
    color: #fff !important;
  }

  .core-stat {
    display: block;
    margin: 0;
  }

  .core-stat--a,
  .core-stat--b {
    display: inline-block;
    width: calc(50% - 8px);
    vertical-align: top;
    margin: 0 0 18px;
    box-sizing: border-box;
  }

  .core-stat--a { margin-right: 12px; }

  .core-stat__n {
    font-size: clamp(34px, 10vw, 44px);
    line-height: 1.05;
    margin-top: 8px;
  }

  .core-stat__plus {
    font-size: 0.75em;
    line-height: 1;
  }

  .core-stat__k,
  .core-stat__v {
    font-size: 13px;
    line-height: 1.35;
    margin: 6px 0 0;
  }

  .core__note {
    display: block;
    font-size: 14px;
    line-height: 1.55;
    margin: 4px 0 24px;
    color: rgba(255, 255, 255, 0.92) !important;
  }

  .core__note br,
  .core-svc p br,
  .cblock p br,
  .hnode p br {
    display: none;
  }

  .core-svc {
    display: block;
    width: 100%;
    margin: 0 0 22px;
    color: #fff !important;
  }

  .core-svc:last-child {
    margin-bottom: 0;
  }

  .core-svc h3 {
    font-size: 17px;
    line-height: 1.35;
    margin: 0;
  }

  .core-svc p {
    font-size: 14px;
    line-height: 1.55;
    margin-top: 8px;
  }

  .compete {
    padding: 40px 16px 28px;
    background: #fff;
  }

  .compete h2 {
    display: block;
    width: 100%;
    font-size: clamp(26px, 7vw, 32px);
    line-height: 1.2;
    text-align: left;
    margin: 0 0 18px;
    white-space: normal;
  }

  .compete__photo {
    display: block;
    width: 100%;
    margin: 0 0 24px;
    border-radius: 16px;
    overflow: hidden;
  }

  .compete__photo img {
    display: block;
    width: 100% !important;
    height: auto !important;
    margin: 0;
    object-fit: cover;
  }

  .cblock {
    display: block;
    width: 100%;
    margin: 0 0 22px;
  }

  .cblock:last-child {
    margin-bottom: 0;
  }

  .cblock h3 {
    font-size: 18px;
    line-height: 1.3;
    white-space: normal;
  }

  .cblock__line {
    width: min(160px, 45%);
    height: auto;
    margin-top: 8px;
  }

  .cblock p {
    font-size: 14px;
    line-height: 1.55;
    margin-top: 8px;
  }

  .history {
    position: relative;
    padding: 40px 16px 32px;
    overflow: hidden;
    background: #f7f5fc;
  }

  .history h2 {
    display: block;
    font-size: clamp(26px, 7vw, 32px);
    line-height: 1.2;
    white-space: normal;
    margin: 0 0 24px;
    text-align: left;
  }

  .history__map {
    display: none;
  }

  .history__dash,
  .history__miniplane,
  .history__plane {
    display: none !important;
  }

  .hnode {
    display: flex !important;
    align-items: flex-start;
    gap: 12px;
    margin: 0 0 24px;
    width: 100% !important;
    min-height: 0 !important;
    overflow: visible;
  }

  .hnode:last-child {
    margin-bottom: 0;
  }

  .hnode__pin,
  .hnode__pin--flip {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 14px !important;
    height: 56px !important;
    flex: 0 0 14px;
    object-fit: contain;
    object-position: top center;
    transform: none !important;
    opacity: 0.9;
  }

  .hnode__copy,
  .hnode--2005 .hnode__copy,
  .hnode--now .hnode__copy,
  .hnode--1995 .hnode__copy,
  .hnode--2017 .hnode__copy {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: auto !important;
    flex: 1 1 auto;
    min-width: 0;
    text-align: left;
  }

  .hnode h3 {
    font-size: 22px;
    line-height: 1.25;
    white-space: normal;
    margin: 0;
  }

  .hnode p {
    font-size: 14px;
    line-height: 1.55;
    margin-top: 8px;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .outlook {
    padding: 36px 16px 28px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    background: #fff;
  }

  .outlook h2 {
    display: block;
    font-size: clamp(24px, 6.5vw, 30px);
    line-height: 1.25;
    white-space: normal;
    margin: 0 0 4px;
    order: 0;
  }

  .outlook__plane {
    display: block;
    width: 100%;
    height: auto;
    order: 1;
    margin: 4px 0 8px;
    border-radius: 16px;
    object-fit: cover;
  }

  .ocard,
  .ocard--gray,
  .ocard--purple,
  .ocard--tr,
  .ocard--bl,
  .ocard--tl,
  .ocard--br {
    order: 2;
    width: 100% !important;
    height: auto !important;
    min-height: 0;
    padding: 22px 18px 24px;
    box-sizing: border-box;
  }

  .ocard__icon,
  .ocard__icon--18,
  .ocard__icon--19,
  .ocard__icon--21,
  .ocard__icon--22 {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 56px !important;
    height: 56px !important;
    margin: 0 0 10px;
    display: block;
  }

  .ocard__icon img,
  .ocard__icon--22 img {
    position: static !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100%;
    object-fit: contain;
  }

  .ocard__line,
  .ocard--bl .ocard__line,
  .ocard--tl .ocard__line,
  .ocard--br .ocard__line {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 48% !important;
    max-width: 180px;
    height: auto !important;
    margin: 8px 0 12px;
    display: block;
  }

  .ocard__t,
  .ocard__n,
  .ocard--tr .ocard__t,
  .ocard--tr .ocard__n,
  .ocard--bl .ocard__t,
  .ocard--bl .ocard__n,
  .ocard--tl .ocard__t,
  .ocard--tl .ocard__n,
  .ocard--br .ocard__t,
  .ocard--br .ocard__n,
  .ocard--bl .ocard__t--sub {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: auto !important;
    height: auto !important;
    white-space: normal !important;
    margin: 0;
  }

  .ocard__t {
    font-size: 16px !important;
    line-height: 1.4 !important;
  }

  .ocard__n {
    font-size: 28px !important;
    line-height: 1.2 !important;
    margin-top: 6px !important;
  }

  .ocard__t--sub {
    margin-top: 4px !important;
    font-size: 15px !important;
  }

  .ocard__t br {
    display: none;
  }

  .page--about .footer {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 100%;
    height: auto !important;
    padding: 28px 16px 24px !important;
  }

  .page--about .footer .fcol h3 {
    margin: 0 0 12px !important;
    padding: 6px 0 !important;
    font-size: 18px !important;
    line-height: 1.3 !important;
  }

  .page--about .footer .fcol > a,
  .page--about .footer .fcontact {
    margin-bottom: 8px !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
  }

  .page--about .footer__cols {
    gap: 18px !important;
  }

  .page--about .footer__hub-k {
    font-size: 18px !important;
  }

  .page--about .footer__hub-v {
    font-size: 14px !important;
  }

  .page--about .footer__iata {
    font-size: 13px !important;
    margin-top: 16px !important;
  }
}
