@charset "UTF-8";
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body,
h1, h2, h3, h4, h5, h6,
p, ul, ol, figure {
  margin: 0;
}

ul, ol {
  padding: 0;
  list-style: none;
}

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

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

button {
  font: inherit;
  color: inherit;
  background: none;
  border: none;
  cursor: pointer;
}

input, textarea, select, button {
  font-family: inherit;
}

body {
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

html {
  font-size: 16px;
}

body {
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  font-size: 0.8333333333vw;
  line-height: 1.6;
  color: #5b6472;
  background-color: #ffffff;
}

h1, h2, h3, h4, h5, h6, p {
  overflow-wrap: break-word;
  word-wrap: break-word;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  letter-spacing: 0.0083333333vw;
  line-height: 1.15;
  color: #0b2036;
}

h1 {
  font-size: 2.9166666667vw;
}

h2 {
  font-size: 2.2916666667vw;
}

h3 {
  font-size: 1.4583333333vw;
}

h4 {
  font-size: 1.1458333333vw;
}

@media (max-width: 1023px) {
  h1 {
    font-size: 8.4vw;
  }
  h2 {
    font-size: 7vw;
  }
  h3 {
    font-size: 5.6vw;
  }
  h4 {
    font-size: 5.5vw;
  }
}
.container {
  width: 100%;
  max-width: 76.6666666667vw;
  margin-inline: auto;
  padding-inline: 1.25vw;
}
@media (max-width: 1023px) {
  .container {
    max-width: 100%;
    padding-inline: 6.4vw;
  }
}

.section {
  padding: 6.25vw 0;
}
@media (max-width: 1023px) {
  .section {
    padding: 21.3333333333vw 0;
  }
}

.section-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5208333333vw;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 0.75vw;
  color: #8a93a3;
}

img.is-loading {
  background-color: rgba(10, 11, 46, 0.06);
}

.site-header {
  position: fixed;
  top: 1.0416666667vw;
  left: 0;
  right: 0;
  z-index: 200;
  padding-inline: 1.25vw;
  transition: top 0.25s ease, padding-inline 0.25s ease;
}
@media (max-width: 1023px) {
  .site-header {
    top: 0;
    padding-inline: 0;
  }
}

.site-header__inner {
  max-width: 93.75vw;
  margin-inline: auto;
  height: 5vw;
  padding: 2.0833333333vw 1.0416666667vw 2.0833333333vw 2.0833333333vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25vw;
  background: rgba(23, 24, 26, 0.88);
  border-radius: 52.03125vw;
  box-shadow: 0 0.625vw 1.5625vw rgba(0, 0, 0, 0.18);
  transition: max-width 0.25s ease, height 0.25s ease, padding 0.25s ease, gap 0.25s ease, border-radius 0.25s ease, box-shadow 0.25s ease;
}
@media (max-width: 1023px) {
  .site-header__inner {
    max-width: none;
    height: 13.3333333333vw;
    padding-inline: 5.3333333333vw;
    gap: 6.4vw;
    border-radius: 0;
    box-shadow: 0 3.2vw 8vw rgba(0, 0, 0, 0.18);
  }
}

/* ---------------- Desktop: scrolled state ----------------
   往下滑動後貼齊頂端、兩側補滿(取消 pill 造型與外距),內容整體縮小為原本的 0.8 倍。 */
@media (min-width: 1024px) {
  .site-header.is-scrolled {
    top: 0;
    padding-inline: 0;
  }
  .site-header.is-scrolled .site-header__inner {
    max-width: none;
    height: 4vw;
    padding: 1.6666666667vw 0.8333333333vw 1.6666666667vw 1.6666666667vw;
    gap: 1vw;
    border-radius: 0;
    box-shadow: 0 0.5vw 1.25vw rgba(0, 0, 0, 0.18);
  }
  .site-header.is-scrolled .logo {
    font-size: 0.9333333333vw;
    letter-spacing: 0.0066666667vw;
  }
  .site-header.is-scrolled .logo img {
    width: 9.5833333333vw;
  }
  .site-header.is-scrolled .main-nav__list {
    gap: 1.4166666667vw;
  }
  .site-header.is-scrolled .main-nav__item > a {
    gap: 0.25vw;
    font-size: 0.8333333333vw;
    padding: 0.3333333333vw 0;
  }
  .site-header.is-scrolled .site-header__actions {
    gap: 0.9166666667vw;
  }
  .site-header.is-scrolled .site-header__actions .btn--sm {
    font-size: 0.8333333333vw;
    width: 9.1666666667vw;
    height: 2.8333333333vw;
  }
  .site-header.is-scrolled .lang-switch__toggle {
    gap: 0.25vw;
    font-size: 0.75vw;
  }
  .site-header.is-scrolled .lang-switch__toggle svg {
    width: 0.75vw;
  }
}
.logo {
  font-family: "Montserrat", sans-serif;
  font-weight: 800;
  font-size: 1.1666666667vw;
  letter-spacing: 0.0083333333vw;
  color: #ffffff;
  flex-shrink: 0;
}
.logo img {
  display: block;
  width: 11.9791666667vw;
  height: auto;
}
@media (max-width: 1023px) {
  .logo {
    font-size: 4.2666666667vw;
  }
  .logo img {
    width: 43.7333333333vw;
  }
}
.logo__strong {
  font-weight: 800;
}
.logo__light {
  font-weight: 400;
  opacity: 0.85;
}

/* ---------------- Desktop nav ---------------- */
.main-nav {
  flex: 1;
  display: flex;
  justify-content: center;
}
.main-nav__list {
  display: flex;
  align-items: center;
  gap: 1.7708333333vw;
}
.main-nav__item {
  position: relative;
}
.main-nav__item > a {
  display: flex;
  align-items: center;
  gap: 0.3125vw;
  font-size: 1.0416666667vw;
  font-weight: 500;
  color: #ffffff;
  padding: 0.4166666667vw 0;
  transition: color 0.25s ease;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
}
.main-nav__item > a .chevron {
  transition: transform 0.25s ease;
}
.main-nav__item:hover > a, .main-nav__item:focus-within > a {
  color: #e9134c;
}
.main-nav__item:hover .chevron, .main-nav__item:focus-within .chevron {
  transform: rotate(180deg);
}
.main-nav__item > a.is-active {
  color: #ea0044;
}

.dropdown {
  position: absolute;
  top: calc(100% + 0.9375vw);
  left: 50%;
  transform: translateX(-50%) translateY(0.4166666667vw);
  min-width: 10.4166666667vw;
  background: #17181a;
  border-radius: 0.4166666667vw;
  padding: 0.5208333333vw;
  box-shadow: 0 1.0416666667vw 2.0833333333vw rgba(0, 0, 0, 0.28);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
}
@media (min-width: 1024px) {
  .has-dropdown:hover .dropdown, .has-dropdown:focus-within .dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
  }
}
.dropdown li a {
  display: block;
  padding: 0.5208333333vw 0.7291666667vw;
  border-radius: 0.4166666667vw;
  font-size: 0.75vw;
  color: rgba(255, 255, 255, 0.85);
  white-space: nowrap;
}
.dropdown li a:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
}

.site-header__actions {
  display: flex;
  align-items: center;
  gap: 1.1458333333vw;
  flex-shrink: 0;
}
.site-header__actions .btn--sm {
  font-size: 1.0416666667vw;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  width: 11.4583333333vw;
  height: 3.5416666667vw;
}

.lang-switch {
  position: relative;
}
.lang-switch__toggle {
  display: flex;
  align-items: center;
  gap: 0.3125vw;
  color: #ffffff;
  font-size: 0.9375vw;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  cursor: pointer;
}
.lang-switch__toggle svg {
  width: 0.9375vw;
}
@media (max-width: 1023px) {
  .lang-switch__toggle svg {
    width: 4.8vw;
  }
}
.lang-switch:hover .lang-switch__toggle, .lang-switch:focus-within .lang-switch__toggle {
  color: #e9134c;
}
.lang-switch:hover .chevron, .lang-switch:focus-within .chevron {
  transform: rotate(180deg);
}

.lang-dropdown {
  left: auto;
  right: 0;
  transform: translateY(0.4166666667vw);
}
.lang-switch:hover .lang-dropdown, .lang-switch:focus-within .lang-dropdown {
  transform: translateY(0);
}
.lang-dropdown a.is-active {
  color: #e9134c;
}

/* ---------------- Mobile nav toggle ---------------- */
.nav-toggle {
  display: none;
  position: relative;
  z-index: 201;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.2604166667vw;
  width: 2.0833333333vw;
  height: 2.0833333333vw;
  flex-shrink: 0;
}
@media (max-width: 1023px) {
  .nav-toggle {
    gap: 1.3333333333vw;
    width: 10.6666666667vw;
    height: 10.6666666667vw;
  }
}
.nav-toggle span {
  width: 1.1458333333vw;
  height: 0.1041666667vw;
  background: #ffffff;
  border-radius: 0.1041666667vw;
  transition: transform 0.25s ease, opacity 0.25s ease;
}
@media (max-width: 1023px) {
  .nav-toggle span {
    width: 5.8666666667vw;
    height: 0.5333333333vw;
    border-radius: 0.5333333333vw;
  }
}
.nav-toggle[aria-expanded=true] span:nth-child(1) {
  transform: translateY(0.3645833333vw) rotate(45deg);
}
.nav-toggle[aria-expanded=true] span:nth-child(2) {
  opacity: 0;
}
.nav-toggle[aria-expanded=true] span:nth-child(3) {
  transform: translateY(-0.3645833333vw) rotate(-45deg);
}
@media (max-width: 1023px) {
  .nav-toggle[aria-expanded=true] span:nth-child(1) {
    transform: translateY(1.8666666667vw) rotate(45deg);
  }
  .nav-toggle[aria-expanded=true] span:nth-child(3) {
    transform: translateY(-1.8666666667vw) rotate(-45deg);
  }
}

.nav-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(6, 8, 20, 0.55);
  z-index: 190;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}
.nav-backdrop.is-open {
  opacity: 1;
  visibility: visible;
}

/* ---------------- Mobile nav panel ---------------- */
@media (max-width: 1023px) {
  .main-nav,
  .site-header__actions {
    position: fixed;
    right: 0;
    width: 100%;
    background: #17181a;
    z-index: 199;
    transform: translateX(100%);
    transition: transform 0.35s ease;
  }
  .main-nav.is-open,
  .site-header__actions.is-open {
    transform: translateX(0);
  }
  .main-nav {
    top: 0;
    bottom: 34.1333333333vw;
    display: flex;
    padding: 13.3333333333vw 8.5333333333vw 6.4vw;
    overflow-y: auto;
    box-shadow: -2.1333333333vw 0 8vw rgba(0, 0, 0, 0.2);
  }
  .main-nav__list {
    flex-direction: column;
    align-items: stretch;
    gap: 1.0666666667vw;
    width: 100%;
  }
  .main-nav__item {
    width: 100%;
    border-bottom: 0.2666666667vw solid rgba(255, 255, 255, 0.08);
  }
  .main-nav__item > a {
    width: 100%;
    justify-content: space-between;
    gap: 1.6vw;
    padding: 4.2666666667vw;
    font-size: 4.48vw;
  }
  .dropdown {
    position: static;
    transform: none;
    opacity: 1;
    visibility: visible;
    max-height: 0;
    overflow: hidden;
    background: transparent;
    box-shadow: none;
    padding: 0;
    transition: max-height 0.3s ease, padding 0.3s ease;
  }
  .has-dropdown.is-open .dropdown {
    max-height: 106.6666666667vw;
    padding: 1.0666666667vw 0 3.2vw 6.4vw;
  }
  .dropdown li a {
    color: rgba(255, 255, 255, 0.75);
    padding: 2.6666666667vw 4.2666666667vw;
    font-size: 4vw;
  }
  .has-dropdown.is-open > a .chevron,
  .has-dropdown.is-open > button .chevron {
    transform: rotate(180deg);
  }
  .site-header__actions {
    bottom: 0;
    height: 34.1333333333vw;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 4.2666666667vw;
    padding-inline: 8.5333333333vw;
    box-shadow: -2.1333333333vw 0 8vw rgba(0, 0, 0, 0.2);
  }
  .site-header__actions .lang-switch__toggle,
  .site-header__actions .btn {
    font-size: 3.7333333333vw;
  }
  .site-header__actions .btn {
    padding: 3.2vw 5.8666666667vw;
  }
  .site-header__actions .lang-switch {
    width: 100%;
  }
  .site-header__actions .lang-switch__toggle {
    width: 100%;
    justify-content: space-between;
    gap: 1.6vw;
  }
  .site-header__actions .lang-switch .dropdown {
    position: absolute;
    top: auto;
    bottom: calc(100% + 3.2vw);
    left: 0;
    right: 0;
    width: auto;
    min-width: 0;
    max-height: none;
    overflow: visible;
    background: #17181a;
    border-radius: 0.4166666667vw;
    box-shadow: 0 3.2vw 6.4vw rgba(0, 0, 0, 0.28);
    opacity: 0;
    visibility: hidden;
    padding: 2.1333333333vw;
    transition: opacity 0.25s ease, visibility 0.25s ease;
  }
  .site-header__actions .lang-switch.is-open .dropdown {
    opacity: 1;
    visibility: visible;
  }
  .site-header__actions .btn {
    width: 100%;
    justify-content: center;
  }
  .nav-toggle {
    display: flex;
  }
}
.site-footer {
  background: #060821;
  color: rgba(255, 255, 255, 0.65);
  padding: 4.1666666667vw 0 1.6666666667vw;
}
@media (max-width: 1023px) {
  .site-footer {
    padding: 14.9333333333vw 0 6.4vw;
  }
}
.site-footer .container {
  max-width: 85.9375vw;
}
@media (max-width: 1023px) {
  .site-footer .container {
    max-width: 100%;
  }
}
.site-footer .logo {
  margin-bottom: 2.9166666667vw;
  display: inline-block;
}
@media (max-width: 1023px) {
  .site-footer .logo {
    margin-bottom: 10.6666666667vw;
  }
}
.site-footer h4 {
  color: #ffffff;
  font-size: 1.1458333333vw;
  letter-spacing: 0.025vw;
  text-transform: uppercase;
  margin-bottom: 1.0416666667vw;
}
@media (max-width: 1023px) {
  .site-footer h4 {
    font-size: 3.2vw;
  }
}
.site-footer a {
  transition: color 0.25s ease;
}
.site-footer a:hover {
  color: #ffffff;
}

.site-footer__grid {
  display: grid;
  grid-template-columns: 1.6fr repeat(5, 1fr);
  gap: 1.6666666667vw;
  padding-bottom: 2.5vw;
  border-bottom: 0.0520833333vw solid rgba(255, 255, 255, 0.12);
}
@media (max-width: 1023px) {
  .site-footer__grid {
    grid-template-columns: 1fr;
    row-gap: 8.5333333333vw;
  }
}
.site-footer__grid ul li {
  margin-bottom: 0.625vw;
  font-size: 0.75vw;
}
@media (max-width: 1023px) {
  .site-footer__grid ul li {
    font-size: 3.4666666667vw;
  }
}

.footer-col--follow {
  grid-column: span 1;
}
@media (max-width: 1023px) {
  .footer-col--follow {
    grid-column: 1/-1;
    display: flex;
    flex-direction: column;
    gap: 5.3333333333vw;
  }
}

.social-list {
  display: flex;
  gap: 0.625vw;
  margin-bottom: 1.875vw;
}
@media (max-width: 1023px) {
  .social-list {
    gap: 3.2vw;
    margin-bottom: 5.3333333333vw;
  }
}
.social-list a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.7708333333vw;
  height: 1.7708333333vw;
  border-radius: 50%;
  background: #ffffff;
  color: #060821;
}
@media (max-width: 1023px) {
  .social-list a {
    width: 9.0666666667vw;
    height: 9.0666666667vw;
  }
}
.social-list a:hover {
  background: #e9134c;
  color: #ffffff;
}

.contact-list li {
  font-size: 0.75vw;
  line-height: 1.5;
  margin-bottom: 0.5208333333vw;
  max-width: 13.5416666667vw;
}
@media (max-width: 1023px) {
  .contact-list li {
    font-size: 3.4666666667vw;
    max-width: none;
  }
}

.site-footer__bottom {
  padding-top: 1.25vw;
  display: flex;
  justify-content: flex-end;
}
.site-footer__bottom p {
  font-size: 0.6666666667vw;
  color: #fff;
}
@media (max-width: 1023px) {
  .site-footer__bottom p {
    font-size: 2.9333333333vw;
  }
}
@media (max-width: 1023px) {
  .site-footer__bottom {
    justify-content: flex-start;
  }
}

.footer-col:nth-child(2) ul li a {
  font-weight: 600;
  color: #ffffff;
  font-size: 1.1458333333vw;
  letter-spacing: 0.025vw;
  text-transform: uppercase;
  margin-bottom: 1.0416666667vw;
}
@media (max-width: 1023px) {
  .footer-col:nth-child(2) ul li a {
    font-size: 3.2vw;
  }
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5208333333vw;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 0.8333333333vw;
  white-space: nowrap;
  border-radius: 52.03125vw;
  border: none;
  cursor: pointer;
  padding: 0.8333333333vw 1.4583333333vw;
  transition: transform 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease;
  background: #ffffff;
  color: #0b2036;
}
.btn--pink {
  background: #e9134c;
  color: #ffffff;
}
.btn--pink:hover {
  background: #c50f3f;
}
.btn--sm {
  padding: 0.625vw 1.1458333333vw;
  font-size: 0.75vw;
}
.btn svg {
  flex-shrink: 0;
}

.visually-hidden {
  position: absolute;
  width: 0.0520833333vw;
  height: 0.0520833333vw;
  padding: 0;
  margin: -0.0520833333vw;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.skip-link {
  position: absolute;
  width: 0.0520833333vw;
  height: 0.0520833333vw;
  padding: 0;
  margin: -0.0520833333vw;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.skip-link:focus {
  position: fixed;
  top: 0.625vw;
  left: 0.625vw;
  width: auto;
  height: auto;
  padding: 0.625vw 1.0416666667vw;
  background: #ffffff;
  color: #0b2036;
  border-radius: 0.4166666667vw;
  z-index: 1000;
  clip: auto;
}

#home #banner {
  width: 100%;
  height: 100dvh;
  background-color: #000;
  border-bottom-right-radius: 13.0208333333vw;
  overflow: hidden;
}
@media (max-width: 1023px) {
  #home #banner {
    border-bottom-right-radius: 16vw;
  }
}
#home #banner .item {
  width: 100%;
  height: 100%;
  position: relative;
}
#home #banner .item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 35%;
  background: linear-gradient(to bottom, #000 70%, transparent);
  z-index: 1;
}
@media (max-width: 1023px) {
  #home #banner .item::before {
    height: 25%;
    background: linear-gradient(to bottom, #000 30%, transparent);
  }
}
#home #banner .item .text {
  position: absolute;
  top: 0;
  left: 0;
  width: 60dvw;
  height: 100%;
  z-index: 1;
  background: linear-gradient(to right, #000 60%, transparent);
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  justify-content: center;
  align-items: center;
  padding-left: 9.375vw;
  font-family: Montserrat;
}
@media (max-width: 1023px) {
  #home #banner .item .text {
    top: auto;
    bottom: 0;
    left: 0;
    width: 100%;
    height: auto;
    padding: 17.0666666667vw 6.4vw 12.8vw;
    background: linear-gradient(to top, #000 0%, transparent);
    justify-content: flex-start;
    align-content: flex-end;
  }
}
#home #banner .item .text h2 {
  width: 100%;
  color: #fff;
  font-size: 3.75vw;
  font-weight: 500;
  padding-top: 5.2083333333vw;
}
@media (max-width: 1023px) {
  #home #banner .item .text h2 {
    font-size: 10.6666666667vw;
  }
}
#home #banner .item .text .line {
  width: 4.6875vw;
  margin-right: auto;
  margin-top: 4.1666666667vw;
  margin-bottom: 4.1666666667vw;
}
@media (max-width: 1023px) {
  #home #banner .item .text .line {
    width: 13.3333333333vw;
    margin-top: 6.4vw;
    margin-bottom: 6.4vw;
  }
}
#home #banner .item .text p {
  width: 100%;
  color: #fff;
  font-size: 1.09375vw;
  font-weight: 300;
}
@media (max-width: 1023px) {
  #home #banner .item .text p {
    font-size: 4.2666666667vw;
  }
}
#home #banner .item .text .btn {
  position: relative;
  z-index: 0;
  overflow: hidden;
  background-color: #fff;
  border: 0.1041666667vw solid #ea0044;
  transition: color 0.35s ease;
}
@media (max-width: 1023px) {
  #home #banner .item .text .btn {
    border-width: 0.5333333333vw;
  }
}
#home #banner .item .text .btn::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-color: #ea0044;
  transition: transform 0.35s ease;
}
#home #banner .item .text .btn:hover {
  color: #ea0044;
}
#home #banner .item .text .btn:hover::before {
  transform: translateX(100%);
}
#home #banner .item .text .btn {
  margin-top: 2.6041666667vw;
  margin-right: auto;
  background-color: #fff;
  color: #fff;
  padding: 0;
  width: 12.5vw;
  height: 3.6458333333vw;
  font-size: 1.0416666667vw;
  font-weight: 500;
  letter-spacing: 0.0520833333vw;
}
@media (max-width: 1023px) {
  #home #banner .item .text .btn {
    margin-top: 7.4666666667vw;
    width: 40vw;
    height: 10.6666666667vw;
    border-radius: 8vw;
    font-size: 3.2vw;
    letter-spacing: 0.2666666667vw;
  }
}
#home #banner .item .pic {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 68.75vw;
}
@media (max-width: 1023px) {
  #home #banner .item .pic {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: right center;
       object-position: right center;
  }
}
#home #banner .swiper-pagination {
  z-index: 2;
  bottom: 2.0833333333vw;
  width: 90%;
  text-align: right;
}
@media (max-width: 1023px) {
  #home #banner .swiper-pagination {
    bottom: 5.3333333333vw;
    width: 100%;
    text-align: center;
  }
}
#home #banner .swiper-pagination-bullet {
  width: 0.625vw;
  height: 0.625vw;
  background: #fff;
  opacity: 1;
  margin: 0 0.3125vw !important;
  transition: background-color 0.3s ease;
  border-radius: 100%;
}
@media (max-width: 1023px) {
  #home #banner .swiper-pagination-bullet {
    width: 1.3333333333vw;
    height: 1.3333333333vw;
    margin: 0 0.6666666667vw !important;
  }
}
#home #banner .swiper-pagination-bullet-active {
  background: #ea0044;
  border-radius: 0.2604166667vw;
  width: 2.5vw;
  position: relative;
  overflow: hidden;
}
@media (max-width: 1023px) {
  #home #banner .swiper-pagination-bullet-active {
    width: 8vw;
    border-radius: 4vw;
  }
}
#home #banner .swiper-pagination-bullet-active::before {
  content: "";
  position: absolute;
  top: 0;
  left: -25%;
  width: 100%;
  height: 100%;
  background: #fff;
  border-radius: 0.2604166667vw;
}
#home #about {
  margin-top: 5.2083333333vw;
  margin-bottom: 5.2083333333vw;
}
@media (max-width: 1023px) {
  #home #about {
    margin-top: 12.8vw;
    margin-bottom: 10.6666666667vw;
  }
}
#home #about .title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 5.2083333333vw;
}
@media (max-width: 1023px) {
  #home #about .title {
    flex-direction: column;
    align-items: flex-start;
    gap: 5.3333333333vw;
    margin-bottom: 10.6666666667vw;
  }
}
#home #about .title h2 {
  font-size: 3.75vw;
  font-weight: 600;
  color: #0b192c;
  margin: 0;
}
@media (max-width: 1023px) {
  #home #about .title h2 {
    font-size: 9.6vw;
  }
}
#home #about .title a.btn {
  background-color: #ea0044;
  color: #fff;
  border-radius: 0.625vw;
  text-decoration: none;
  font-size: 1.25vw;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  width: 15.2083333333vw;
  height: 3.75vw;
  position: relative;
  z-index: 0;
  overflow: hidden;
  background-color: #fff;
  border: 0.1041666667vw solid #ea0044;
  transition: color 0.35s ease;
}
@media (max-width: 1023px) {
  #home #about .title a.btn {
    border-width: 0.5333333333vw;
  }
}
#home #about .title a.btn::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-color: #ea0044;
  transition: transform 0.35s ease;
}
#home #about .title a.btn:hover {
  color: #ea0044;
}
#home #about .title a.btn:hover::before {
  transform: translateX(100%);
}
@media (max-width: 1023px) {
  #home #about .title a.btn {
    border-radius: 2.6666666667vw;
    font-size: 3.7333333333vw;
    width: 49.3333333333vw;
    height: 12vw;
  }
}
#home #about .title a.btn::after {
  content: "→";
  margin-left: 0.625vw;
  font-size: 1.0416666667vw;
}
@media (max-width: 1023px) {
  #home #about .title a.btn::after {
    margin-left: 2.6666666667vw;
    font-size: 4.2666666667vw;
  }
}
#home #about .content ul {
  background-color: #183eeb;
  border-radius: 2.0833333333vw;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 3.125vw 0;
  margin: 0 0 2.6041666667vw 0;
  list-style: none;
}
@media (max-width: 1023px) {
  #home #about .content ul {
    flex-direction: column;
    border-radius: 6.4vw;
    padding: 8.5333333333vw 6.4vw;
    margin-bottom: 8.5333333333vw;
  }
}
#home #about .content ul li {
  flex: 1;
  text-align: center;
  color: #fff;
  border-right: 0.0520833333vw solid rgba(255, 255, 255, 0.4);
}
@media (max-width: 1023px) {
  #home #about .content ul li {
    width: 100%;
    border-right: none;
    border-bottom: 0.2666666667vw solid rgba(255, 255, 255, 0.4);
    padding: 5.3333333333vw 0;
  }
}
@media (max-width: 1023px) {
  #home #about .content ul li:first-child {
    padding-top: 0;
  }
}
#home #about .content ul li:last-child {
  border-right: none;
}
@media (max-width: 1023px) {
  #home #about .content ul li:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }
}
#home #about .content ul li h3 {
  font-size: 3.75vw;
  font-weight: 700;
  margin: 0 0 0.5208333333vw 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}
@media (max-width: 1023px) {
  #home #about .content ul li h3 {
    font-size: 10.6666666667vw;
  }
}
#home #about .content ul li h3 span {
  color: #ea0044;
  font-size: 3.125vw;
  font-weight: bold;
}
#home #about .content ul li h3 span.num {
  color: #fff;
}
@media (max-width: 1023px) {
  #home #about .content ul li h3 span {
    font-size: 9.6vw;
  }
}
#home #about .content ul li p {
  font-family: "Montserrat", sans-serif;
  font-size: 1.25vw;
  font-weight: 600;
  margin: 0;
  letter-spacing: 0.0260416667vw;
}
@media (max-width: 1023px) {
  #home #about .content ul li p {
    font-size: 4.2666666667vw;
  }
}
#home #about .content > p {
  text-align: center;
  font-size: 1.09375vw;
  line-height: 1.8;
  color: #333;
  font-weight: 400;
  margin: 0 auto;
}
@media (max-width: 1023px) {
  #home #about .content > p {
    font-size: 4.2666666667vw;
    line-height: 1.7;
    max-width: 100%;
  }
}
#home #solutions {
  margin-top: 5.2083333333vw;
  margin-bottom: 5.2083333333vw;
}
@media (max-width: 1023px) {
  #home #solutions {
    margin-top: 12.8vw;
    margin-bottom: 10.6666666667vw;
  }
}
#home #solutions .container {
  position: relative;
}
#home #solutions .solutions-pattern {
  position: absolute;
  top: 0;
  right: 0;
  width: 16.6666666667vw;
  height: auto;
  opacity: 0.1;
  z-index: -1;
  pointer-events: none;
}
@media (max-width: 1023px) {
  #home #solutions .solutions-pattern {
    display: none;
  }
}
#home #solutions .title-area {
  margin-bottom: 2.0833333333vw;
}
@media (max-width: 1023px) {
  #home #solutions .title-area {
    margin-bottom: 6.4vw;
  }
}
#home #solutions .title-area h2 {
  font-family: "Montserrat", sans-serif;
  font-size: 3.75vw;
  font-weight: 600;
  color: #0b192c;
  margin: 0 0 0.8333333333vw 0;
}
@media (max-width: 1023px) {
  #home #solutions .title-area h2 {
    font-size: 8.5333333333vw;
    margin-bottom: 2.1333333333vw;
  }
}
#home #solutions .title-area p {
  font-size: 1.1458333333vw;
  color: #333;
  font-weight: 400;
  margin: 0;
}
@media (max-width: 1023px) {
  #home #solutions .title-area p {
    font-size: 3.7333333333vw;
  }
}
#home #solutions .content-wrapper {
  display: flex;
  gap: 2.0833333333vw;
  align-items: stretch;
}
@media (max-width: 1023px) {
  #home #solutions .content-wrapper {
    flex-direction: column;
    gap: 6.4vw;
  }
}
#home #solutions .tabs {
  display: flex;
  flex-direction: column;
  gap: 0.8333333333vw;
  width: 33.2291666667vw;
  flex-shrink: 0;
}
@media (max-width: 1023px) {
  #home #solutions .tabs {
    width: 100%;
    gap: 3.2vw;
  }
}
#home #solutions .tabs .tab-btn {
  position: relative;
  z-index: 0;
  overflow: hidden;
  display: flex;
  align-items: center;
  background-color: #040914; /* 根據設計圖微調的深色 */
  color: #fff;
  border: none;
  border-radius: 0.8333333333vw;
  padding: 1.25vw 1.6666666667vw;
  cursor: pointer;
  transition: 0.6s;
  text-align: left;
}
@media (max-width: 1023px) {
  #home #solutions .tabs .tab-btn {
    padding: 4.2666666667vw 6.4vw;
    border-radius: 3.2vw;
  }
}
#home #solutions .tabs .tab-btn::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-color: #183eeb;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s ease;
}
#home #solutions .tabs .tab-btn .num {
  font-size: 1.7708333333vw;
  font-weight: bold;
  margin-right: 1.25vw;
  transition: color 0.3s ease;
}
@media (max-width: 1023px) {
  #home #solutions .tabs .tab-btn .num {
    font-size: 5.3333333333vw;
    margin-right: 4.2666666667vw;
  }
}
#home #solutions .tabs .tab-btn .text {
  font-size: 1.875vw;
  font-weight: 500;
  flex-grow: 1;
  letter-spacing: 0.0520833333vw;
}
@media (max-width: 1023px) {
  #home #solutions .tabs .tab-btn .text {
    font-size: 5.3333333333vw;
    letter-spacing: 0.2666666667vw;
  }
}
#home #solutions .tabs .tab-btn .icon {
  width: 1.9791666667vw;
  transition: transform 0.3s ease;
}
@media (max-width: 1023px) {
  #home #solutions .tabs .tab-btn .icon {
    width: 6.4vw;
    transform: rotate(90deg);
  }
}
#home #solutions .tabs .tab-btn .icon svg .cls-1 {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.6px;
}
#home #solutions .tabs .tab-btn.active {
  box-shadow: 0 5px 10px #000;
}
#home #solutions .tabs .tab-btn.active::before {
  transform: scaleX(1);
}
#home #solutions .tabs .tab-btn.active .num {
  color: #ea0044;
}
#home #solutions .tab-content {
  flex-grow: 1;
  position: relative;
  border-radius: 2.0833333333vw;
  width: 26.0416666667vw;
  background-color: #f5f5f5;
  overflow: hidden;
}
@media (max-width: 1023px) {
  #home #solutions .tab-content {
    border-radius: 6.4vw;
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
  }
}
#home #solutions .tab-content .content-item {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  z-index: 1;
  transition: opacity 0.6s ease, visibility 0s linear 0.6s;
}
#home #solutions .tab-content .content-item.active {
  opacity: 1;
  visibility: visible;
  z-index: 2;
  transition: opacity 0.6s ease;
}
#home #solutions .tab-content .content-item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#home #solutions .tab-content .content-item .info-overlay {
  position: absolute;
  top: 4.1666666667vw;
  left: 0;
  padding-left: 1.25vw;
  border-left: 1.0416666667vw solid #ea0044;
  color: #fff;
  z-index: 2;
}
@media (max-width: 1023px) {
  #home #solutions .tab-content .content-item .info-overlay {
    top: 10.6666666667vw;
    padding-left: 4.2666666667vw;
    border-left: 5.3333333333vw solid #ea0044;
  }
}
#home #solutions .tab-content .content-item .info-overlay p {
  margin: 0;
  font-size: 1.1458333333vw;
  line-height: 1.8;
  font-weight: 400;
  text-shadow: 0 0.1041666667vw 0.2083333333vw rgba(0, 0, 0, 0.6);
}
@media (max-width: 1023px) {
  #home #solutions .tab-content .content-item .info-overlay p {
    font-size: 4.2666666667vw;
    text-shadow: 0 0.5333333333vw 1.0666666667vw rgba(0, 0, 0, 0.6);
  }
}
#home #core-capabilities {
  position: relative;
  background-color: #f4f5f8; /* 頂部淺色背景 */
  padding-top: 5.2083333333vw;
  z-index: 1;
}
@media (max-width: 1023px) {
  #home #core-capabilities {
    padding-top: 16vw;
  }
}
#home #core-capabilities {
  /* 模擬底部的深色背景區域 */
}
#home #core-capabilities::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 10.4166666667vw; /* 根據視覺微調深色區域高度 */
  background-color: #05051a; /* 極深藍 */
  z-index: -1;
}
@media (max-width: 1023px) {
  #home #core-capabilities::after {
    height: 40%; /* 手機版因卡片轉向垂直，改用百分比覆蓋底部 */
  }
}
@media (max-width: 1023px) {
  #home #core-capabilities .container {
    max-width: 100%;
  }
}
#home #core-capabilities .title-area {
  margin-bottom: 3.125vw;
}
@media (max-width: 1023px) {
  #home #core-capabilities .title-area {
    margin-bottom: 10.6666666667vw;
  }
}
#home #core-capabilities .title-area h2 {
  font-family: "Montserrat", sans-serif;
  font-size: 3.75vw;
  font-weight: 500;
  color: #0b192c;
  line-height: 1.2;
  margin: 0 0 0.8333333333vw 0;
}
@media (max-width: 1023px) {
  #home #core-capabilities .title-area h2 {
    font-size: 8.5333333333vw;
    margin: 0 0 3.2vw 0;
  }
}
#home #core-capabilities .title-area p {
  font-size: 1.1458333333vw;
  font-weight: 400;
  color: #333;
  margin: 0;
  letter-spacing: 0.0520833333vw;
}
@media (max-width: 1023px) {
  #home #core-capabilities .title-area p {
    font-size: 3.7333333333vw;
    letter-spacing: 0.2666666667vw;
  }
}
#home #core-capabilities .cards-wrapper {
  display: flex;
  align-items: flex-end; /* 使三張卡片底部對齊，以突顯中間卡片的高度 */
  position: relative;
  padding-bottom: 3.125vw;
}
@media (max-width: 1023px) {
  #home #core-capabilities .cards-wrapper {
    flex-direction: column;
    align-items: stretch;
    gap: 5.3333333333vw;
    padding-bottom: 10.6666666667vw;
  }
}
#home #core-capabilities .cards-wrapper .card {
  flex: 1;
  color: #fff;
  padding: 2.0833333333vw 1.8229166667vw;
  position: relative;
  box-sizing: border-box;
}
@media (max-width: 1023px) {
  #home #core-capabilities .cards-wrapper .card {
    padding: 8vw 5.3333333333vw;
  }
}
#home #core-capabilities .cards-wrapper .card .icon {
  margin-bottom: 1.5625vw;
  height: 4.6875vw; /* 側邊卡片 Icon 容器高度 */
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
@media (max-width: 1023px) {
  #home #core-capabilities .cards-wrapper .card .icon {
    margin-bottom: 5.3333333333vw;
    height: 13.3333333333vw;
  }
}
#home #core-capabilities .cards-wrapper .card .icon img {
  max-height: 100%;
  width: auto;
}
#home #core-capabilities .cards-wrapper .card h3 {
  font-size: 1.4583333333vw;
  font-weight: 700;
  margin: 0 0 0.8333333333vw 0;
  line-height: 1.3;
  color: #fff;
  white-space: nowrap; /* 設計稿標題不斷行 */
}
@media (max-width: 1023px) {
  #home #core-capabilities .cards-wrapper .card h3 {
    font-size: 4.8vw;
    margin: 0 0 3.2vw 0;
    white-space: normal;
  }
}
#home #core-capabilities .cards-wrapper .card p {
  font-size: 1.0416666667vw;
  font-weight: 400;
  line-height: 1.6;
  margin: 0;
  color: #d1d5db; /* 淺灰色內文 */
}
@media (max-width: 1023px) {
  #home #core-capabilities .cards-wrapper .card p {
    font-size: 3.7333333333vw;
  }
}
#home #core-capabilities .cards-wrapper .card.dark {
  background-color: #03004a;
  height: 19.53125vw; /* 固定高度,確保左右兩張卡片不因標題斷行字數不同而高度不一 */
  border-top-left-radius: 1.5625vw;
  border-top-right-radius: 1.5625vw;
}
@media (max-width: 1023px) {
  #home #core-capabilities .cards-wrapper .card.dark {
    height: auto;
    border-radius: 5.3333333333vw !important; /* 手機版強制恢復圓角 */
  }
}
#home #core-capabilities .cards-wrapper .card.dark {
  /* 左右卡片 hover:色塊由上往下鋪滿,取代原本瞬間切換的 background-color */
  position: relative;
  z-index: 0;
  overflow: hidden;
}
#home #core-capabilities .cards-wrapper .card.dark::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-color: #ea0044;
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 0.4s ease;
}
#home #core-capabilities .cards-wrapper .card.dark:hover::before {
  transform: scaleY(1);
}
#home #core-capabilities .cards-wrapper {
  /* 處理左右兩側卡片與中間卡片貼合處為直角
     用 .card.dark.left-card / .card.dark.right-card(比 .card.dark 多一個
     class,specificity 較高)才蓋得過上面 .card.dark 的圓角設定；原本單寫
     .left-card / .right-card specificity 比 .card.dark 低，永遠蓋不掉，
     導致桌機這個交接角一直是圓角，不是設計要的直角。 */
}
#home #core-capabilities .cards-wrapper .card.dark.left-card {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 1.5625vw;
}
#home #core-capabilities .cards-wrapper .card.dark.right-card {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 1.5625vw;
}
#home #core-capabilities .cards-wrapper .card.highlight {
  background-color: #ea0044;
  border-top-left-radius: 1.5625vw;
  border-top-right-radius: 1.5625vw;
  z-index: 2;
  margin: 0 -0.0520833333vw; /* 微調負邊距避免出現細微的 1px 渲染縫隙 */
  padding: 3.125vw 2.6041666667vw;
}
@media (max-width: 1023px) {
  #home #core-capabilities .cards-wrapper .card.highlight {
    margin: 0;
    border-radius: 5.3333333333vw;
    padding: 10.6666666667vw 5.3333333333vw;
  }
}
#home #core-capabilities .cards-wrapper .card.highlight .icon {
  height: 10.4166666667vw; /* 中間的 Icon 容器高度 */
  margin-bottom: 1.5625vw;
}
@media (max-width: 1023px) {
  #home #core-capabilities .cards-wrapper .card.highlight .icon {
    height: 18.6666666667vw;
    margin-bottom: 5.3333333333vw;
  }
}
#home #core-capabilities .cards-wrapper .card.highlight h3 {
  font-size: 1.6666666667vw;
}
@media (max-width: 1023px) {
  #home #core-capabilities .cards-wrapper .card.highlight h3 {
    font-size: 4.8vw;
  }
}
#home #core-capabilities .cards-wrapper .card.highlight p {
  color: #ffffff; /* 中間卡片內文全白，提升對比度 */
}
#home #core-capabilities .cards-wrapper .card.highlight {
  /* 中間卡片 hover:色塊由上往下鋪滿,取代原本瞬間切換的 background-color */
  position: relative;
  z-index: 0;
  overflow: hidden;
}
#home #core-capabilities .cards-wrapper .card.highlight::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-color: #03004a;
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 0.4s ease;
}
#home #core-capabilities .cards-wrapper .card.highlight:hover::before {
  transform: scaleY(1);
}
#home #proven-section {
  background-color: #05051a; /* 延續整體的極深藍背景 */
  padding: 6.25vw 0;
  position: relative;
  overflow: hidden;
}
@media (max-width: 1023px) {
  #home #proven-section {
    padding: 16vw 0;
  }
}
#home #proven-section .container {
  position: relative;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-end; /* 將內容靠右對齊 */
  min-height: 26.0416666667vw;
}
@media (max-width: 1023px) {
  #home #proven-section .container {
    flex-direction: column;
    justify-content: center;
    min-height: auto;
    padding: 0 5.3333333333vw;
    max-width: 100%;
  }
}
#home #proven-section .image-wrapper {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 65%; /* 控制圖片覆蓋畫面的寬度 */
  border-top-left-radius: 7.8125vw; /* 左上大圓角 */
  overflow: hidden;
  z-index: 1;
}
@media (max-width: 1023px) {
  #home #proven-section .image-wrapper {
    position: relative;
    width: 100%;
    height: 80vw;
    border-top-left-radius: 10.6666666667vw;
    margin-bottom: 10.6666666667vw;
  }
}
#home #proven-section .image-wrapper img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
#home #proven-section .content-wrapper {
  position: relative;
  z-index: 2;
  width: 55%; /* 控制右側文字區塊的佔比 */
  text-align: right;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  padding-right: 1.0416666667vw;
  padding-top: 4.1666666667vw;
}
@media (max-width: 1023px) {
  #home #proven-section .content-wrapper {
    width: 100%;
    padding-right: 0;
    padding-top: 0;
    align-items: flex-end; /* 手機版維持右對齊以符合排版調性 */
  }
}
#home #proven-section .content-wrapper {
  /* 使用 CSS 繪製右上角傾斜的紅色三條線圖示 */
}
#home #proven-section .content-wrapper .red-icon {
  margin-left: auto;
  margin-bottom: 0.5208333333vw;
  width: 4.4270833333vw;
}
@media (max-width: 1023px) {
  #home #proven-section .content-wrapper .red-icon {
    margin-bottom: 2.6666666667vw;
    width: 17.3333333333vw;
  }
}
#home #proven-section .content-wrapper h2 {
  font-family: "Montserrat", sans-serif;
  font-size: 6.25vw;
  font-weight: 500;
  color: #ffffff;
  margin: 0 0 1.25vw 0;
  line-height: 1;
  letter-spacing: 0.2083333333vw;
}
@media (max-width: 1023px) {
  #home #proven-section .content-wrapper h2 {
    font-size: 14.9333333333vw;
    margin: 0 0 4.2666666667vw 0;
    letter-spacing: 0.5333333333vw;
  }
}
#home #proven-section .content-wrapper p {
  font-size: 1.3541666667vw;
  line-height: 1.8;
  color: #ffffff;
  margin: 0;
  font-weight: 400;
}
@media (max-width: 1023px) {
  #home #proven-section .content-wrapper p {
    font-size: 4vw;
    line-height: 1.6;
  }
  #home #proven-section .content-wrapper p br {
    display: none; /* 手機版關閉強制換行，讓文字自然排版 */
  }
}
#home #partners-section {
  background-color: #ffffff;
  padding: 5.2083333333vw 0;
  text-align: center;
}
@media (max-width: 1023px) {
  #home #partners-section {
    padding: 16vw 0;
  }
}
#home #partners-section .title-area {
  margin-bottom: 4.1666666667vw;
}
@media (max-width: 1023px) {
  #home #partners-section .title-area {
    margin-bottom: 10.6666666667vw;
  }
}
#home #partners-section .title-area h2 {
  font-size: 3.75vw;
  font-weight: 500;
  color: #0b192c;
  margin: 0 0 1.25vw 0;
  letter-spacing: 0.1041666667vw;
}
@media (max-width: 1023px) {
  #home #partners-section .title-area h2 {
    font-size: 8.5333333333vw;
    margin: 0 0 4.2666666667vw 0;
    letter-spacing: 0.2666666667vw;
  }
}
#home #partners-section .title-area p {
  font-size: 1.1458333333vw;
  color: #555; /* 次要文字使用深灰色 */
  line-height: 1.8;
  font-weight: 400;
  margin: 0 auto;
}
@media (max-width: 1023px) {
  #home #partners-section .title-area p {
    font-size: 4vw;
    line-height: 1.6;
  }
}
#home #partners-section .title-area p {
  /* 控制電腦版的斷行，手機版則自然排版 */
}
@media (max-width: 1023px) {
  #home #partners-section .title-area p .desktop-only {
    display: none;
  }
}
#home #partners-section .logos-wrapper {
  /* Swiper 容器,overflow: hidden 讓輪播內容超出範圍時被裁切 */
  overflow: hidden;
  margin-bottom: 4.1666666667vw;
}
@media (max-width: 1023px) {
  #home #partners-section .logos-wrapper {
    margin-bottom: 13.3333333333vw;
  }
}
#home #partners-section .logos-wrapper .swiper-wrapper {
  align-items: center;
  /* 搭配 autoplay delay:0 做等速捲動,呈現跑馬燈效果 */
  transition-timing-function: linear;
}
#home #partners-section .logos-wrapper .logo-item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: auto; /* 依內容寬度顯示,slidesPerView: 'auto' 需要 */
  height: 3.125vw;
}
@media (max-width: 1023px) {
  #home #partners-section .logos-wrapper .logo-item {
    height: 16vw;
  }
}
#home #partners-section .logos-wrapper .logo-item img {
  max-height: 100%;
  max-width: 100%;
}
#home #partners-section .footer-text p {
  font-size: 1.1458333333vw;
  color: #333;
  font-weight: 400;
  margin: 0;
}
@media (max-width: 1023px) {
  #home #partners-section .footer-text p {
    font-size: 3.7333333333vw;
  }
}

#solutions {
  /* =========================================
     1. Hero Section
  ========================================= */
  /* =========================================
     2. Missions Section
  ========================================= */
}
#solutions .solutions-missions {
  background-color: #f3f6fb;
  padding: 6.25vw 0;
  position: relative;
}
@media (max-width: 1023px) {
  #solutions .solutions-missions {
    padding: 21.3333333333vw 0 42.6666666667vw 0;
  }
}
#solutions .solutions-missions .missions-layout {
  display: flex;
  gap: 3.125vw;
}
@media (max-width: 1023px) {
  #solutions .solutions-missions .missions-layout {
    flex-direction: column;
    gap: 10.6666666667vw;
  }
}
#solutions .solutions-missions .missions-left {
  width: 35%;
}
@media (max-width: 1023px) {
  #solutions .solutions-missions .missions-left {
    width: 100%;
  }
}
#solutions .solutions-missions .missions-left h2 {
  font-size: 3.75vw;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  color: #0d1b2a;
  line-height: 1.2;
  margin: 0 0 2.0833333333vw 0;
}
@media (max-width: 1023px) {
  #solutions .solutions-missions .missions-left h2 {
    font-size: 9.6vw;
    margin-bottom: 6.4vw;
  }
  #solutions .solutions-missions .missions-left h2 br {
    display: none;
  }
}
#solutions .solutions-missions .missions-left .image-wrapper {
  width: 35.9375vw;
  border-top-right-radius: 6.25vw;
  overflow: hidden;
  position: absolute;
  bottom: -10.4166666667vw;
  left: 0;
  transform: translateX(-13vw);
}
@media (max-width: 1023px) {
  #solutions .solutions-missions .missions-left .image-wrapper {
    border-top-right-radius: 21.3333333333vw;
    width: 66.6666666667vw;
    bottom: 0;
    position: static;
    left: auto;
    transform: none;
  }
}
#solutions .solutions-missions .missions-left .image-wrapper img {
  width: 100%;
}
#solutions .solutions-missions .missions-right {
  width: 75%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5625vw;
}
@media (max-width: 1023px) {
  #solutions .solutions-missions .missions-right {
    width: 100%;
    grid-template-columns: 1fr;
    gap: 5.3333333333vw;
  }
}
#solutions .solutions-missions .missions-right .mission-card {
  background-color: #fff;
  border-radius: 1.25vw;
  padding: 2.0833333333vw 4.1666666667vw 2.0833333333vw 2.0833333333vw;
  position: relative;
  z-index: 0;
  overflow: hidden;
}
#solutions .solutions-missions .missions-right .mission-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-color: #183eeb;
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform 0.4s ease;
}
#solutions .solutions-missions .missions-right .mission-card:hover::before {
  transform: scaleY(1);
}
@media (max-width: 1023px) {
  #solutions .solutions-missions .missions-right .mission-card {
    padding: 8.5333333333vw 17.0666666667vw 8.5333333333vw 8.5333333333vw;
    border-radius: 4.2666666667vw;
  }
}
#solutions .solutions-missions .missions-right .mission-card:hover h3,
#solutions .solutions-missions .missions-right .mission-card:hover p {
  color: #fff;
}
#solutions .solutions-missions .missions-right .mission-card:hover .icon img {
  filter: brightness(0) invert(1);
}
#solutions .solutions-missions .missions-right .mission-card .icon {
  position: absolute;
  top: 2.0833333333vw;
  right: 2.0833333333vw;
  width: 3.125vw;
}
@media (max-width: 1023px) {
  #solutions .solutions-missions .missions-right .mission-card .icon {
    top: 8.5333333333vw;
    right: 8.5333333333vw;
    width: 8.5333333333vw;
  }
}
#solutions .solutions-missions .missions-right .mission-card .icon img {
  width: 100%;
  height: auto;
  transition: filter 0.4s ease;
}
#solutions .solutions-missions .missions-right .mission-card h3 {
  font-size: 1.875vw;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  color: #183eeb;
  margin: 2.34375vw 0 1.3020833333vw 0;
  line-height: 1;
  transition: color 0.4s ease;
}
@media (max-width: 1023px) {
  #solutions .solutions-missions .missions-right .mission-card h3 {
    font-size: 5.3333333333vw;
    margin-bottom: 3.2vw;
  }
}
#solutions .solutions-missions .missions-right .mission-card p {
  font-size: 0.9375vw;
  color: #555;
  line-height: 1.6;
  margin: 0;
  transition: color 0.4s ease;
}
@media (max-width: 1023px) {
  #solutions .solutions-missions .missions-right .mission-card p {
    font-size: 3.7333333333vw;
  }
}
#solutions {
  /* =========================================
  3. Recommended Systems Section
  ========================================= */
}
#solutions .solutions-systems {
  padding-top: 9.1145833333vw;
  padding-bottom: 6.25vw;
}
@media (max-width: 1023px) {
  #solutions .solutions-systems {
    padding-top: 21.3333333333vw;
    padding-bottom: 21.3333333333vw;
  }
}
#solutions .solutions-systems .systems-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 3.125vw;
}
@media (max-width: 1023px) {
  #solutions .solutions-systems .systems-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 4.2666666667vw;
    margin-bottom: 10.6666666667vw;
  }
}
#solutions .solutions-systems .systems-header h2 {
  font-size: 3.75vw;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  color: #0d1b2a;
  line-height: 1.2;
  margin: 0;
}
@media (max-width: 1023px) {
  #solutions .solutions-systems .systems-header h2 {
    font-size: 8.5333333333vw;
  }
  #solutions .solutions-systems .systems-header h2 br {
    display: none;
  }
}
#solutions .solutions-systems .systems-header p {
  max-width: 40vw;
  font-size: 1.1458333333vw;
  color: #333;
  margin: 0;
  line-height: 1.6;
}
@media (max-width: 1023px) {
  #solutions .solutions-systems .systems-header p {
    max-width: 100%;
    font-size: 4vw;
  }
}
#solutions .solutions-systems .systems-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5625vw;
}
@media (max-width: 1023px) {
  #solutions .solutions-systems .systems-grid {
    grid-template-columns: 1fr;
    gap: 6.4vw;
  }
}
#solutions .solutions-systems .system-card {
  background-color: #f4f6f9;
  border-radius: 1.25vw;
  display: flex;
  padding: 2.0833333333vw;
  position: relative;
  overflow: hidden;
  transition: background-color 0.4s ease;
  cursor: pointer;
}
@media (max-width: 1023px) {
  #solutions .solutions-systems .system-card {
    flex-direction: column;
    padding: 8.5333333333vw;
    border-radius: 4.2666666667vw;
  }
}
#solutions .solutions-systems .system-card:hover .card-info h3,
#solutions .solutions-systems .system-card:hover .card-info h4,
#solutions .solutions-systems .system-card:hover .card-info p {
  color: #fff;
}
#solutions .solutions-systems .system-card:hover .card-image .bg-shape {
  position: absolute;
  bottom: -25%;
  right: -25%;
  width: 250%;
  height: 250%;
  background-color: #183eeb;
  z-index: -1;
  border-radius: 0;
  transition: 0.6s;
}
#solutions .solutions-systems .system-card:hover .card-image img {
  transform: scale(1.25) translate(15%, 15%);
}
#solutions .solutions-systems .system-card .card-info {
  width: 50%;
  padding-right: 1.0416666667vw;
  z-index: 2;
}
@media (max-width: 1023px) {
  #solutions .solutions-systems .system-card .card-info {
    width: 100%;
    padding-right: 0;
    margin-bottom: 6.4vw;
  }
}
#solutions .solutions-systems .system-card .card-info h3 {
  font-size: 2.1875vw;
  font-weight: 600;
  transition: color 0.4s ease;
  color: #0d1b2a;
  margin: 0 0 0.4166666667vw 0;
}
@media (max-width: 1023px) {
  #solutions .solutions-systems .system-card .card-info h3 {
    font-size: 5.8666666667vw;
  }
}
#solutions .solutions-systems .system-card .card-info h4 {
  font-size: 1.25vw;
  font-weight: 600;
  transition: color 0.4s ease;
  color: #333;
  margin: 0 0 2.6041666667vw 0;
  line-height: 1.4;
}
@media (max-width: 1023px) {
  #solutions .solutions-systems .system-card .card-info h4 {
    font-size: 4vw;
    margin-bottom: 3.2vw;
  }
}
#solutions .solutions-systems .system-card .card-info p {
  font-size: 1.0416666667vw;
  transition: color 0.4s ease;
  color: #666;
  line-height: 1.6;
  margin: 0;
}
@media (max-width: 1023px) {
  #solutions .solutions-systems .system-card .card-info p {
    font-size: 3.7333333333vw;
  }
}
#solutions .solutions-systems .system-card .card-image {
  width: 50%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}
@media (max-width: 1023px) {
  #solutions .solutions-systems .system-card .card-image {
    width: 100%;
    height: 53.3333333333vw;
  }
}
#solutions .solutions-systems .system-card .card-image .bg-shape {
  position: absolute;
  bottom: -95%;
  right: -50%;
  width: 160%;
  height: 120%;
  background-color: #183eeb;
  z-index: -1;
  border-radius: 100%;
}
#solutions .solutions-systems .system-card .card-image img {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  transition: transform 0.4s ease;
}

/* =========================================
   #products (產品總覽頁)
========================================= */
#products .products-categories {
  padding: 5.2083333333vw 0;
  background-color: #f7f9fc;
}
@media (max-width: 1023px) {
  #products .products-categories {
    padding: 16vw 0;
  }
}
#products .products-categories .container {
  position: relative;
}
#products .products-categories .category-swiper {
  padding: 3.6458333333vw 1.0416666667vw 1.0416666667vw;
  position: relative;
}
@media (max-width: 1023px) {
  #products .products-categories .category-swiper {
    padding: 13.3333333333vw 4.2666666667vw 4.2666666667vw;
  }
}
#products .products-categories .category-card {
  background-color: #fff;
  border-radius: 1.25vw;
  padding: 2.0833333333vw 1.5625vw;
  text-align: center;
  box-shadow: 0 0.5208333333vw 1.5625vw rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease;
  cursor: pointer;
  width: 21.6145833333vw;
  flex-shrink: 0;
}
@media (max-width: 1023px) {
  #products .products-categories .category-card {
    padding: 8vw 5.3333333333vw;
    border-radius: 4.2666666667vw;
    width: 69.3333333333vw;
  }
}
#products .products-categories .category-card .img-box {
  height: 8.3333333333vw;
  margin: -3.6458333333vw 0 1.25vw;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
}
@media (max-width: 1023px) {
  #products .products-categories .category-card .img-box {
    height: 32vw;
    margin: -12vw 0 4.2666666667vw;
  }
}
#products .products-categories .category-card .img-box img {
  height: 10.4166666667vw;
  width: auto;
  max-width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media (max-width: 1023px) {
  #products .products-categories .category-card .img-box img {
    height: 40vw;
  }
}
#products .products-categories .category-card h3 {
  font-size: 1.25vw;
  font-weight: 700;
  color: #183eeb;
  margin: 0 0 1.25vw 0;
}
@media (max-width: 1023px) {
  #products .products-categories .category-card h3 {
    font-size: 5.3333333333vw;
    margin-bottom: 4.2666666667vw;
  }
}
#products .products-categories .category-card .arrow-btn {
  width: 2.0833333333vw;
  height: 2.0833333333vw;
  background-color: #ea0044;
  color: #fff;
  border-radius: 0.4166666667vw;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  transition: background-color 0.3s, color 0.3s;
}
@media (max-width: 1023px) {
  #products .products-categories .category-card .arrow-btn {
    width: 8.5333333333vw;
    height: 8.5333333333vw;
    border-radius: 1.6vw;
  }
}
#products .products-categories .category-card .arrow-btn svg {
  width: 0.8333333333vw;
  height: auto;
  transition: transform 0.3s ease;
}
#products .products-categories .category-card .arrow-btn svg path, #products .products-categories .category-card .arrow-btn svg polyline, #products .products-categories .category-card .arrow-btn svg line {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.81px;
}
#products .products-categories .category-card.active, #products .products-categories .category-card:hover {
  background-color: #183eeb;
}
#products .products-categories .category-card.active h3, #products .products-categories .category-card:hover h3 {
  color: #fff;
}
#products .products-categories .category-card.active .arrow-btn, #products .products-categories .category-card:hover .arrow-btn {
  background-color: #fff;
  color: #ea0044;
}
#products .products-categories .swiper-button-prev,
#products .products-categories .swiper-button-next {
  position: absolute;
  top: calc(50% + 1.3020833333vw);
  transform: translateY(-50%);
  margin-top: 0;
  width: 3.125vw;
  height: 3.125vw;
  border-radius: 50%;
  border: 0.078125vw solid #183eeb;
  background-color: transparent;
  color: #183eeb;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.3s, color 0.3s;
  z-index: 10;
}
#products .products-categories .swiper-button-prev::after,
#products .products-categories .swiper-button-next::after {
  content: none;
}
#products .products-categories .swiper-button-prev svg,
#products .products-categories .swiper-button-next svg {
  width: 0.8333333333vw;
  height: auto;
}
#products .products-categories .swiper-button-prev svg path, #products .products-categories .swiper-button-prev svg polyline, #products .products-categories .swiper-button-prev svg line,
#products .products-categories .swiper-button-next svg path,
#products .products-categories .swiper-button-next svg polyline,
#products .products-categories .swiper-button-next svg line {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.81px;
}
#products .products-categories .swiper-button-prev:hover,
#products .products-categories .swiper-button-next:hover {
  background-color: #183eeb;
  color: #fff;
}
#products .products-categories .swiper-button-prev.swiper-button-disabled,
#products .products-categories .swiper-button-next.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
}
@media (max-width: 1023px) {
  #products .products-categories .swiper-button-prev,
  #products .products-categories .swiper-button-next {
    top: calc(50% + 4vw);
    width: 9.6vw;
    height: 9.6vw;
    border-width: 1px;
  }
  #products .products-categories .swiper-button-prev svg,
  #products .products-categories .swiper-button-next svg {
    width: 2.9333333333vw;
  }
}
#products .products-categories .swiper-button-prev {
  left: -2.9166666667vw;
}
#products .products-categories .swiper-button-prev svg {
  transform: rotate(180deg);
}
@media (max-width: 1023px) {
  #products .products-categories .swiper-button-prev {
    left: 0;
  }
}
#products .products-categories .swiper-button-next {
  right: -2.9166666667vw;
}
@media (max-width: 1023px) {
  #products .products-categories .swiper-button-next {
    right: 0;
  }
}
#products .products-lineup {
  padding-bottom: 6.25vw;
  background-color: #f7f9fc;
}
@media (max-width: 1023px) {
  #products .products-lineup {
    padding-bottom: 21.3333333333vw;
  }
}
#products .products-lineup .lineup-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 3.90625vw;
}
@media (max-width: 1023px) {
  #products .products-lineup .lineup-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 6.4vw;
    margin-bottom: 10.6666666667vw;
  }
}
#products .products-lineup .lineup-header h2 {
  font-size: 3.75vw;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  color: #0d1b2a;
  line-height: 1.1;
  margin: 0;
}
@media (max-width: 1023px) {
  #products .products-lineup .lineup-header h2 {
    font-size: 8.5333333333vw;
  }
  #products .products-lineup .lineup-header h2 br {
    display: none;
  }
}
#products .products-lineup .lineup-header .lineup-tabs {
  display: flex;
  align-items: center;
  gap: 1.6666666667vw;
}
@media (max-width: 1023px) {
  #products .products-lineup .lineup-header .lineup-tabs {
    gap: 4.2666666667vw;
    overflow-y: hidden;
    overflow-x: auto;
    width: 100%;
    padding-bottom: 2.1333333333vw;
  }
}
#products .products-lineup .lineup-header .lineup-tabs .tab {
  font-size: 1.0416666667vw;
  color: #A4A7AA;
  text-decoration: none;
  font-weight: 600;
  position: relative;
}
@media (max-width: 1023px) {
  #products .products-lineup .lineup-header .lineup-tabs .tab {
    font-size: 4vw;
    white-space: nowrap;
  }
}
#products .products-lineup .lineup-header .lineup-tabs .tab::after {
  content: "";
  position: absolute;
  bottom: -0.2604166667vw;
  left: 0;
  width: 0;
  height: 0.15625vw;
  background-color: #ea0044;
  transition: 0.6s;
}
@media (max-width: 1023px) {
  #products .products-lineup .lineup-header .lineup-tabs .tab::after {
    bottom: -2.4vw;
  }
}
#products .products-lineup .lineup-header .lineup-tabs .tab.active {
  color: #000;
  font-weight: 700;
}
#products .products-lineup .lineup-header .lineup-tabs .tab.active::after {
  width: 100%;
}
#products .products-lineup .lineup-header .lineup-tabs .tab-nav {
  display: flex;
  gap: 0.625vw;
  margin-left: 1.0416666667vw;
}
@media (max-width: 1023px) {
  #products .products-lineup .lineup-header .lineup-tabs .tab-nav {
    display: none;
  }
}
#products .products-lineup .lineup-header .lineup-tabs .tab-nav .nav-btn {
  background: none;
  border: none;
  font-size: 1.0416666667vw;
  color: #212529;
  cursor: pointer;
}
#products .products-lineup .lineup-header .lineup-tabs .tab-nav .nav-btn:hover {
  color: #ea0044;
}
#products .products-lineup .lineup-header .lineup-tabs .tab-nav .nav-btn svg {
  height: 20px;
}
#products .products-lineup .lineup-header .lineup-tabs .tab-nav .nav-btn svg .cls-1 {
  fill: currentColor;
}
#products .products-lineup .lineup-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5625vw;
}
@media (max-width: 1023px) {
  #products .products-lineup .lineup-grid {
    grid-template-columns: 1fr;
    gap: 5.3333333333vw;
  }
}
#products .products-lineup .lineup-grid .product-card {
  display: none;
}
#products .products-lineup .lineup-grid .product-card.visible {
  display: flex;
}

/* =========================================
   .product-card (共用元件：products.html 產品列表 + 
   product-detail 相關產品輪播，兩處共用同一份卡片樣式)
========================================= */
.product-card {
  position: relative;
  background-color: #f4f6f9;
  border-radius: 1.25vw;
  padding: 0.5208333333vw 2.0833333333vw;
  text-decoration: none;
  display: flex;
  transition: background-color 0.4s ease, transform 0.3s ease;
  overflow: hidden;
}
@media (max-width: 1023px) {
  .product-card {
    padding: 8.5333333333vw;
    border-radius: 4.2666666667vw;
  }
}
.product-card:hover:not(.highlight) {
  background-color: #183eeb;
}
.product-card:hover:not(.highlight) .card-head .category,
.product-card:hover:not(.highlight) .card-body .info h3,
.product-card:hover:not(.highlight) .card-body .info p {
  color: #fff;
}
.product-card:hover:not(.highlight) .card-head .link-icon {
  background-color: #fff;
  color: #ea0044;
}
.product-card:hover:not(.highlight) .card-head .link-icon .arrow {
  transform: rotate(45deg);
}
.product-card:hover:not(.highlight) .card-body .pic .bg-shape {
  position: absolute;
  bottom: -25%;
  right: -25%;
  width: 250%;
  height: 250%;
  background-color: #183eeb;
  z-index: -1;
  border-radius: 0;
  transition: 0.6s;
}
.product-card:hover:not(.highlight) .card-body .pic img {
  transform: scale(1.25) translate(15%, 15%);
}
.product-card .card-head {
  position: absolute;
  top: 1.0416666667vw;
  left: 2.0833333333vw;
  right: 2.0833333333vw;
  z-index: 3;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 1023px) {
  .product-card .card-head {
    top: 8.5333333333vw;
    left: 8.5333333333vw;
    right: 8.5333333333vw;
  }
}
.product-card .card-head .category {
  font-size: 1.25vw;
  font-weight: 600;
  color: #333;
  transition: color 0.4s ease;
}
@media (max-width: 1023px) {
  .product-card .card-head .category {
    font-size: 3.4666666667vw;
  }
}
.product-card .card-head .link-icon {
  width: 2.34375vw;
  height: 2.34375vw;
  background-color: #ea0044;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.625vw;
  font-size: 1.25vw;
}
.product-card .card-head .link-icon .arrow {
  display: flex;
  transition: transform 0.4s ease;
}
@media (max-width: 1023px) {
  .product-card .card-head .link-icon {
    width: 7.4666666667vw;
    height: 7.4666666667vw;
    border-radius: 2.1333333333vw;
    font-size: 3.7333333333vw;
  }
}
.product-card .card-body {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: space-between;
  gap: 1.0416666667vw;
}
@media (max-width: 1023px) {
  .product-card .card-body {
    flex-direction: column;
    padding-top: 11.7333333333vw;
  }
}
.product-card .card-body .info {
  position: relative;
  z-index: 2;
  width: 50%;
}
@media (max-width: 1023px) {
  .product-card .card-body .info {
    width: 100%;
    margin-bottom: 6.4vw;
  }
}
.product-card .card-body .info h3 {
  font-size: 2.1875vw;
  font-weight: 600;
  color: #0d1b2a;
  transition: color 0.4s ease;
  margin: 9.1145833333vw 0 0.4166666667vw 0;
}
@media (max-width: 1023px) {
  .product-card .card-body .info h3 {
    font-size: 5.8666666667vw;
  }
}
.product-card .card-body .info p {
  font-size: 1.0416666667vw;
  font-weight: 600;
  color: #333;
  transition: color 0.4s ease;
  line-height: 1.4;
  margin: 0;
}
@media (max-width: 1023px) {
  .product-card .card-body .info p {
    font-size: 4vw;
  }
}
.product-card .card-body .pic {
  width: 50%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}
@media (max-width: 1023px) {
  .product-card .card-body .pic {
    width: 100%;
    height: 53.3333333333vw;
  }
}
.product-card .card-body .pic .bg-shape {
  position: absolute;
  bottom: -95%;
  right: -50%;
  width: 160%;
  height: 120%;
  background-color: #183eeb;
  z-index: -1;
  border-radius: 100%;
}
.product-card .card-body .pic img {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  transition: transform 0.4s ease;
}
.product-card.highlight {
  background-color: #183eeb;
}
.product-card.highlight .card-head .category {
  color: #fff;
}
.product-card.highlight .card-head .link-icon {
  background-color: #fff;
  color: #ea0044;
}
.product-card.highlight .card-head .link-icon .arrow {
  transform: rotate(45deg);
}
.product-card.highlight .card-body .info h3, .product-card.highlight .card-body .info p {
  color: #fff;
}
.product-card.highlight .card-body .pic .bg-shape {
  background-color: rgb(80.3235059761, 109.0581673307, 239.8764940239);
}

/* =========================================
   #product-detail (產品詳細內頁)
========================================= */
#product-detail .detail-hero {
  display: flex;
  min-height: 80vh;
  position: relative;
  background-color: #f7f9fc;
}
@media (max-width: 1023px) {
  #product-detail .detail-hero {
    flex-direction: column;
  }
}
#product-detail .detail-hero .hero-left {
  width: 35%;
  background-color: #070b28;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 3.125vw;
  position: relative;
  overflow: hidden;
}
@media (max-width: 1023px) {
  #product-detail .detail-hero .hero-left {
    width: 100%;
    padding: 16vw 6.4vw;
    justify-content: flex-start;
  }
}
#product-detail .detail-hero .hero-left__content {
  color: #fff;
  width: 100%;
  max-width: 18.2291666667vw;
  position: relative;
  z-index: 2;
}
@media (max-width: 1023px) {
  #product-detail .detail-hero .hero-left__content {
    max-width: 100%;
  }
}
#product-detail .detail-hero .hero-left__content .category {
  display: flex;
  align-items: center;
  gap: 0.625vw;
  margin-bottom: 1.25vw;
  font-size: 1.25vw;
  color: #ea0044;
  font-weight: 600;
}
@media (max-width: 1023px) {
  #product-detail .detail-hero .hero-left__content .category {
    font-size: 3.4666666667vw;
    margin-bottom: 4.2666666667vw;
    gap: 2.1333333333vw;
  }
}
#product-detail .detail-hero .hero-left__content .category img {
  width: 1.0416666667vw;
}
@media (max-width: 1023px) {
  #product-detail .detail-hero .hero-left__content .category img {
    width: 4.2666666667vw;
  }
}
#product-detail .detail-hero .hero-left__content h1 {
  font-size: 3.75vw;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  color: #fff;
  margin: 0 0 0.8333333333vw 0;
}
@media (max-width: 1023px) {
  #product-detail .detail-hero .hero-left__content h1 {
    font-size: 12.8vw;
    margin-bottom: 2.1333333333vw;
  }
}
#product-detail .detail-hero .hero-left__content p {
  font-size: 1.1458333333vw;
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.4;
  margin: 0;
}
@media (max-width: 1023px) {
  #product-detail .detail-hero .hero-left__content p {
    font-size: 4.2666666667vw;
  }
}
#product-detail .detail-hero .hero-left .deco-lines {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 70%;
  opacity: 0.1;
  z-index: 1;
}
#product-detail .detail-hero .hero-right {
  width: 65%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 3.125vw;
  background-color: #DADEE7;
}
@media (max-width: 1023px) {
  #product-detail .detail-hero .hero-right {
    width: 100%;
    padding: 10.6666666667vw 6.4vw;
    flex-direction: column;
  }
}
#product-detail .detail-hero .hero-right .main-image {
  width: 70%;
  aspect-ratio: 1/1;
  cursor: zoom-in;
}
@media (max-width: 1023px) {
  #product-detail .detail-hero .hero-right .main-image {
    width: 100%;
    margin-bottom: 6.4vw;
  }
}
#product-detail .detail-hero .hero-right .main-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
  transition: transform 0.3s ease;
}
#product-detail .detail-hero .hero-right .main-image:hover .swiper-slide-active img {
  transform: scale(2);
}
#product-detail .detail-hero .hero-right .thumbnails {
  position: absolute;
  right: 3.125vw;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.0416666667vw;
}
@media (max-width: 1023px) {
  #product-detail .detail-hero .hero-right .thumbnails {
    position: relative;
    right: 0;
    top: 0;
    transform: none;
    flex-direction: row;
    width: 100%;
    gap: 3.2vw;
  }
}
#product-detail .detail-hero .hero-right .thumbs-swiper {
  width: 8.3333333333vw;
  height: 27.0833333333vw;
}
@media (max-width: 1023px) {
  #product-detail .detail-hero .hero-right .thumbs-swiper {
    width: auto;
    flex: 1;
    min-width: 0;
    height: 25.6vw;
  }
}
#product-detail .detail-hero .hero-right .thumbs-swiper .swiper-wrapper {
  flex-direction: column;
}
@media (max-width: 1023px) {
  #product-detail .detail-hero .hero-right .thumbs-swiper .swiper-wrapper {
    flex-direction: row;
  }
}
#product-detail .detail-hero .hero-right .thumbs-swiper__nav {
  width: 2.0833333333vw;
  height: 2.0833333333vw;
  border: 0.0520833333vw solid #183eeb;
  color: #183eeb;
  background-color: transparent;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.0416666667vw;
  flex-shrink: 0;
  cursor: pointer;
}
#product-detail .detail-hero .hero-right .thumbs-swiper__nav.swiper-button-disabled {
  display: none;
}
@media (max-width: 1023px) {
  #product-detail .detail-hero .hero-right .thumbs-swiper__nav {
    width: 8.5333333333vw;
    height: 8.5333333333vw;
    font-size: 4.2666666667vw;
    border-width: 0.2666666667vw;
    transform: rotate(-90deg);
  }
}
#product-detail .detail-hero .hero-right .thumb {
  background-color: transparent;
  border-bottom: 0.15625vw solid transparent;
  padding-bottom: 0.5208333333vw;
  cursor: pointer;
  transition: border-color 0.3s;
}
@media (max-width: 1023px) {
  #product-detail .detail-hero .hero-right .thumb {
    border-bottom-width: 0.8vw;
    padding-bottom: 1.6vw;
  }
}
#product-detail .detail-hero .hero-right .thumb.swiper-slide-thumb-active, #product-detail .detail-hero .hero-right .thumb:hover {
  border-color: #ea0044;
}
#product-detail .detail-hero .hero-right .thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
#product-detail .detail-hero .color-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.4166666667vw;
  background: linear-gradient(to right, #EA0044 20%, #00C08B 20% 40%, #655CC6 40% 60%, #0091B2 60% 80%, #FF681D 80%);
  z-index: 3;
}
@media (max-width: 1023px) {
  #product-detail .detail-hero .color-bar {
    height: 1.0666666667vw;
  }
}
#product-detail .detail-specs {
  padding: 6.25vw 0;
  background-color: #fff;
}
@media (max-width: 1023px) {
  #product-detail .detail-specs {
    padding: 16vw 0;
  }
}
#product-detail .detail-specs .specs-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 3.125vw;
}
@media (max-width: 1023px) {
  #product-detail .detail-specs .specs-header {
    margin-bottom: 8.5333333333vw;
  }
}
#product-detail .detail-specs .specs-header h2 {
  font-size: 3.75vw;
  font-family: "Montserrat", sans-serif;
  color: #2b394a;
  margin: 0;
  line-height: 1.2;
}
@media (max-width: 1023px) {
  #product-detail .detail-specs .specs-header h2 {
    font-size: 6.4vw;
  }
}
#product-detail .detail-specs .specs-header .header-icon {
  width: 8.0729166667vw;
}
@media (max-width: 1023px) {
  #product-detail .detail-specs .specs-header .header-icon {
    width: 13.3333333333vw;
  }
}
#product-detail .detail-specs .specs-table {
  border-top: 0.1041666667vw solid #183eeb;
}
@media (max-width: 1023px) {
  #product-detail .detail-specs .specs-table {
    border-top-width: 0.5333333333vw;
  }
}
#product-detail .detail-specs .specs-table .tr {
  display: grid;
  align-items: center;
  grid-template-columns: 20% 30% 50%;
  border-bottom: 0.0520833333vw solid #eaeaea;
  padding: 1.25vw 0;
}
@media (max-width: 1023px) {
  #product-detail .detail-specs .specs-table .tr {
    grid-template-columns: 1fr;
    gap: 2.1333333333vw;
    padding: 4.2666666667vw 0;
    border-bottom-width: 0.2666666667vw;
  }
  #product-detail .detail-specs .specs-table .tr .col-model {
    display: none;
  }
}
#product-detail .detail-specs .specs-table .tr.thead {
  font-weight: 700;
  color: #000;
  text-transform: uppercase;
}
#product-detail .detail-specs .specs-table .tr.thead .col-model {
  color: #183eeb;
  font-size: 2.1875vw;
}
#product-detail .detail-specs .specs-table .tr.thead .col-value {
  font-size: 1.25vw;
  font-weight: 600;
}
@media (max-width: 1023px) {
  #product-detail .detail-specs .specs-table .tr.thead {
    display: none;
  }
}
#product-detail .detail-specs .specs-table .tr .td {
  font-size: 0.78125vw;
  color: #333;
  line-height: 1.6;
}
@media (max-width: 1023px) {
  #product-detail .detail-specs .specs-table .tr .td {
    font-size: 3.7333333333vw;
  }
}
#product-detail .detail-specs .specs-table .tr .col-spec {
  font-size: 1.25vw;
  font-weight: 600;
  color: #2b394a;
}
@media (max-width: 1023px) {
  #product-detail .detail-specs .specs-table .tr .col-spec {
    font-size: 4.2666666667vw;
    color: #183eeb;
  }
}
#product-detail .detail-specs .specs-table .tr .spec-list {
  margin: 0;
  padding-left: 1.0416666667vw;
}
@media (max-width: 1023px) {
  #product-detail .detail-specs .specs-table .tr .spec-list {
    padding-left: 5.3333333333vw;
  }
}
#product-detail .detail-specs .specs-table .tr .spec-list li {
  margin-bottom: 0.4166666667vw;
  position: relative;
  list-style: none;
}
@media (max-width: 1023px) {
  #product-detail .detail-specs .specs-table .tr .spec-list li {
    margin-bottom: 1.6vw;
  }
}
#product-detail .detail-specs .specs-table .tr .spec-list li::before {
  content: "•";
  color: #ea0044;
  position: absolute;
  left: -0.78125vw;
  font-weight: bold;
}
@media (max-width: 1023px) {
  #product-detail .detail-specs .specs-table .tr .spec-list li::before {
    left: -4vw;
  }
}
#product-detail .detail-specs .specs-table .tr .col-value {
  font-size: 1.1458333333vw;
  font-weight: 400;
}
@media (max-width: 1023px) {
  #product-detail .detail-specs .specs-table .tr .col-value {
    font-size: 3.7333333333vw;
  }
}
#product-detail .detail-related {
  padding-bottom: 6.25vw;
  background-color: #fff;
  text-align: center;
}
@media (max-width: 1023px) {
  #product-detail .detail-related {
    padding-bottom: 21.3333333333vw;
  }
}
#product-detail .detail-related .container {
  position: relative;
}
#product-detail .detail-related .related-swiper {
  padding: 2.0833333333vw 0;
  position: relative;
  text-align: left;
}
@media (max-width: 1023px) {
  #product-detail .detail-related .related-swiper {
    padding: 5.3333333333vw 0;
  }
}
#product-detail .detail-related .related-swiper .product-card {
  width: 31.25vw;
  flex-shrink: 0;
}
@media (max-width: 1023px) {
  #product-detail .detail-related .related-swiper .product-card {
    width: 80vw;
  }
}
#product-detail .detail-related .swiper-button-prev,
#product-detail .detail-related .swiper-button-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  margin-top: 0;
  width: 3.125vw;
  height: 3.125vw;
  border-radius: 50%;
  border: 0.078125vw solid #183eeb;
  background-color: transparent;
  color: #183eeb;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.3s, color 0.3s;
  z-index: 10;
}
#product-detail .detail-related .swiper-button-prev::after,
#product-detail .detail-related .swiper-button-next::after {
  content: none;
}
#product-detail .detail-related .swiper-button-prev svg,
#product-detail .detail-related .swiper-button-next svg {
  width: 0.8333333333vw;
  height: auto;
}
#product-detail .detail-related .swiper-button-prev svg path, #product-detail .detail-related .swiper-button-prev svg polyline, #product-detail .detail-related .swiper-button-prev svg line,
#product-detail .detail-related .swiper-button-next svg path,
#product-detail .detail-related .swiper-button-next svg polyline,
#product-detail .detail-related .swiper-button-next svg line {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.81px;
}
#product-detail .detail-related .swiper-button-prev:hover,
#product-detail .detail-related .swiper-button-next:hover {
  background-color: #183eeb;
  color: #fff;
}
#product-detail .detail-related .swiper-button-prev.swiper-button-disabled,
#product-detail .detail-related .swiper-button-next.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
}
@media (max-width: 1023px) {
  #product-detail .detail-related .swiper-button-prev,
  #product-detail .detail-related .swiper-button-next {
    top: 50%;
    width: 9.6vw;
    height: 9.6vw;
    border-width: 1px;
  }
  #product-detail .detail-related .swiper-button-prev svg,
  #product-detail .detail-related .swiper-button-next svg {
    width: 2.9333333333vw;
  }
}
#product-detail .detail-related .swiper-button-prev {
  left: -2.9166666667vw;
}
#product-detail .detail-related .swiper-button-prev svg {
  transform: rotate(180deg);
}
@media (max-width: 1023px) {
  #product-detail .detail-related .swiper-button-prev {
    left: 0;
  }
}
#product-detail .detail-related .swiper-button-next {
  right: -2.9166666667vw;
}
@media (max-width: 1023px) {
  #product-detail .detail-related .swiper-button-next {
    right: 0;
  }
}
#product-detail .detail-related .action-wrap {
  margin-top: 3.125vw;
}
@media (max-width: 1023px) {
  #product-detail .detail-related .action-wrap {
    margin-top: 10.6666666667vw;
  }
}
#product-detail .detail-related .action-wrap .btn--red {
  background-color: #ea0044;
  color: #fff;
  padding: 0.8333333333vw 2.5vw;
  border-radius: 0.625vw;
  text-decoration: none;
  font-size: 0.9375vw;
  font-weight: 600;
  position: relative;
  z-index: 0;
  overflow: hidden;
  background-color: #fff;
  border: 0.1041666667vw solid #ea0044;
  transition: color 0.35s ease;
}
@media (max-width: 1023px) {
  #product-detail .detail-related .action-wrap .btn--red {
    border-width: 0.5333333333vw;
  }
}
#product-detail .detail-related .action-wrap .btn--red::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-color: #ea0044;
  transition: transform 0.35s ease;
}
#product-detail .detail-related .action-wrap .btn--red:hover {
  color: #ea0044;
}
#product-detail .detail-related .action-wrap .btn--red:hover::before {
  transform: translateX(100%);
}
@media (max-width: 1023px) {
  #product-detail .detail-related .action-wrap .btn--red {
    padding: 3.7333333333vw 10.6666666667vw;
    border-radius: 2.6666666667vw;
    font-size: 4.2666666667vw;
  }
}
#product-detail .detail-related .action-wrap .btn--red {
  display: inline-flex;
}

/* =========================================
   #case (案例分享頁)
========================================= */
#case {
  /* --- 2. Mission Categories --- */
}
#case .case-categories {
  padding: 6.25vw 0;
}
@media (max-width: 1023px) {
  #case .case-categories {
    padding: 21.3333333333vw 0;
  }
}
#case .case-categories {
  background-color: #fff;
}
#case .case-categories .section-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 3.125vw;
}
@media (max-width: 1023px) {
  #case .case-categories .section-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 6.4vw;
    margin-bottom: 10.6666666667vw;
  }
}
#case .case-categories .section-header h2 {
  font-size: 3.75vw;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  color: #0d1b2a;
  line-height: 1.2;
  margin: 0;
}
@media (max-width: 1023px) {
  #case .case-categories .section-header h2 {
    font-size: 8.5333333333vw;
  }
  #case .case-categories .section-header h2 br {
    display: none;
  }
}
#case .case-categories .section-header .desc {
  max-width: 31.25vw;
}
@media (max-width: 1023px) {
  #case .case-categories .section-header .desc {
    max-width: 100%;
  }
}
#case .case-categories .section-header .desc h4 {
  font-size: 1.4583333333vw;
  font-weight: 600;
  color: #333;
  margin: 0 0 0.78125vw 0;
}
@media (max-width: 1023px) {
  #case .case-categories .section-header .desc h4 {
    font-size: 4.2666666667vw;
  }
}
#case .case-categories .section-header .desc p {
  font-size: 1.1458333333vw;
  color: #666;
  line-height: 1.6;
  margin: 0;
  font-weight: 400;
}
@media (max-width: 1023px) {
  #case .case-categories .section-header .desc p {
    font-size: 3.7333333333vw;
  }
}
#case .case-categories .category-swiper-wrap {
  position: relative;
}
#case .case-categories .category-swiper {
  padding: 3.90625vw 1.0416666667vw 1.0416666667vw;
  position: relative;
}
@media (max-width: 1023px) {
  #case .case-categories .category-swiper {
    padding: 10.6666666667vw 4.2666666667vw 4.2666666667vw;
  }
}
#case .case-categories .category-card {
  position: relative;
  background-color: #f7f9fc;
  border-radius: 1.25vw;
  padding: 4.4270833333vw 1.5625vw 3.90625vw 1.5625vw;
  display: flex;
  flex-direction: column;
  transition: all 0.3s ease;
  cursor: pointer;
  width: 19.53125vw;
  flex-shrink: 0;
}
@media (max-width: 1023px) {
  #case .case-categories .category-card {
    padding: 8vw 5.3333333333vw;
    border-radius: 4.2666666667vw;
    height: 58.6666666667vw;
    width: 69.3333333333vw;
  }
}
#case .case-categories .category-card .icon-box {
  width: 6.5625vw;
  height: 6.5625vw;
  background-color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: auto;
  box-shadow: 0 0.2604166667vw 0.78125vw rgba(0, 0, 0, 0.05);
  position: absolute;
  top: 0;
  left: 1.5625vw;
  transform: translateY(-50%);
}
@media (max-width: 1023px) {
  #case .case-categories .category-card .icon-box {
    width: 13.3333333333vw;
    height: 13.3333333333vw;
  }
}
#case .case-categories .category-card .icon-box img {
  width: 100%;
}
#case .case-categories .category-card .info h3 {
  font-size: 1.875vw;
  font-weight: 600;
  color: #0d1b2a;
  margin: 0 0 0.4166666667vw 0;
}
@media (max-width: 1023px) {
  #case .case-categories .category-card .info h3 {
    font-size: 5.3333333333vw;
  }
}
#case .case-categories .category-card .info p {
  font-size: 1.25vw;
  font-weight: 600;
  color: #555;
  margin: 0 0 0.2604166667vw 0;
}
@media (max-width: 1023px) {
  #case .case-categories .category-card .info p {
    font-size: 3.4666666667vw;
    margin-bottom: 3.2vw;
  }
}
#case .case-categories .category-card .info span {
  font-size: 1.25vw;
  color: #999;
  font-weight: 600;
}
@media (max-width: 1023px) {
  #case .case-categories .category-card .info span {
    font-size: 3.2vw;
  }
}
#case .case-categories .category-card.active, #case .case-categories .category-card:hover {
  background-color: #183eeb;
}
#case .case-categories .category-card.active .info h3,
#case .case-categories .category-card.active .info p,
#case .case-categories .category-card.active .info span, #case .case-categories .category-card:hover .info h3,
#case .case-categories .category-card:hover .info p,
#case .case-categories .category-card:hover .info span {
  color: #fff;
}
#case .case-categories .category-card.active .info span, #case .case-categories .category-card:hover .info span {
  opacity: 0.8;
}
#case .case-categories .swiper-button-prev,
#case .case-categories .swiper-button-next {
  position: absolute;
  top: calc(50% + 0.78125vw);
  transform: translateY(-50%);
  margin-top: 0;
  width: 3.125vw;
  height: 3.125vw;
  border-radius: 50%;
  border: 2.5px solid #183eeb;
  background-color: transparent;
  color: #183eeb;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.3s, color 0.3s;
  z-index: 10;
}
#case .case-categories .swiper-button-prev::after,
#case .case-categories .swiper-button-next::after {
  content: none;
}
#case .case-categories .swiper-button-prev svg,
#case .case-categories .swiper-button-next svg {
  width: 0.8333333333vw;
  height: auto;
}
#case .case-categories .swiper-button-prev svg path, #case .case-categories .swiper-button-prev svg polyline, #case .case-categories .swiper-button-prev svg line,
#case .case-categories .swiper-button-next svg path,
#case .case-categories .swiper-button-next svg polyline,
#case .case-categories .swiper-button-next svg line {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.81px;
}
#case .case-categories .swiper-button-prev:hover,
#case .case-categories .swiper-button-next:hover {
  background-color: #183eeb;
  color: #fff;
}
#case .case-categories .swiper-button-prev.swiper-button-disabled,
#case .case-categories .swiper-button-next.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
}
@media (max-width: 1023px) {
  #case .case-categories .swiper-button-prev,
  #case .case-categories .swiper-button-next {
    top: calc(50% + 2.6666666667vw);
    width: 9.6vw;
    height: 9.6vw;
    border-width: 1px;
  }
  #case .case-categories .swiper-button-prev svg,
  #case .case-categories .swiper-button-next svg {
    width: 2.9333333333vw;
  }
}
#case .case-categories .swiper-button-prev {
  left: -2.9166666667vw;
}
#case .case-categories .swiper-button-prev svg {
  transform: rotate(180deg);
}
@media (max-width: 1023px) {
  #case .case-categories .swiper-button-prev {
    left: 0;
  }
}
#case .case-categories .swiper-button-next {
  right: -5.2083333333vw;
}
@media (max-width: 1023px) {
  #case .case-categories .swiper-button-next {
    right: 0;
  }
}
#case {
  /* --- 3. Featured Missions --- */
}
#case .featured-missions {
  padding-bottom: 6.25vw;
}
@media (max-width: 1023px) {
  #case .featured-missions {
    padding-bottom: 21.3333333333vw;
  }
}
#case .featured-missions .section-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 3.125vw;
}
@media (max-width: 1023px) {
  #case .featured-missions .section-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 6.4vw;
    margin-bottom: 10.6666666667vw;
  }
}
#case .featured-missions .section-header h2 {
  font-size: 3.75vw;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  color: #0d1b2a;
  line-height: 1.2;
  margin: 0;
}
@media (max-width: 1023px) {
  #case .featured-missions .section-header h2 {
    font-size: 8.5333333333vw;
  }
  #case .featured-missions .section-header h2 br {
    display: none;
  }
}
#case .featured-missions .section-header .desc {
  max-width: 33.8541666667vw;
}
@media (max-width: 1023px) {
  #case .featured-missions .section-header .desc {
    max-width: 100%;
  }
}
#case .featured-missions .section-header .desc h4 {
  font-size: 1.4583333333vw;
  font-weight: 600;
  color: #333;
  margin: 0 0 1.0416666667vw 0;
}
@media (max-width: 1023px) {
  #case .featured-missions .section-header .desc h4 {
    font-size: 4.2666666667vw;
  }
}
#case .featured-missions .section-header .desc p {
  font-weight: 400;
  font-size: 1.0416666667vw;
  color: #666;
  line-height: 1.6;
  margin: 0;
}
@media (max-width: 1023px) {
  #case .featured-missions .section-header .desc p {
    font-size: 3.7333333333vw;
  }
}
#case .featured-missions .mission-showcase {
  display: flex;
  gap: 1.5625vw;
  align-items: stretch;
}
@media (max-width: 1023px) {
  #case .featured-missions .mission-showcase {
    flex-direction: column;
    gap: 8.5333333333vw;
  }
}
#case .featured-missions .mission-showcase .stats-grid {
  width: 30%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.5208333333vw;
}
@media (max-width: 1023px) {
  #case .featured-missions .mission-showcase .stats-grid {
    width: 100%;
    gap: 3.2vw;
  }
}
#case .featured-missions .mission-showcase .stats-grid .stat-card {
  background-color: #f0f4fc;
  border-radius: 0.8333333333vw;
  padding: 1.25vw 0.8333333333vw;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 0;
  overflow: hidden;
}
#case .featured-missions .mission-showcase .stats-grid .stat-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-color: #183eeb;
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform 0.4s ease;
}
#case .featured-missions .mission-showcase .stats-grid .stat-card:hover::before {
  transform: scaleY(1);
}
@media (max-width: 1023px) {
  #case .featured-missions .mission-showcase .stats-grid .stat-card {
    padding: 5.3333333333vw 3.2vw;
    border-radius: 3.2vw;
  }
}
#case .featured-missions .mission-showcase .stats-grid .stat-card.span-full {
  grid-column: span 1;
}
#case .featured-missions .mission-showcase .stats-grid .stat-card:hover .num {
  color: #fff;
}
#case .featured-missions .mission-showcase .stats-grid .stat-card:hover .label {
  color: #BABABA;
}
#case .featured-missions .mission-showcase .stats-grid .stat-card:hover img {
  filter: brightness(0) invert(1);
}
#case .featured-missions .mission-showcase .stats-grid .stat-card img {
  width: 2.8645833333vw;
  transition: filter 0.4s ease;
}
@media (max-width: 1023px) {
  #case .featured-missions .mission-showcase .stats-grid .stat-card img {
    width: 7.4666666667vw;
  }
}
#case .featured-missions .mission-showcase .stats-grid .stat-card .num {
  font-size: 2.9166666667vw;
  font-weight: 700;
  color: #183eeb;
  transition: color 0.4s ease;
}
@media (max-width: 1023px) {
  #case .featured-missions .mission-showcase .stats-grid .stat-card .num {
    font-size: 6.4vw;
  }
}
#case .featured-missions .mission-showcase .stats-grid .stat-card .label {
  font-size: 0.9375vw;
  color: #333;
  font-weight: 600;
  transition: color 0.4s ease;
}
@media (max-width: 1023px) {
  #case .featured-missions .mission-showcase .stats-grid .stat-card .label {
    font-size: 2.9333333333vw;
  }
}
#case .featured-missions .mission-showcase .main-image {
  width: 35%;
  border-radius: 1.25vw;
  overflow: hidden;
  border-bottom: 1.0416666667vw solid #ea0044;
}
@media (max-width: 1023px) {
  #case .featured-missions .mission-showcase .main-image {
    width: 100%;
    border-radius: 4.2666666667vw;
    border-bottom-width: 1.6vw;
  }
}
#case .featured-missions .mission-showcase .main-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
#case .featured-missions .mission-showcase .mission-details {
  width: 35%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media (max-width: 1023px) {
  #case .featured-missions .mission-showcase .mission-details {
    width: 100%;
    padding-left: 0;
  }
}
#case .featured-missions .mission-showcase .mission-details .tag {
  font-size: 3.75vw;
  font-weight: 700;
  color: #183eeb;
  margin-bottom: 3.6458333333vw;
  line-height: 1;
}
@media (max-width: 1023px) {
  #case .featured-missions .mission-showcase .mission-details .tag {
    font-size: 7.4666666667vw;
    margin-bottom: 3.2vw;
  }
}
#case .featured-missions .mission-showcase .mission-details .tag span {
  display: block;
  font-size: 1.0416666667vw;
  line-height: 1.5;
  color: #666;
  font-weight: 600;
  text-transform: uppercase;
}
@media (max-width: 1023px) {
  #case .featured-missions .mission-showcase .mission-details .tag span {
    font-size: 3.2vw;
  }
}
#case .featured-missions .mission-showcase .mission-details h3 {
  font-size: 1.875vw;
  font-weight: 700;
  color: #0d1b2a;
  margin: 0 0 0.8333333333vw 0;
}
@media (max-width: 1023px) {
  #case .featured-missions .mission-showcase .mission-details h3 {
    font-size: 5.3333333333vw;
    margin-bottom: 3.2vw;
  }
}
#case .featured-missions .mission-showcase .mission-details p {
  font-size: 0.9375vw;
  color: #555;
  line-height: 1.8;
  margin: 0 0 3.6458333333vw 0;
}
@media (max-width: 1023px) {
  #case .featured-missions .mission-showcase .mission-details p {
    font-size: 3.7333333333vw;
    margin-bottom: 6.4vw;
  }
  #case .featured-missions .mission-showcase .mission-details p br {
    display: none;
  }
}
#case .featured-missions .mission-showcase .mission-details .location-tag {
  display: inline-block;
  border: 0.15625vw solid #183eeb;
  color: #183eeb;
  padding: 0.2604166667vw 0.78125vw;
  border-radius: 0.5208333333vw;
  font-size: 0.9375vw;
  font-weight: 600;
  align-self: flex-start;
  transition: color 0.4s ease;
  position: relative;
  z-index: 0;
  overflow: hidden;
}
#case .featured-missions .mission-showcase .mission-details .location-tag::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-color: #183eeb;
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform 0.4s ease;
}
#case .featured-missions .mission-showcase .mission-details .location-tag:hover::before {
  transform: scaleY(1);
}
#case .featured-missions .mission-showcase .mission-details .location-tag:hover {
  color: #fff;
}
@media (max-width: 1023px) {
  #case .featured-missions .mission-showcase .mission-details .location-tag {
    padding: 1.6vw 3.2vw;
    border-radius: 4.2666666667vw;
    font-size: 3.2vw;
  }
}

/* =========================================
   #about-page (關於我們頁面)
========================================= */
#about-page {
  /* --- 2. Motion Redefined Section --- */
}
#about-page .motion-redefined {
  padding: 6.25vw 0;
}
@media (max-width: 1023px) {
  #about-page .motion-redefined {
    padding: 21.3333333333vw 0;
  }
}
#about-page .motion-redefined {
  background-color: #fff;
}
#about-page .motion-redefined .card-box {
  background-color: #000;
  border-radius: 2.0833333333vw;
  display: flex;
  overflow: hidden;
  color: #fff;
  position: relative;
  height: 43.2291666667vw;
}
@media (max-width: 1023px) {
  #about-page .motion-redefined .card-box {
    flex-direction: column;
    border-radius: 6.4vw;
    height: auto;
  }
}
#about-page .motion-redefined .card-box .card-content {
  width: 45%;
  padding: 4.1666666667vw 3.125vw;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}
@media (max-width: 1023px) {
  #about-page .motion-redefined .card-box .card-content {
    width: 100%;
    padding: 10.6666666667vw 8.5333333333vw;
  }
}
#about-page .motion-redefined .card-box .card-content::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4.4270833333vw;
  width: 0.4166666667vw;
  height: 2.0833333333vw;
  background-color: #ea0044;
}
@media (max-width: 1023px) {
  #about-page .motion-redefined .card-box .card-content::before {
    top: 12vw;
    width: 1.0666666667vw;
    height: 6.4vw;
  }
}
#about-page .motion-redefined .card-box .card-content h2 {
  font-size: 3.75vw;
  font-weight: 500;
  color: #fff;
  line-height: 1.2;
  margin: 0 0 1.25vw 0;
  letter-spacing: 0.0520833333vw;
}
@media (max-width: 1023px) {
  #about-page .motion-redefined .card-box .card-content h2 {
    font-size: 7.4666666667vw;
    margin-bottom: 4.2666666667vw;
  }
}
#about-page .motion-redefined .card-box .card-content p {
  font-size: 1.0416666667vw;
  font-weight: 400;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.8);
  margin: 0;
}
@media (max-width: 1023px) {
  #about-page .motion-redefined .card-box .card-content p {
    font-size: 3.7333333333vw;
  }
  #about-page .motion-redefined .card-box .card-content p br {
    display: none;
  }
}
#about-page .motion-redefined .card-box .card-image {
  width: 55%;
  position: relative;
}
#about-page .motion-redefined .card-box .card-image::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 45%;
  height: 100%;
  background: linear-gradient(to right, #000 0%, transparent 100%);
  z-index: 1;
  pointer-events: none;
}
@media (max-width: 1023px) {
  #about-page .motion-redefined .card-box .card-image {
    width: 100%;
    height: 66.6666666667vw;
  }
  #about-page .motion-redefined .card-box .card-image::before {
    width: 100%;
    height: 45%;
    background: linear-gradient(to bottom, #000 0%, transparent 100%);
  }
}
#about-page .motion-redefined .card-box .card-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#about-page {
  /* --- 3. Built on Experience Section --- */
}
#about-page .built-on-experience {
  background-color: #f7f9fc;
  padding: 6.25vw 0;
}
@media (max-width: 1023px) {
  #about-page .built-on-experience {
    padding: 21.3333333333vw 0;
  }
}
#about-page .built-on-experience .text-area {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 4.1666666667vw;
}
@media (max-width: 1023px) {
  #about-page .built-on-experience .text-area {
    flex-direction: column;
    gap: 6.4vw;
    margin-bottom: 10.6666666667vw;
  }
}
#about-page .built-on-experience .text-area h2 {
  width: 35%;
  font-size: 3.75vw;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  color: #0d1b2a;
  line-height: 1.2;
  margin: 0;
}
@media (max-width: 1023px) {
  #about-page .built-on-experience .text-area h2 {
    width: 100%;
    font-size: 8.5333333333vw;
  }
  #about-page .built-on-experience .text-area h2 br {
    display: none;
  }
}
#about-page .built-on-experience .text-area p {
  width: 60%;
  font-size: 1.0416666667vw;
  color: #555;
  line-height: 1.8;
  margin: 0;
}
@media (max-width: 1023px) {
  #about-page .built-on-experience .text-area p {
    width: 100%;
    font-size: 4vw;
  }
  #about-page .built-on-experience .text-area p br {
    display: none;
  }
}
#about-page .built-on-experience .stats-box {
  background-color: #183eeb;
  border-radius: 1.6666666667vw;
  display: flex;
  padding: 3.125vw 0;
  color: #fff;
  text-align: center;
}
@media (max-width: 1023px) {
  #about-page .built-on-experience .stats-box {
    flex-direction: column;
    border-radius: 6.4vw;
    padding: 10.6666666667vw 0;
  }
}
#about-page .built-on-experience .stats-box .stat-item {
  flex: 1;
  border-right: 0.0520833333vw solid rgba(255, 255, 255, 0.2);
}
@media (max-width: 1023px) {
  #about-page .built-on-experience .stats-box .stat-item {
    border-right: none;
    border-bottom: 0.2666666667vw solid rgba(255, 255, 255, 0.2);
    padding: 6.4vw 0;
  }
  #about-page .built-on-experience .stats-box .stat-item:first-child {
    padding-top: 0;
  }
  #about-page .built-on-experience .stats-box .stat-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }
}
#about-page .built-on-experience .stats-box .stat-item:last-child {
  border-right: none;
}
#about-page .built-on-experience .stats-box .stat-item .num {
  font-size: 3.75vw;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 0.625vw;
}
@media (max-width: 1023px) {
  #about-page .built-on-experience .stats-box .stat-item .num {
    font-size: 12.8vw;
    margin-bottom: 2.1333333333vw;
  }
}
#about-page .built-on-experience .stats-box .stat-item .num span {
  color: #ea0044;
  font-size: 2.8125vw;
}
@media (max-width: 1023px) {
  #about-page .built-on-experience .stats-box .stat-item .num span {
    font-size: 9.6vw;
  }
}
#about-page .built-on-experience .stats-box .stat-item .label {
  font-size: 1.25vw;
  font-weight: 500;
  opacity: 0.9;
}
@media (max-width: 1023px) {
  #about-page .built-on-experience .stats-box .stat-item .label {
    font-size: 3.7333333333vw;
  }
}
#about-page {
  /* --- 4. Looking Ahead Section --- */
}
#about-page .looking-ahead {
  padding: 6.25vw 0;
}
@media (max-width: 1023px) {
  #about-page .looking-ahead {
    padding: 21.3333333333vw 0;
  }
}
#about-page .looking-ahead {
  background-color: #fff;
}
#about-page .looking-ahead .container {
  max-width: 90.8854166667vw;
}
@media (max-width: 1023px) {
  #about-page .looking-ahead .container {
    max-width: 100%;
  }
}
#about-page .looking-ahead .card-box {
  background-color: #14078C;
  border-radius: 2.0833333333vw;
  display: grid;
  grid-template-columns: 30% 70%;
  grid-template-rows: repeat(2, 1fr);
  height: 43.2291666667vw;
  overflow: hidden;
  color: #fff;
}
@media (max-width: 1023px) {
  #about-page .looking-ahead .card-box {
    grid-template-columns: 10% 90%;
    grid-template-rows: auto auto auto;
    height: auto;
    border-radius: 6.4vw;
  }
}
#about-page .looking-ahead .card-box .cell-icon {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 7.2916666667vw 2.0833333333vw 2.0833333333vw 0;
}
@media (max-width: 1023px) {
  #about-page .looking-ahead .card-box .cell-icon {
    height: 53.3333333333vw;
    padding: 2.1333333333vw 2.1333333333vw 2.1333333333vw 0;
  }
}
#about-page .looking-ahead .card-box .cell-icon .deco-lines {
  width: 100%;
  height: auto;
  opacity: 0.8;
}
@media (max-width: 1023px) {
  #about-page .looking-ahead .card-box .cell-icon .deco-lines {
    max-width: 13.3333333333vw;
  }
}
#about-page .looking-ahead .card-box .cell-image {
  margin: 5.7291666667vw 0 0 4.1666666667vw;
  border-bottom-left-radius: 6.5104166667vw;
  overflow: hidden;
  height: 19.0104166667vw;
}
@media (max-width: 1023px) {
  #about-page .looking-ahead .card-box .cell-image {
    margin: 0;
    height: 53.3333333333vw;
  }
}
#about-page .looking-ahead .card-box .cell-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
#about-page .looking-ahead .card-box .cell-title {
  display: flex;
  align-items: flex-start;
  padding: 2.6041666667vw 3.125vw 3.6458333333vw 6.25vw;
}
@media (max-width: 1023px) {
  #about-page .looking-ahead .card-box .cell-title {
    padding: 8.5333333333vw 6.4vw;
    grid-column: 1/-1;
  }
}
#about-page .looking-ahead .card-box .cell-title h2 {
  font-size: 3.75vw;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  color: #fff;
  line-height: 1.2;
  margin: 0;
  letter-spacing: 0.0520833333vw;
}
@media (max-width: 1023px) {
  #about-page .looking-ahead .card-box .cell-title h2 {
    font-size: 8.5333333333vw;
  }
}
#about-page .looking-ahead .card-box .cell-text {
  display: flex;
  align-items: flex-start;
  padding: 2.6041666667vw 3.125vw 2.6041666667vw 1.5625vw;
}
@media (max-width: 1023px) {
  #about-page .looking-ahead .card-box .cell-text {
    padding: 8.5333333333vw 6.4vw;
    grid-column: 1/-1;
  }
}
#about-page .looking-ahead .card-box .cell-text p {
  font-size: 1.0416666667vw;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.8);
  margin: 0;
}
@media (max-width: 1023px) {
  #about-page .looking-ahead .card-box .cell-text p {
    font-size: 3.7333333333vw;
  }
  #about-page .looking-ahead .card-box .cell-text p br {
    display: none;
  }
}
#about-page {
  /* --- 5. Bottom Slogan Section --- */
}
#about-page .bottom-slogan {
  padding: 0 0 6.25vw 0;
  text-align: center;
  background-color: #fff;
}
@media (max-width: 1023px) {
  #about-page .bottom-slogan {
    padding: 0 0 21.3333333333vw 0;
  }
}
#about-page .bottom-slogan h2 {
  font-size: 2.7083333333vw;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  color: #183eeb;
  line-height: 1.4;
  margin: 0;
  letter-spacing: 0.0520833333vw;
}
@media (max-width: 1023px) {
  #about-page .bottom-slogan h2 {
    font-size: 5.8666666667vw;
  }
}

/* =========================================
   #news-page (最新消息頁面)
========================================= */
#news-page {
  /* --- 1. Hero Section --- */
}
#news-page .news-hero {
  display: flex;
  background-image: url("../assets/images/news/banner.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  overflow: hidden;
}
@media (max-width: 1023px) {
  #news-page .news-hero {
    flex-direction: column;
  }
}
#news-page .news-hero .hero-content {
  width: 50%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 9.375vw 4.1666666667vw 9.375vw 6.25vw;
}
@media (max-width: 1023px) {
  #news-page .news-hero .hero-content {
    width: 100%;
    justify-content: center;
    padding: 21.3333333333vw 6.4vw 16vw;
  }
}
#news-page .news-hero .hero-content__inner {
  color: #fff;
  width: 100%;
  max-width: 31.25vw;
}
@media (max-width: 1023px) {
  #news-page .news-hero .hero-content__inner {
    max-width: 100%;
  }
}
#news-page .news-hero .hero-content .tagline {
  margin-bottom: 1.25vw;
}
@media (max-width: 1023px) {
  #news-page .news-hero .hero-content .tagline {
    margin-bottom: 4.2666666667vw;
  }
}
#news-page .news-hero .hero-content .tagline img {
  width: 2.5vw;
}
@media (max-width: 1023px) {
  #news-page .news-hero .hero-content .tagline img {
    width: 8.5333333333vw;
  }
}
#news-page .news-hero .hero-content h1 {
  font-size: 3.5416666667vw;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  line-height: 1.2;
  margin: 0 0 1.25vw 0;
  color: #fff;
  letter-spacing: 0.0520833333vw;
  white-space: nowrap;
}
@media (max-width: 1023px) {
  #news-page .news-hero .hero-content h1 {
    font-size: 9.6vw;
    margin-bottom: 4.2666666667vw;
    white-space: normal;
    word-wrap: break-word;
  }
}
#news-page .news-hero .hero-content p {
  font-size: 1.1458333333vw;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.8);
  margin: 0;
}
@media (max-width: 1023px) {
  #news-page .news-hero .hero-content p {
    font-size: 4vw;
  }
  #news-page .news-hero .hero-content p br {
    display: none;
  }
}
#news-page {
  /* --- 2. News List Section --- */
}
#news-page .news-list-section {
  padding: 5.2083333333vw 0 6.25vw 0;
  background-color: #fff;
}
@media (max-width: 1023px) {
  #news-page .news-list-section {
    padding: 16vw 0 21.3333333333vw 0;
  }
}
#news-page .news-list-section .container {
  max-width: 77.0833333333vw;
}
@media (max-width: 1023px) {
  #news-page .news-list-section .container {
    max-width: 100%;
  }
}
#news-page .news-list-section {
  /* 頂部篩選與介紹區塊 */
}
#news-page .news-list-section .news-intro {
  text-align: center;
  margin-bottom: 3.125vw;
}
@media (max-width: 1023px) {
  #news-page .news-list-section .news-intro {
    margin-bottom: 10.6666666667vw;
  }
}
#news-page .news-list-section .news-intro .tagline {
  margin-bottom: 0.8333333333vw;
}
#news-page .news-list-section .news-intro .tagline img {
  width: 2.5vw;
  margin: 0 auto;
}
@media (max-width: 1023px) {
  #news-page .news-list-section .news-intro .tagline {
    margin-bottom: 3.2vw;
  }
  #news-page .news-list-section .news-intro .tagline img {
    width: 8.5333333333vw;
  }
}
#news-page .news-list-section .news-intro p {
  font-size: 1.1458333333vw;
  color: #666;
  margin: 0 0 2.0833333333vw 0;
}
@media (max-width: 1023px) {
  #news-page .news-list-section .news-intro p {
    font-size: 3.7333333333vw;
    margin-bottom: 6.4vw;
  }
}
#news-page .news-list-section .news-intro .filter-group {
  display: inline-flex;
  align-items: center;
  justify-content: space-evenly;
  background-color: #f3f4f6;
  border-radius: 0.5208333333vw;
  width: 37.5vw;
  height: 4.6875vw;
}
@media (max-width: 1023px) {
  #news-page .news-list-section .news-intro .filter-group {
    width: 100%;
    height: 12.8vw;
    padding: 0 1.0666666667vw;
    justify-content: space-between;
  }
}
#news-page .news-list-section .news-intro .filter-group .filter-btn {
  border: none;
  background: transparent;
  font-size: 1.25vw;
  font-weight: 600;
  color: #333;
  border-radius: 0.5208333333vw;
  cursor: pointer;
  transition: all 0.3s ease;
  width: 11.4583333333vw;
  height: 3.125vw;
}
@media (max-width: 1023px) {
  #news-page .news-list-section .news-intro .filter-group .filter-btn {
    font-size: 3.7333333333vw;
    height: 10.6666666667vw;
    flex: 1;
  }
}
#news-page .news-list-section .news-intro .filter-group .filter-btn.active {
  background-color: #fff;
  box-shadow: 0 0.1041666667vw 0.5208333333vw rgba(0, 0, 0, 0.05);
  color: #000;
}
#news-page .news-list-section .news-intro .filter-group .filter-btn:hover:not(.active) {
  color: #ea0044;
}
#news-page .news-list-section {
  /* 網格列表 */
}
#news-page .news-list-section .news-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5625vw;
  margin-bottom: 4.1666666667vw;
}
@media (max-width: 1023px) {
  #news-page .news-list-section .news-grid {
    grid-template-columns: 1fr;
    gap: 6.4vw;
    margin-bottom: 13.3333333333vw;
  }
}
#news-page .news-list-section {
  /* 新聞卡片 */
}
#news-page .news-list-section .news-card {
  background-color: #fff;
  border-radius: 1.25vw;
  overflow: hidden;
  box-shadow: 0 0.5208333333vw 1.5625vw rgba(0, 0, 0, 0.06);
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
@media (max-width: 1023px) {
  #news-page .news-list-section .news-card {
    border-radius: 4.2666666667vw;
  }
}
#news-page .news-list-section .news-card:hover {
  transform: translateY(-0.2604166667vw);
  box-shadow: 0 0.78125vw 2.0833333333vw rgba(0, 0, 0, 0.1);
}
@media (max-width: 1023px) {
  #news-page .news-list-section .news-card:hover {
    transform: translateY(-1.3333333333vw);
  }
}
#news-page .news-list-section .news-card .card-img {
  width: 100%;
  aspect-ratio: 16/10;
  overflow: hidden;
}
#news-page .news-list-section .news-card .card-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.5s ease;
}
#news-page .news-list-section .news-card:hover .card-img img {
  transform: scale(1.05);
}
#news-page .news-list-section .news-card .card-body {
  padding: 1.5625vw 1.25vw;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
@media (max-width: 1023px) {
  #news-page .news-list-section .news-card .card-body {
    padding: 6.4vw 5.3333333333vw;
  }
}
#news-page .news-list-section .news-card .card-body .card-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.8333333333vw;
}
@media (max-width: 1023px) {
  #news-page .news-list-section .news-card .card-body .card-meta {
    margin-bottom: 3.2vw;
  }
}
#news-page .news-list-section .news-card .card-body .card-meta .category {
  display: inline-block;
  border: 0.0520833333vw solid #183eeb;
  color: #183eeb;
  padding: 0.2083333333vw 0.8333333333vw;
  border-radius: 1.0416666667vw;
  font-size: 0.9375vw;
  font-weight: 500;
}
@media (max-width: 1023px) {
  #news-page .news-list-section .news-card .card-body .card-meta .category {
    padding: 1.0666666667vw 3.2vw;
    font-size: 2.9333333333vw;
  }
}
#news-page .news-list-section .news-card .card-body .card-meta .date {
  font-size: 0.9375vw;
  color: #183eeb;
  font-weight: 700;
}
@media (max-width: 1023px) {
  #news-page .news-list-section .news-card .card-body .card-meta .date {
    font-size: 3.2vw;
  }
}
#news-page .news-list-section .news-card .card-body .card-title {
  font-size: 1.25vw;
  font-weight: 700;
  color: #0d1b2a;
  margin: 0 0 0.625vw 0;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: calc(1.25vw * 1.4 * 2);
}
@media (max-width: 1023px) {
  #news-page .news-list-section .news-card .card-body .card-title {
    font-size: 4.8vw;
    margin-bottom: 2.1333333333vw;
    min-height: calc(4.8vw * 1.4 * 2);
  }
}
#news-page .news-list-section .news-card .card-body .card-desc {
  font-size: 0.8333333333vw;
  font-weight: 400;
  color: #666;
  line-height: 1.6;
  margin: 0 0 1.25vw 0;
  flex-grow: 1;
}
@media (max-width: 1023px) {
  #news-page .news-list-section .news-card .card-body .card-desc {
    font-size: 3.7333333333vw;
    margin-bottom: 5.3333333333vw;
  }
}
#news-page .news-list-section .news-card .card-body .btn--learn-more {
  background-color: #ea0044;
  color: #fff;
  text-align: center;
  border-radius: 0.625vw;
  text-decoration: none;
  font-size: 1.0416666667vw;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4166666667vw;
  display: flex;
  justify-content: space-between;
  padding: 0 2.6041666667vw;
  height: 3.125vw;
  position: relative;
  z-index: 0;
  overflow: hidden;
  background-color: #fff;
  border: 0.1041666667vw solid #ea0044;
  transition: color 0.35s ease;
}
@media (max-width: 1023px) {
  #news-page .news-list-section .news-card .card-body .btn--learn-more {
    border-width: 0.5333333333vw;
  }
}
#news-page .news-list-section .news-card .card-body .btn--learn-more::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-color: #ea0044;
  transition: transform 0.35s ease;
}
#news-page .news-list-section .news-card .card-body .btn--learn-more:hover {
  color: #ea0044;
}
#news-page .news-list-section .news-card .card-body .btn--learn-more:hover::before {
  transform: translateX(100%);
}
@media (max-width: 1023px) {
  #news-page .news-list-section .news-card .card-body .btn--learn-more {
    padding: 2.6666666667vw 0;
    border-radius: 2.6666666667vw;
    font-size: 3.7333333333vw;
    gap: 1.6vw;
    padding: 0 4vw;
    height: 10.6666666667vw;
  }
}
#news-page .news-list-section {
  /* 分頁模組 */
}
#news-page .news-list-section .pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.8333333333vw;
}
@media (max-width: 1023px) {
  #news-page .news-list-section .pagination {
    gap: 3.2vw;
  }
}
#news-page .news-list-section .pagination a,
#news-page .news-list-section .pagination span {
  text-decoration: none;
  color: #333;
  font-weight: 600;
  font-size: 0.78125vw;
}
@media (max-width: 1023px) {
  #news-page .news-list-section .pagination a,
  #news-page .news-list-section .pagination span {
    font-size: 3.7333333333vw;
  }
}
#news-page .news-list-section .pagination .page-num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.0833333333vw;
  height: 2.0833333333vw;
  border-radius: 50%;
  transition: all 0.3s ease;
}
@media (max-width: 1023px) {
  #news-page .news-list-section .pagination .page-num {
    width: 9.6vw;
    height: 9.6vw;
  }
}
#news-page .news-list-section .pagination .page-num:hover:not(.active) {
  background-color: #f3f4f6;
}
#news-page .news-list-section .pagination .page-num.active {
  background-color: #ea0044;
  color: #fff;
}
#news-page .news-list-section .pagination .page-nav {
  font-size: 0.7291666667vw;
}
@media (max-width: 1023px) {
  #news-page .news-list-section .pagination .page-nav {
    font-size: 3.4666666667vw;
  }
}
#news-page .news-list-section .pagination .page-nav:hover {
  color: #ea0044;
}
#news-page .news-list-section .pagination .page-dots {
  color: #999;
}

/* =========================================
   #news-detail (新聞內頁)
   版面語言沿用 #news-page 的 .news-hero(背景大圖 + 左側文字區塊)
   跟 #product-detail 一樣，各新聞卡片先共用同一份內頁當範本。
========================================= */
#news-detail {
  /* --- 1. Article Hero --- */
}
#news-detail .article-hero {
  display: flex;
  background-image: url("../assets/images/news/pic01.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  overflow: hidden;
}
@media (max-width: 1023px) {
  #news-detail .article-hero {
    flex-direction: column;
  }
}
#news-detail .article-hero .hero-content {
  width: 60%;
  display: flex;
  align-items: center;
  background: linear-gradient(to right, rgba(11, 25, 44, 0.85) 55%, transparent);
  padding: 9.375vw 4.1666666667vw 6.25vw 6.25vw;
}
@media (max-width: 1023px) {
  #news-detail .article-hero .hero-content {
    width: 100%;
    background: linear-gradient(to top, rgba(11, 25, 44, 0.9) 60%, transparent);
    padding: 32vw 6.4vw 12.8vw;
  }
}
#news-detail .article-hero .hero-content__inner {
  color: #fff;
  width: 100%;
  max-width: 35.4166666667vw;
}
@media (max-width: 1023px) {
  #news-detail .article-hero .hero-content__inner {
    max-width: 100%;
  }
}
#news-detail .article-hero .hero-content .article-meta {
  display: flex;
  align-items: center;
  gap: 0.8333333333vw;
  margin-bottom: 1.25vw;
}
@media (max-width: 1023px) {
  #news-detail .article-hero .hero-content .article-meta {
    gap: 2.6666666667vw;
    margin-bottom: 4.2666666667vw;
  }
}
#news-detail .article-hero .hero-content .article-meta .category {
  display: inline-block;
  border: 0.078125vw solid #fff;
  color: #fff;
  padding: 0.2083333333vw 0.8333333333vw;
  border-radius: 1.0416666667vw;
  font-size: 0.6770833333vw;
  font-weight: 600;
}
@media (max-width: 1023px) {
  #news-detail .article-hero .hero-content .article-meta .category {
    padding: 1.0666666667vw 3.2vw;
    font-size: 2.9333333333vw;
  }
}
#news-detail .article-hero .hero-content .article-meta .date {
  font-size: 0.7291666667vw;
  color: rgba(255, 255, 255, 0.75);
  font-weight: 600;
}
@media (max-width: 1023px) {
  #news-detail .article-hero .hero-content .article-meta .date {
    font-size: 3.2vw;
  }
}
#news-detail .article-hero .hero-content h1 {
  font-size: 2.7083333333vw;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  line-height: 1.25;
  margin: 0;
  color: #fff;
}
@media (max-width: 1023px) {
  #news-detail .article-hero .hero-content h1 {
    font-size: 7.4666666667vw;
  }
}
#news-detail {
  /* --- 2. Article Body --- */
}
#news-detail .article-body {
  padding: 5.2083333333vw 0;
  background-color: #fff;
}
@media (max-width: 1023px) {
  #news-detail .article-body {
    padding: 14.9333333333vw 0;
  }
}
#news-detail .article-body .container {
  max-width: 44.7916666667vw;
  margin: 0 auto;
  padding: 0 1.25vw;
}
@media (max-width: 1023px) {
  #news-detail .article-body .container {
    max-width: 100%;
    padding: 0 6.4vw;
  }
}
#news-detail .article-body .back-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4166666667vw;
  color: #183eeb;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.78125vw;
  margin-bottom: 2.5vw;
  transition: gap 0.3s ease;
}
#news-detail .article-body .back-link:hover {
  gap: 0.7291666667vw;
}
@media (max-width: 1023px) {
  #news-detail .article-body .back-link {
    font-size: 3.7333333333vw;
    margin-bottom: 7.4666666667vw;
  }
}
#news-detail .article-body p {
  font-size: 0.9375vw;
  line-height: 1.9;
  color: #333;
  margin: 0 0 1.4583333333vw 0;
}
@media (max-width: 1023px) {
  #news-detail .article-body p {
    font-size: 4vw;
    margin-bottom: 5.3333333333vw;
  }
}
#news-detail .article-body .lead {
  font-size: 1.1458333333vw;
  font-weight: 600;
  color: #0d1b2a;
  line-height: 1.6;
}
@media (max-width: 1023px) {
  #news-detail .article-body .lead {
    font-size: 4.5333333333vw;
  }
}
#news-detail .article-body .article-image {
  margin: 2.6041666667vw 0;
}
#news-detail .article-body .article-image img {
  width: 100%;
  display: block;
  border-radius: 1.25vw;
}
#news-detail .article-body .article-image figcaption {
  font-size: 0.7291666667vw;
  color: #999;
  margin-top: 0.625vw;
  text-align: center;
}
@media (max-width: 1023px) {
  #news-detail .article-body .article-image {
    margin: 8.5333333333vw 0;
  }
  #news-detail .article-body .article-image img {
    border-radius: 4.2666666667vw;
  }
}
#news-detail .article-body blockquote {
  border-left: 0.2083333333vw solid #ea0044;
  padding-left: 1.4583333333vw;
  margin: 2.6041666667vw 0;
  font-size: 1.25vw;
  font-weight: 600;
  font-style: italic;
  color: #0d1b2a;
  line-height: 1.6;
}
@media (max-width: 1023px) {
  #news-detail .article-body blockquote {
    padding-left: 4.2666666667vw;
    margin: 8.5333333333vw 0;
    font-size: 4.8vw;
  }
}
#news-detail {
  /* --- 3. More News --- */
}
#news-detail .article-related {
  padding: 0 0 6.25vw 0;
  background-color: #fff;
}
@media (max-width: 1023px) {
  #news-detail .article-related {
    padding-bottom: 18.6666666667vw;
  }
}
#news-detail .article-related .section-header {
  text-align: center;
  margin-bottom: 3.125vw;
}
#news-detail .article-related .section-header h2 {
  font-size: 2.0833333333vw;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  color: #0b192c;
  margin: 0;
}
@media (max-width: 1023px) {
  #news-detail .article-related .section-header h2 {
    font-size: 6.9333333333vw;
  }
}
@media (max-width: 1023px) {
  #news-detail .article-related .section-header {
    margin-bottom: 8.5333333333vw;
  }
}
#news-detail .article-related .related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5625vw;
}
@media (max-width: 1023px) {
  #news-detail .article-related .related-grid {
    grid-template-columns: 1fr;
    gap: 5.3333333333vw;
  }
}
#news-detail .article-related .related-card {
  display: block;
  text-decoration: none;
  background-color: #f7f9fc;
  border-radius: 1.0416666667vw;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
@media (max-width: 1023px) {
  #news-detail .article-related .related-card {
    border-radius: 3.7333333333vw;
  }
}
#news-detail .article-related .related-card:hover {
  transform: translateY(-0.2604166667vw);
  box-shadow: 0 0.78125vw 2.0833333333vw rgba(0, 0, 0, 0.08);
}
#news-detail .article-related .related-card:hover .related-card__img img {
  transform: scale(1.05);
}
#news-detail .article-related .related-card:hover h3 {
  color: #183eeb;
}
#news-detail .article-related .related-card__img {
  aspect-ratio: 16/10;
  overflow: hidden;
}
#news-detail .article-related .related-card__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.5s ease;
}
#news-detail .article-related .related-card__body {
  padding: 1.25vw;
}
@media (max-width: 1023px) {
  #news-detail .article-related .related-card__body {
    padding: 4.8vw;
  }
}
#news-detail .article-related .related-card .category {
  display: inline-block;
  color: #183eeb;
  font-size: 0.625vw;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.0260416667vw;
  margin-bottom: 0.5208333333vw;
}
@media (max-width: 1023px) {
  #news-detail .article-related .related-card .category {
    font-size: 2.9333333333vw;
    margin-bottom: 1.6vw;
  }
}
#news-detail .article-related .related-card h3 {
  font-size: 0.9375vw;
  font-weight: 700;
  color: #0d1b2a;
  line-height: 1.4;
  margin: 0 0 0.4166666667vw 0;
  transition: color 0.3s ease;
}
@media (max-width: 1023px) {
  #news-detail .article-related .related-card h3 {
    font-size: 4.2666666667vw;
  }
}
#news-detail .article-related .related-card .date {
  font-size: 0.6770833333vw;
  color: #999;
}
@media (max-width: 1023px) {
  #news-detail .article-related .related-card .date {
    font-size: 3.2vw;
  }
}

/* =========================================
   #contact-page (聯絡我們頁面)
========================================= */
#contact-page {
  background-color: #f7f9fc;
  /* 針對此頁面客製化 Header 樣式 */
}
#contact-page .site-header--floating {
  background-color: transparent;
  padding-top: 1.0416666667vw;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
}
@media (max-width: 1023px) {
  #contact-page .site-header--floating {
    padding-top: 2.6666666667vw;
  }
}
#contact-page .site-header--floating .site-header__inner {
  background-color: #0b1156;
  border-radius: 2.6041666667vw;
  padding: 0.8333333333vw 2.0833333333vw;
}
@media (max-width: 1023px) {
  #contact-page .site-header--floating .site-header__inner {
    border-radius: 8vw;
    padding: 3.2vw 5.3333333333vw;
  }
}
#contact-page .site-header--floating .main-nav__list a, #contact-page .site-header--floating .lang-switch__current {
  color: #fff;
}
#contact-page .site-header--floating .lang-switch__toggle svg {
  color: #fff;
}
#contact-page {
  /* --- 1. Contact Section --- */
}
#contact-page .contact-section {
  padding-top: 7.2916666667vw;
  padding-bottom: 6.25vw;
}
@media (max-width: 1023px) {
  #contact-page .contact-section {
    padding-top: 26.6666666667vw;
    padding-bottom: 21.3333333333vw;
  }
}
@media (max-width: 1023px) {
  #contact-page .contact-section .container {
    max-width: 100%;
  }
}
#contact-page .contact-section {
  /* 頂部 Banner */
}
#contact-page .contact-section .contact-banner {
  background-color: #183eeb;
  border-radius: 1.25vw;
  padding: 0vw 4.1666666667vw 0 4.1666666667vw;
  margin-bottom: 2.0833333333vw;
  color: #fff;
  overflow: hidden;
  position: relative;
  width: 100%;
}
@media (max-width: 1023px) {
  #contact-page .contact-section .contact-banner {
    padding: 10.6666666667vw 8.5333333333vw;
    margin-bottom: 6.4vw;
    border-radius: 4.2666666667vw;
  }
}
#contact-page .contact-section .contact-banner .banner-text {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
@media (max-width: 1023px) {
  #contact-page .contact-section .contact-banner .banner-text {
    flex-direction: column;
    align-items: center;
    gap: 4.2666666667vw;
    width: 100%;
    text-align: center;
    margin-bottom: 6.4vw;
  }
}
#contact-page .contact-section .contact-banner .banner-text h1 {
  font-size: 3.75vw;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  color: #fff;
  line-height: 1;
  margin: 0 0 5.2083333333vw 0;
}
@media (max-width: 1023px) {
  #contact-page .contact-section .contact-banner .banner-text h1 {
    font-size: 9.6vw;
    margin-bottom: 4.2666666667vw;
  }
  #contact-page .contact-section .contact-banner .banner-text h1 br {
    display: none;
  }
}
#contact-page .contact-section .contact-banner .banner-text p {
  font-size: 1.1458333333vw;
  line-height: 1.8;
  margin: 0;
  opacity: 0.9;
  margin: 0 0 5.2083333333vw 0;
}
@media (max-width: 1023px) {
  #contact-page .contact-section .contact-banner .banner-text p {
    font-size: 4vw;
  }
  #contact-page .contact-section .contact-banner .banner-text p br {
    display: none;
  }
}
#contact-page .contact-section .contact-banner .banner-text .banner-img {
  flex: 0 0 24%;
  max-width: 272px;
}
@media (max-width: 1023px) {
  #contact-page .contact-section .contact-banner .banner-text .banner-img {
    flex: 0 0 auto;
    max-width: 51.2vw;
  }
}
#contact-page .contact-section .contact-banner .banner-text .banner-img img {
  display: block;
  width: 100%;
  max-width: 100%;
  transform: translateY(10%);
  height: auto;
}
#contact-page .contact-section {
  /* 下方資訊與表單區塊 */
}
#contact-page .contact-section .contact-content {
  display: flex;
  gap: 2.0833333333vw;
}
@media (max-width: 1023px) {
  #contact-page .contact-section .contact-content {
    flex-direction: column;
    gap: 6.4vw;
  }
}
#contact-page .contact-section {
  /* 左側：資訊卡片 */
}
#contact-page .contact-section .info-card {
  width: 45%;
  background-color: #fff;
  border-radius: 1.25vw;
  padding: 2.5vw;
  box-shadow: 0 0.5208333333vw 1.5625vw rgba(0, 0, 0, 0.05);
}
@media (max-width: 1023px) {
  #contact-page .contact-section .info-card {
    width: 100%;
    padding: 8.5333333333vw;
    border-radius: 4.2666666667vw;
  }
}
#contact-page .contact-section .info-card .info-group {
  margin-bottom: 1.6666666667vw;
}
@media (max-width: 1023px) {
  #contact-page .contact-section .info-card .info-group {
    margin-bottom: 6.4vw;
  }
}
#contact-page .contact-section .info-card .info-group:last-child {
  margin-bottom: 0;
}
#contact-page .contact-section .info-card .info-group h4 {
  font-size: 1.25vw;
  font-weight: 700;
  color: #000;
  margin: 0 0 0.4166666667vw 0;
  text-transform: uppercase;
}
@media (max-width: 1023px) {
  #contact-page .contact-section .info-card .info-group h4 {
    font-size: 3.4666666667vw;
  }
}
#contact-page .contact-section .info-card .info-group p {
  font-size: 1.0416666667vw;
  color: #555;
  margin: 0;
  line-height: 1.6;
}
@media (max-width: 1023px) {
  #contact-page .contact-section .info-card .info-group p {
    font-size: 3.7333333333vw;
  }
}
#contact-page .contact-section .info-card .info-row {
  display: flex;
  gap: 1.25vw;
}
#contact-page .contact-section .info-card .info-row .info-group {
  flex: 1;
}
#contact-page .contact-section .info-card .divider {
  border: 0;
  border-top: 0.0520833333vw solid #eaeaea;
  margin: 1.6666666667vw 0;
}
@media (max-width: 1023px) {
  #contact-page .contact-section .info-card .divider {
    margin: 6.4vw 0;
  }
}
#contact-page .contact-section .info-card .hours-row {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 1023px) {
  #contact-page .contact-section .info-card .hours-row {
    flex-direction: column;
    gap: 4.2666666667vw;
  }
}
#contact-page .contact-section .info-card .hours-row .hours-col h5.text-blue {
  font-size: 1.0416666667vw;
  font-weight: 600;
  color: #183eeb;
  margin: 0 0 0.2083333333vw 0;
}
@media (max-width: 1023px) {
  #contact-page .contact-section .info-card .hours-row .hours-col h5.text-blue {
    font-size: 3.7333333333vw;
  }
}
#contact-page .contact-section .info-card .social-icons {
  display: flex;
  gap: 0.8333333333vw;
}
@media (max-width: 1023px) {
  #contact-page .contact-section .info-card .social-icons {
    gap: 3.2vw;
  }
}
#contact-page .contact-section .info-card .social-icons a {
  display: inline-block;
  transition: transform 0.3s ease;
}
#contact-page .contact-section .info-card .social-icons a:hover {
  transform: translateY(-0.15625vw);
}
@media (max-width: 1023px) {
  #contact-page .contact-section .info-card .social-icons a:hover {
    transform: translateY(-0.8vw);
  }
}
#contact-page .contact-section .info-card .social-icons a img {
  border-radius: 50%;
  width: 1.6666666667vw;
  height: 1.6666666667vw;
}
@media (max-width: 1023px) {
  #contact-page .contact-section .info-card .social-icons a img {
    width: 7.4666666667vw;
    height: 7.4666666667vw;
  }
}
#contact-page .contact-section {
  /* 右側：表單卡片 */
}
#contact-page .contact-section .form-card {
  width: 55%;
  background-color: #e8ecf4;
  border-radius: 1.25vw;
  padding: 2.5vw;
}
@media (max-width: 1023px) {
  #contact-page .contact-section .form-card {
    width: 100%;
    padding: 8.5333333333vw;
    border-radius: 4.2666666667vw;
  }
}
#contact-page .contact-section .form-card .contact-form {
  display: flex;
  flex-direction: column;
  gap: 1.25vw;
}
@media (max-width: 1023px) {
  #contact-page .contact-section .form-card .contact-form {
    gap: 5.3333333333vw;
  }
}
#contact-page .contact-section .form-card .contact-form .form-row {
  display: flex;
  gap: 1.25vw;
}
@media (max-width: 1023px) {
  #contact-page .contact-section .form-card .contact-form .form-row {
    flex-direction: column;
    gap: 5.3333333333vw;
  }
}
#contact-page .contact-section .form-card .contact-form .form-group {
  display: flex;
  flex-direction: column;
}
#contact-page .contact-section .form-card .contact-form .form-group.half-width {
  flex: 1;
}
#contact-page .contact-section .form-card .contact-form .form-group.full-width {
  width: 100%;
}
#contact-page .contact-section .form-card .contact-form .form-group label {
  font-size: 1.0416666667vw;
  font-weight: 700;
  color: #000;
  margin-bottom: 0.4166666667vw;
}
@media (max-width: 1023px) {
  #contact-page .contact-section .form-card .contact-form .form-group label {
    font-size: 3.4666666667vw;
    margin-bottom: 1.6vw;
  }
}
#contact-page .contact-section .form-card .contact-form .form-group input, #contact-page .contact-section .form-card .contact-form .form-group select, #contact-page .contact-section .form-card .contact-form .form-group textarea {
  width: 100%;
  border: none;
  border-radius: 0.4166666667vw;
  padding: 0.8333333333vw;
  font-size: 0.78125vw;
  background-color: #fff;
  color: #333;
  outline: none;
  font-family: inherit;
}
@media (max-width: 1023px) {
  #contact-page .contact-section .form-card .contact-form .form-group input, #contact-page .contact-section .form-card .contact-form .form-group select, #contact-page .contact-section .form-card .contact-form .form-group textarea {
    padding: 3.2vw;
    font-size: 3.7333333333vw;
    border-radius: 1.6vw;
  }
}
#contact-page .contact-section .form-card .contact-form .form-group input::-moz-placeholder, #contact-page .contact-section .form-card .contact-form .form-group select::-moz-placeholder, #contact-page .contact-section .form-card .contact-form .form-group textarea::-moz-placeholder {
  color: #a0a0a0;
}
#contact-page .contact-section .form-card .contact-form .form-group input::placeholder, #contact-page .contact-section .form-card .contact-form .form-group select::placeholder, #contact-page .contact-section .form-card .contact-form .form-group textarea::placeholder {
  color: #a0a0a0;
}
#contact-page .contact-section .form-card .contact-form .form-group input:focus, #contact-page .contact-section .form-card .contact-form .form-group select:focus, #contact-page .contact-section .form-card .contact-form .form-group textarea:focus {
  box-shadow: 0 0 0 0.1041666667vw rgba(24, 62, 235, 0.2);
}
@media (max-width: 1023px) {
  #contact-page .contact-section .form-card .contact-form .form-group input:focus, #contact-page .contact-section .form-card .contact-form .form-group select:focus, #contact-page .contact-section .form-card .contact-form .form-group textarea:focus {
    box-shadow: 0 0 0 0.5333333333vw rgba(24, 62, 235, 0.2);
  }
}
#contact-page .contact-section .form-card .contact-form .form-group textarea {
  resize: vertical;
  min-height: 6.25vw;
}
@media (max-width: 1023px) {
  #contact-page .contact-section .form-card .contact-form .form-group textarea {
    min-height: 26.6666666667vw;
  }
}
#contact-page .contact-section .form-card .contact-form .form-group {
  /* 客製化 select 箭頭 */
}
#contact-page .contact-section .form-card .contact-form .form-group .select-wrapper {
  position: relative;
}
#contact-page .contact-section .form-card .contact-form .form-group .select-wrapper select {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  padding-right: 2.0833333333vw;
  cursor: pointer;
}
#contact-page .contact-section .form-card .contact-form .form-group .select-wrapper::after {
  content: "▼";
  font-size: 0.5208333333vw;
  color: #333;
  position: absolute;
  right: 0.8333333333vw;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}
@media (max-width: 1023px) {
  #contact-page .contact-section .form-card .contact-form .form-group .select-wrapper::after {
    font-size: 2.6666666667vw;
    right: 3.2vw;
  }
}
#contact-page .contact-section .form-card .contact-form .submit-btn {
  background-color: #183eeb;
  color: #fff;
  border: none;
  border-radius: 0.4166666667vw;
  padding: 0.8333333333vw;
  font-size: 0.8333333333vw;
  font-weight: 700;
  cursor: pointer;
  transition: background-color 0.3s;
  margin-top: 0.8333333333vw;
}
@media (max-width: 1023px) {
  #contact-page .contact-section .form-card .contact-form .submit-btn {
    padding: 3.7333333333vw;
    font-size: 4vw;
    border-radius: 1.6vw;
    margin-top: 2.1333333333vw;
  }
}
#contact-page .contact-section .form-card .contact-form .submit-btn:hover {
  background-color: rgb(16.5737051793, 48.0637450199, 191.4262948207);
}

.hero {
  display: flex;
  background-color: #14078C;
  height: 44.7916666667vw;
  overflow: hidden;
}
@media (max-width: 1023px) {
  .hero {
    flex-direction: column;
    height: auto;
    border-bottom-left-radius: 26.6666666667vw;
    overflow: hidden;
  }
}
.hero .hero-content {
  width: 45%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 11.71875vw 1.5625vw 5.2083333333vw 6.25vw;
  z-index: 1;
}
@media (max-width: 1023px) {
  .hero .hero-content {
    width: 100%;
    justify-content: center;
    padding: 16vw 6.4vw 8vw 6.4vw;
  }
}
.hero .hero-content__inner {
  color: #fff;
  width: 100%;
}
@media (max-width: 1023px) {
  .hero .hero-content__inner {
    max-width: 100%;
  }
}
.hero .hero-content .tagline {
  display: flex;
  align-items: center;
  gap: 0.8333333333vw;
  margin-bottom: 1.25vw;
  font-size: 1.09375vw;
  font-weight: 500;
  letter-spacing: 0.0520833333vw;
}
@media (max-width: 1023px) {
  .hero .hero-content .tagline {
    gap: 3.2vw;
    margin-bottom: 4.2666666667vw;
    font-size: 3.7333333333vw;
  }
}
.hero .hero-content .tagline img {
  width: 2.5vw;
}
@media (max-width: 1023px) {
  .hero .hero-content .tagline img {
    width: 5.3333333333vw;
  }
}
.hero .hero-content h1 {
  font-size: 3.5416666667vw;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  line-height: 1.2;
  margin: 0 0 1.6666666667vw 0;
  color: #fff;
  white-space: nowrap;
}
@media (max-width: 1023px) {
  .hero .hero-content h1 {
    font-size: 10.6666666667vw;
    margin-bottom: 6.4vw;
    white-space: normal;
    word-wrap: break-word;
  }
}
.hero .hero-content p {
  font-size: 1.1458333333vw;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.8);
  margin: 0;
}
@media (max-width: 1023px) {
  .hero .hero-content p {
    font-size: 4vw;
  }
}
@media (max-width: 1023px) {
  .hero .hero-content p br {
    display: none;
  }
}
.hero .hero-image {
  width: 55%;
  position: relative;
}
@media (max-width: 1023px) {
  .hero .hero-image {
    width: 100%;
  }
}
.hero .hero-image::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.3);
  border-bottom-left-radius: 10.4166666667vw;
}
@media (max-width: 1023px) {
  .hero .hero-image::before {
    border-bottom-left-radius: 26.6666666667vw;
  }
}
.hero .hero-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-bottom-left-radius: 10.4166666667vw;
}
@media (max-width: 1023px) {
  .hero .hero-image img {
    border-bottom-left-radius: 26.6666666667vw;
    height: 80vw;
  }
}
.hero .hero-image .badge {
  position: absolute;
  bottom: 2.6041666667vw;
  left: 23.4375vw;
  background-color: #183eeb;
  color: #fff;
  padding: 2.6041666667vw 1.5625vw 1.5625vw 2.6041666667vw;
  border-radius: 5.2083333333vw 0 0 0;
  text-align: center;
  box-shadow: 0 1.0416666667vw 2.0833333333vw rgba(24, 62, 235, 0.3);
  z-index: 2;
}
@media (max-width: 1023px) {
  .hero .hero-image .badge {
    bottom: -5.3333333333vw;
    left: 5.3333333333vw;
    padding: 6.4vw 8.5333333333vw;
    border-radius: 4.2666666667vw 4.2666666667vw 4.2666666667vw 0;
  }
}
.hero .hero-image .badge .num {
  display: block;
  font-size: 4.1666666667vw;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 0.4166666667vw;
}
@media (max-width: 1023px) {
  .hero .hero-image .badge .num {
    font-size: 8.5333333333vw;
    margin-bottom: 1.0666666667vw;
  }
}
.hero .hero-image .badge .text {
  font-size: 1.25vw;
  font-weight: 500;
  line-height: 1.4;
}
@media (max-width: 1023px) {
  .hero .hero-image .badge .text {
    font-size: 3.7333333333vw;
  }
}

.cta {
  padding-bottom: 6.25vw;
}
@media (max-width: 1023px) {
  .cta {
    padding-bottom: 21.3333333333vw;
  }
}
.cta .cta-box {
  background: linear-gradient(180deg, #1b0e77 0%, #06031f 100%);
  border-radius: 2.0833333333vw;
  padding: 4.1666666667vw;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  color: #fff;
}
@media (max-width: 1023px) {
  .cta .cta-box {
    flex-direction: column;
    padding: 10.6666666667vw 6.4vw;
    border-radius: 6.4vw;
    align-items: flex-start;
    gap: 8.5333333333vw;
  }
}
.cta .cta-content {
  width: 85%;
}
@media (max-width: 1023px) {
  .cta .cta-content {
    width: 100%;
  }
}
.cta .cta-content h2 {
  font-size: 3.2291666667vw;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-family: "Montserrat", sans-serif;
  font-weight: 900;
  line-height: 1.3;
  margin: 0 0 0.8333333333vw 0;
  display: flex;
  align-items: center;
  gap: 0.8333333333vw;
  color: #fff;
}
@media (max-width: 1023px) {
  .cta .cta-content h2 {
    font-size: 8.5333333333vw;
    font-size: 10.6666666667vw;
    flex-direction: column;
    align-items: flex-start;
    gap: 2.1333333333vw;
    margin-bottom: 3.2vw;
  }
}
.cta .cta-content h2 span {
  font-weight: 400;
}
@media (max-width: 1023px) {
  .cta .cta-content h2 span {
    font-size: 6.4vw;
  }
}
.cta .cta-content h3 {
  font-size: 1.0416666667vw;
  font-weight: 600;
  margin: 0 0 0.8333333333vw 0;
  color: #fff;
}
@media (max-width: 1023px) {
  .cta .cta-content h3 {
    font-size: 4.8vw;
    margin-bottom: 3.2vw;
  }
}
.cta .cta-content p {
  font-size: 0.78125vw;
  line-height: 1.8;
  opacity: 0.8;
  margin: 0;
}
@media (max-width: 1023px) {
  .cta .cta-content p {
    font-size: 3.7333333333vw;
  }
}
.cta .cta-action {
  margin-top: 0.9375vw;
}
@media (max-width: 1023px) {
  .cta .cta-action {
    width: 100%;
    margin-top: 0;
  }
}
.cta .cta-action .btn--red {
  background-color: #ea0044;
  color: #fff;
  padding: 0.78125vw 1.0416666667vw;
  border-radius: 0.625vw;
  text-decoration: none;
  font-size: 0.9375vw;
  font-weight: 600;
  position: relative;
  z-index: 0;
  overflow: hidden;
  background-color: #fff;
  border: 0.1041666667vw solid #ea0044;
  transition: color 0.35s ease;
}
@media (max-width: 1023px) {
  .cta .cta-action .btn--red {
    border-width: 0.5333333333vw;
  }
}
.cta .cta-action .btn--red::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-color: #ea0044;
  transition: transform 0.35s ease;
}
.cta .cta-action .btn--red:hover {
  color: #ea0044;
}
.cta .cta-action .btn--red:hover::before {
  transform: translateX(100%);
}
@media (max-width: 1023px) {
  .cta .cta-action .btn--red {
    padding: 4.2666666667vw 8.5333333333vw;
    border-radius: 2.6666666667vw;
    font-size: 4.2666666667vw;
  }
}
.cta .cta-action .btn--red {
  display: inline-flex;
}
@media (max-width: 1023px) {
  .cta .cta-action .btn--red {
    width: 100%;
    justify-content: center;
  }
}/*# sourceMappingURL=main.css.map */