@font-face {
  font-family: "Inter:Black";
  src: url("../assets/fonts/Inter.woff2") format("woff2");
  font-style: normal;
  font-weight: 900;
}

@font-face {
  font-family: "Inter:Bold";
  src: url("../assets/fonts/Inter.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
}

@font-face {
  font-family: "Inter:Extra Light";
  src: url("../assets/fonts/Inter.woff2") format("woff2");
  font-style: normal;
  font-weight: 200;
}

@font-face {
  font-family: "Inter:Light";
  src: url("../assets/fonts/Inter.woff2") format("woff2");
  font-style: normal;
  font-weight: 300;
}

@font-face {
  font-family: "Inter:Medium";
  src: url("../assets/fonts/Inter.woff2") format("woff2");
  font-style: normal;
  font-weight: 500;
}

@font-face {
  font-family: "Inter:Semi Bold";
  src: url("../assets/fonts/Inter.woff2") format("woff2");
  font-style: normal;
  font-weight: 600;
}

.international-page {
  color: #464646;
  font-family: "Inter:Light", "Noto Sans SC:Light", "Microsoft YaHei", sans-serif;
}

.international-canvas {
  width: 1920px;
  height: 6278px;
  background: #fff;
}

.international-hero {
  position: absolute;
  inset: 0 0 auto;
  width: 1920px;
  height: 666px;
  overflow: hidden;
}

.international-hero-image {
  width: 1920px;
  height: 666px;
  object-fit: cover;
  object-position: center 49%;
  pointer-events: none;
}

.international-hero-shade {
  position: absolute;
  inset: 0;
  background: rgb(0 0 0 / 12%);
}

.international-header {
  position: absolute;
  top: 29px;
  left: 92px;
  width: 1728px;
}

.international-logo {
  display: block;
  width: 260px;
  height: 45px;
}

.international-logo img {
  width: 175px;
  height: 45px;
  object-fit: contain;
  object-position: left center;
}

.international-hero-title {
  position: absolute;
  top: 305px;
  left: 78px;
  display: flex;
  height: 68px;
  align-items: center;
  gap: 18px;
}

.international-hero-title i {
  width: 7px;
  height: 68px;
  background: #f4b53f;
}

.international-hero-title h1 {
  color: #fff;
  font-family: "Inter:Semi Bold", "Noto Sans SC:Bold", sans-serif;
  font-size: 64.3px;
  font-weight: 600;
  letter-spacing: -1.81px;
  line-height: 65px;
}

.international-dropdown {
  position: absolute;
  top: 81px;
  left: 384px;
  display: flex;
  width: 150px;
  height: 364px;
  flex-direction: column;
  background: rgb(27 27 27 / 72%);
  color: #fff;
  font-family: "Inter:Medium", "Noto Sans SC:Medium", sans-serif;
  font-size: 20px;
  letter-spacing: 2px;
  text-align: center;
}

.international-dropdown a {
  position: relative;
  display: grid;
  min-height: 60px;
  place-items: center;
  color: inherit;
  text-decoration: none;
}

.international-dropdown a:not(:last-child)::after {
  position: absolute;
  bottom: 0;
  left: 60px;
  width: 30px;
  height: 1px;
  background: rgb(255 255 255 / 35%);
  content: "";
}

.international-dropdown a.active {
  background: #f4b53f;
}

.international-content {
  position: absolute;
  top: 666px;
  left: 0;
  width: 1920px;
  height: 4946px;
  background:
    linear-gradient(rgb(255 255 255 / 95%), rgb(255 255 255 / 98%)),
    url("../assets/international/3990e.png") center -215px / 1919px 1080px no-repeat;
}

.international-page-title {
  position: absolute;
  top: 154px;
  left: 92px;
  width: 520px;
  height: 162px;
  color: #000;
}

.international-page-title h2,
.international-page-title p {
  margin: 0;
}

.international-page-title h2 {
  font-family: "Inter:Semi Bold", "Noto Sans SC:Bold", sans-serif;
  font-size: 71.6px;
  font-weight: 600;
  letter-spacing: -2.48px;
  line-height: 72px;
}

.international-page-title p {
  margin-top: 7px;
  font-family: "Inter:Extra Light", sans-serif;
  font-size: 73.2px;
  font-weight: 200;
  letter-spacing: -3.84px;
  line-height: 72px;
}

.intl-section {
  position: absolute;
  left: 0;
  width: 1920px;
}

.intl-section > h3 {
  position: absolute;
  top: 0;
  left: 50%;
  margin: 0;
  transform: translateX(-50%);
  font-family: "Inter:Bold", "Noto Sans SC:Bold", sans-serif;
  font-size: 50px;
  font-weight: 700;
  line-height: 50px;
  white-space: nowrap;
}

.section-rule {
  position: absolute;
  top: 75px;
  left: 50%;
  width: 200px;
  height: 6px;
  transform: translateX(-50%);
  background: #f4b53f;
}

.image-frame {
  overflow: hidden;
}

.image-frame img,
.warehouse-photo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}

.image-frame:hover img {
  transform: scale(1.045);
}

.warehouse-photo:hover img {
  transform: scale(1.08);
}

.central-asia {
  top: 417px;
  height: 658px;
}

.central-map {
  position: absolute;
  top: 204px;
  left: 88px;
  width: 886px;
  height: 453px;
}

.service-icons {
  position: absolute;
  top: 223px;
  left: 1025px;
  display: flex;
  width: 89px;
  height: 330px;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
}

.service-icons img {
  max-width: 89px;
  max-height: 70px;
  object-fit: contain;
}

.service-list {
  position: absolute;
  top: 204px;
  left: 1154px;
  width: 550px;
}

.service-list > div,
.market-list > div {
  position: relative;
  min-height: 135px;
  padding-left: 15px;
}

.service-list > div::before,
.market-list > div::before,
.freight-details > div::before,
.rail-details > div::before {
  position: absolute;
  top: 10px;
  left: 0;
  width: 4px;
  height: 69px;
  background: #f4b53f;
  content: "";
}

.service-list h4,
.market-list h4,
.freight-details h4,
.rail-details h4,
.service-list p,
.market-list p,
.freight-details p,
.rail-details p {
  margin: 0;
  font-size: 30px;
  line-height: 45px;
}

.service-list h4,
.market-list h4,
.freight-details h4,
.rail-details h4 {
  font-family: "Inter:Black", "Noto Sans SC:Bold", sans-serif;
  font-weight: 900;
}

.southeast-asia {
  top: 1186px;
  height: 604px;
}

.market-list {
  position: absolute;
  top: 189px;
  left: 131px;
  width: 420px;
}

.market-list > div {
  min-height: 135px;
}

.southeast-map {
  position: absolute;
  top: 150px;
  left: 941px;
  width: 886px;
  height: 453px;
}

.warehouses {
  top: 1890px;
  height: 1122px;
}

.warehouse-summary {
  position: absolute;
  top: 122px;
  left: 50%;
  margin: 0;
  transform: translateX(-50%);
  font-size: 30px;
  letter-spacing: -1.4px;
  line-height: 50px;
  text-align: center;
  white-space: nowrap;
}

.warehouse-strip {
  position: absolute;
  left: 96px;
  width: 1728px;
}

.warehouse-strip-one {
  top: 254px;
  height: 358px;
}

.warehouse-strip-two {
  top: 685px;
  height: 364px;
}

.warehouse-photo {
  position: absolute;
  overflow: hidden;
}

.warehouse-photo img {
  position: absolute;
  max-width: none;
  object-fit: initial;
  transform-origin: var(--origin-x) var(--origin-y);
}

.warehouse-strip-one .warehouse-photo {
  top: 14px;
  width: 320px;
  height: 344px;
}

.warehouse-strip-one .warehouse-photo img {
  top: -14px;
  width: 1728px;
  height: 358px;
}

.warehouse-strip-two .warehouse-photo {
  top: 19px;
  width: 320px;
  height: 343px;
}

.warehouse-strip-two .warehouse-photo img {
  top: -19px;
  width: 1728px;
  height: 364px;
}

.photo-one {
  left: 13px;
  --origin-x: 173px;
  --origin-y: 186px;
}

.photo-one img {
  left: -13px;
}

.photo-two {
  left: 465px;
  --origin-x: 625px;
  --origin-y: 186px;
}

.photo-two img {
  left: -465px;
}

.photo-three {
  left: 938px;
  --origin-x: 1098px;
  --origin-y: 186px;
}

.photo-three img {
  left: -938px;
}

.photo-four {
  left: 1401px;
  --origin-x: 1561px;
  --origin-y: 186px;
}

.photo-four img {
  left: -1401px;
}

.photo-five {
  left: 8px;
  --origin-x: 168px;
  --origin-y: 190px;
}

.photo-five img {
  left: -8px;
}

.photo-six {
  left: 460px;
  --origin-x: 620px;
  --origin-y: 190px;
}

.photo-six img {
  left: -460px;
}

.photo-seven {
  left: 931px;
  --origin-x: 1091px;
  --origin-y: 190px;
}

.photo-seven img {
  left: -931px;
}

.photo-eight {
  left: 1396px;
  --origin-x: 1556px;
  --origin-y: 190px;
}

.photo-eight img {
  left: -1396px;
}

.warehouse-labels {
  position: absolute;
  top: 634px;
  left: 96px;
  display: grid;
  width: 1728px;
  grid-template-columns: repeat(4, 1fr);
  font-family: "Inter:Black", "Noto Sans SC:Bold", sans-serif;
  font-size: 39.7px;
  font-weight: 900;
  line-height: 40px;
  text-align: center;
}

.warehouse-labels-two {
  top: 1071px;
}

.card-freight {
  top: 3113px;
  height: 824px;
}

.freight-icons {
  position: absolute;
  top: 173px;
  left: 104px;
  display: flex;
  width: 87px;
  height: 455px;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
}

.freight-icons img {
  max-width: 87px;
  max-height: 69px;
  object-fit: contain;
}

.freight-details {
  position: absolute;
  top: 158px;
  left: 227px;
  width: 430px;
}

.freight-details > div {
  position: relative;
  min-height: 135px;
  padding-left: 29px;
}

.freight-details > div::before {
  height: 68px;
}

.freight-details .destination::before {
  height: 203px;
}

.card-map {
  position: absolute;
  top: 146px;
  left: 740px;
  width: 1104px;
  height: 666px;
}

.rail-lines {
  top: 4065px;
  height: 803px;
}

.rail-map {
  position: absolute;
  top: 152px;
  left: 88px;
  width: 1098px;
  height: 651px;
}

.rail-side-icons {
  position: absolute;
  top: 264px;
  left: 1288px;
  display: flex;
  width: 82px;
  height: 388px;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
}

.rail-side-icons img {
  max-width: 71px;
  max-height: 70px;
  object-fit: contain;
}

.rail-details {
  position: absolute;
  top: 257px;
  left: 1396px;
  width: 390px;
}

.rail-details > div {
  position: relative;
  padding-left: 29px;
}

.rail-details > div:first-child {
  min-height: 322px;
}

.rail-details > div:first-child::before {
  height: 249px;
}

.rail-details > div:last-child::before {
  height: 66px;
}

.international-footer {
  position: absolute;
  top: 5612px;
  left: 0;
  width: 1920px;
  height: 666px;
}

.international-footer .footer-html {
  height: 666px;
}

.international-footer .footer-brand-strip {
  top: 82px;
  left: 102px;
}

.international-footer .footer-contact {
  top: 202px;
  left: 104px;
}

.international-footer .footer-copyright {
  top: 504px;
  left: 106px;
}

.international-footer .footer-social {
  top: 495px;
  left: 1653px;
}

@media (prefers-reduced-motion: reduce) {
  .image-frame img,
  .warehouse-photo img {
    transition: none;
  }
}

/* ==========================================================================
   Mobile layout — everything below only applies at 789px and narrower.
   The 1920px absolute canvas is un-canvased into a single flowing column
   that reuses the existing semantic DOM (hero / page title / intl sections /
   footer).
   ========================================================================== */
@media (max-width: 789px) {
  .international-canvas {
    width: 100%;
    height: auto;
  }

  /* ---- Hero ---- */
  .international-hero {
    position: relative;
    inset: auto;
    width: 100%;
    height: auto;
    overflow: hidden;
  }

  .international-hero-image {
    width: 100%;
    height: 300px;
    object-fit: cover;
    object-position: center 45%;
  }

  .international-hero-shade {
    position: absolute;
    inset: 0 0 auto;
    height: 300px;
    background: rgb(0 0 0 / 30%);
  }

  .international-hero-title {
    top: 214px;
    left: 6vw;
    height: auto;
    gap: 12px;
  }

  .international-hero-title i {
    width: 5px;
    height: 38px;
  }

  .international-hero-title h1 {
    font-size: 30px;
    line-height: 38px;
    letter-spacing: 0;
  }

  /* ---- Content shell ---- */
  .international-content {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    height: auto;
    padding: 44px 5vw 56px;
    background:
      linear-gradient(rgb(255 255 255 / 95%), rgb(255 255 255 / 98%)),
      url("../assets/international/3990e.png") center top / 100% auto no-repeat;
  }

  .international-page-title {
    position: static;
    top: auto;
    left: auto;
    width: auto;
    height: auto;
    margin-bottom: 34px;
  }

  .international-page-title h2 {
    font-size: 34px;
    line-height: 42px;
    letter-spacing: -0.4px;
  }

  .international-page-title p {
    margin-top: 2px;
    font-size: 20px;
    line-height: 30px;
    letter-spacing: 0.5px;
  }

  /* ---- Sections ---- */
  .intl-section {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    height: auto;
    padding: 26px 0 34px;
  }

  .intl-section > h3 {
    position: static;
    top: auto;
    left: auto;
    margin: 0;
    transform: none;
    font-size: 24px;
    line-height: 1.35;
    letter-spacing: 0;
    white-space: normal;
    text-align: center;
  }

  .section-rule {
    position: static;
    top: auto;
    left: auto;
    width: 72px;
    height: 4px;
    margin: 14px auto 24px;
    transform: none;
  }

  .image-frame {
    max-width: 100%;
  }

  .central-map {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    height: auto;
    aspect-ratio: 886 / 453;
    margin: 0 0 22px;
  }

  .southeast-map {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    height: auto;
    aspect-ratio: 886 / 453;
    margin: 22px 0 0;
  }

  .card-map {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    height: auto;
    aspect-ratio: 1104 / 666;
    margin: 24px 0 0;
  }

  .rail-map {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    height: auto;
    aspect-ratio: 1098 / 651;
    margin: 0 0 22px;
  }

  /* ---- Icon strips become horizontal rows ---- */
  .service-icons {
    position: relative;
    top: auto;
    left: auto;
    display: flex;
    width: 100%;
    height: auto;
    margin: 0 0 20px;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 18px;
  }

  .service-icons img {
    max-width: 64px;
    max-height: 52px;
  }

  .freight-icons {
    position: relative;
    top: auto;
    left: auto;
    display: flex;
    width: 100%;
    height: auto;
    margin: 0 0 20px;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 18px;
  }

  .freight-icons img {
    max-width: 62px;
    max-height: 50px;
  }

  .rail-side-icons {
    position: relative;
    top: auto;
    left: auto;
    display: flex;
    width: 100%;
    height: auto;
    margin: 0 0 20px;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 18px;
  }

  .rail-side-icons img {
    max-width: 56px;
    max-height: 56px;
  }

  /* ---- Text lists ---- */
  .service-list {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
  }

  .market-list {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    margin-bottom: 24px;
  }

  .service-list > div,
  .market-list > div {
    min-height: 0;
    margin-bottom: 18px;
    padding-left: 14px;
  }

  .service-list > div::before,
  .market-list > div::before,
  .freight-details > div::before,
  .rail-details > div::before {
    top: 6px;
    width: 3px;
    height: 46px;
  }

  .service-list h4,
  .market-list h4,
  .freight-details h4,
  .rail-details h4 {
    font-size: 18px;
    line-height: 28px;
  }

  .service-list p,
  .market-list p,
  .freight-details p,
  .rail-details p {
    font-size: 15px;
    line-height: 26px;
  }

  /* ---- Overseas warehouses: 2-up photo grid with proportional crops ---- */
  .warehouses {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    height: auto;
  }

  .warehouse-summary {
    position: static;
    top: auto;
    left: auto;
    margin: 0 0 24px;
    transform: none;
    font-size: 15px;
    letter-spacing: 0;
    line-height: 26px;
    text-align: left;
    white-space: normal;
  }

  .warehouse-strip {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    height: auto;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .warehouse-strip-one,
  .warehouse-strip-two {
    top: auto;
    height: auto;
  }

  .warehouse-strip .warehouse-photo {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    height: auto;
    aspect-ratio: 320 / 344;
    overflow: hidden;
    border-radius: 3px;
  }

  .warehouse-strip-two .warehouse-photo {
    aspect-ratio: 320 / 343;
  }

  /* The wide 1728px source strip is cropped per photo; percentages keep the
     exact desktop crop window at any column width. */
  .warehouse-strip .warehouse-photo img {
    top: -4.07%;
    left: 0;
    width: 540%;
    height: 104.07%;
  }

  .warehouse-strip-two .warehouse-photo img {
    top: -5.54%;
    height: 106.12%;
  }

  .warehouse-strip .photo-one img { left: -4.06%; }
  .warehouse-strip .photo-two img { left: -145.31%; }
  .warehouse-strip .photo-three img { left: -293.13%; }
  .warehouse-strip .photo-four img { left: -437.81%; }
  .warehouse-strip-two .photo-five img { left: -2.5%; }
  .warehouse-strip-two .photo-six img { left: -143.75%; }
  .warehouse-strip-two .photo-seven img { left: -290.94%; }
  .warehouse-strip-two .photo-eight img { left: -436.25%; }

  .photo-one { --origin-x: 87px; --origin-y: 93px; }
  .photo-two { --origin-x: 313px; --origin-y: 93px; }
  .photo-three { --origin-x: 549px; --origin-y: 93px; }
  .photo-four { --origin-x: 781px; --origin-y: 93px; }
  .photo-five { --origin-x: 84px; --origin-y: 95px; }
  .photo-six { --origin-x: 310px; --origin-y: 95px; }
  .photo-seven { --origin-x: 546px; --origin-y: 95px; }
  .photo-eight { --origin-x: 778px; --origin-y: 95px; }

  .warehouse-labels {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    margin: 10px 0 24px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    font-size: 17px;
    line-height: 26px;
  }

  .warehouse-labels-two {
    top: auto;
  }

  /* ---- Card freight ---- */
  .freight-details {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
  }

  .freight-details > div {
    min-height: 0;
    margin-bottom: 16px;
    padding-left: 18px;
  }

  /* ---- Rail lines ---- */
  .rail-details {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
  }

  .rail-details > div:first-child {
    min-height: 0;
  }

  .rail-details > div:first-child::before,
  .rail-details > div:last-child::before {
    height: 46px;
  }

  /* ---- Footer ---- */
  .international-footer {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    height: auto;
  }
}
