@charset "UTF-8";
/*
    自定義在最下面
*/
/* Font Weight */
/* Width */
/* Height */
/* Display */
/* Margin */
/* Padding */
/* Cursor */
/* Background Color */
/* Color */
/* Text Limit */
/* 毛玻璃 */
/******************  自定義  ******************/
/* Color */
/* Background Color */
/* Font Size */
/* Button */
:root {
  /* Primary Color — 紫 purple（對齊 Figma pc）*/
  --pc-950: #09131A;
  --pc-900: #19222B;
  --pc-800: #2D353E;
  --pc-700: #424A53;
  --pc-600: #596068;
  --pc-500: #70767E;
  --pc-400: #888E95;
  --pc-300: #A1A6AC;
  --pc-200: #BABFC4;
  --pc-100: #D4D8DD;
  --pc-50: #EFF2F6;
  /* Secondary Color — 靛藍 indigo（對齊 Figma sc）*/
  --sc-950: #0B0910;
  --sc-900: #1E192B;
  --sc-800: #322D3E;
  --sc-700: #474253;
  --sc-600: #5D5868;
  --sc-500: #746F7E;
  --sc-400: #8C8795;
  --sc-300: #A4A0AC;
  --sc-200: #BDBAC4;
  --sc-100: #D7D4DD;
  --sc-50: #F1EFF6;
  /* Accent Color — 琥珀黃 amber（對齊 Figma ac，新增）*/
  --ac-950: #100D0A;
  --ac-900: #29221C;
  --ac-800: #43372C;
  --ac-700: #604D3D;
  --ac-600: #7D654F;
  --ac-500: #9C7D61;
  --ac-400: #AE937C;
  --ac-300: #C0AA97;
  --ac-200: #D2C2B4;
  --ac-100: #E4DAD1;
  --ac-50: #F5F2EF;
  /* 透明色 */
  --ac-light-transparent: #d8c3a51f;
  --ac-light-transparent-strong: #d8c3a580;
  --mask-dark: #00000080;
  /* Red Color */
  --rc-950: #4B0407;
  --rc-900: #881418;
  --rc-800: #A50F15;
  --rc-700: #C80D14;
  --rc-600: #ED151D;
  --rc-500: #FF444B;
  --rc-400: #FF646A;
  --rc-300: #FF9DA1;
  --rc-200: #FFC5C7;
  --rc-100: #FFDFE0;
  --rc-50: #FFF1F2;
  /* Yellow Color */
  --yc-950: #461B02;
  --yc-900: #7A350D;
  --yc-800: #94400C;
  --yc-700: #B75506;
  --yc-600: #DD7902;
  --yc-500: #F9A107;
  --yc-400: #FFC321;
  --yc-300: #FFD74A;
  --yc-200: #FFE888;
  --yc-100: #FFF5C6;
  --yc-50: #FFFBEB;
  /* Success Color */
  --suc-950: #0F2A09;
  --suc-900: #254D1A;
  --suc-800: #285B19;
  --suc-700: #2E7219;
  --suc-600: #3A951B;
  --suc-500: #51C128;
  --suc-400: #6ED645;
  --suc-300: #93E571;
  --suc-200: #BCF1A5;
  --suc-100: #DDF7D0;
  --suc-50: #F0FCE9;
  /* Neutral Color */
  --nc-950: #0A0A0A;
  --nc-900: #171717;
  --nc-800: #262626;
  --nc-700: #404040;
  --nc-600: #525252;
  --nc-500: #737373;
  --nc-400: #A1A1A1;
  --nc-300: #D4D4D4;
  --nc-200: #E5E5E5;
  --nc-100: #F5F5F5;
  --nc-50: #FFFFFF;
  /* Font-Size */
  --text-9xl: 128px;
  --text-9xl--line-height: 1;
  --text-8xl: 96px;
  --text-8xl--line-height: 1;
  --text-7xl: 72px;
  --text-7xl--line-height: 1;
  --text-6xl: 60px;
  --text-6xl--line-height: 1;
  --text-5xl: 48px;
  --text-5xl--line-height: 1;
  --text-4xl: 36px;
  --text-4xl--line-height: 2.5rem;
  --text-3xl: 30px;
  --text-3xl--line-height: 2.25rem;
  --text-2xl: 24px;
  --text-2xl--line-height: 2rem;
  --text-xl: 20px;
  --text-xl--line-height: 1.75rem;
  --text-lg: 18px;
  --text-lg--line-height: 1.75rem;
  --text-base: 16px;
  --text-base--line-height: 1.5rem;
  --text-sm: 14px;
  --text-sm--line-height: 1.25rem;
  --text-xs: 12px;
  --text-xs--line-height: 1rem;
  /* Radius */
  --radius-4: 4px;
  --radius-8: 8px;
  --radius-16: 16px;
  --radius-24: 24px;
  --radius-32: 32px;
  --radius-40: 40px;
  --radius-80: 80px;
  --radius-100: 100px;
  /* Spacing */
  --spacing-4: 4px;
  --spacing-8: 8px;
  --spacing-12: 12px;
  --spacing-16: 16px;
  --spacing-18: 18px;
  --spacing-20: 20px;
  --spacing-24: 24px;
  --spacing-28: 28px;
  --spacing-32: 32px;
  --spacing-40: 40px;
  --spacing-48: 48px;
  --spacing-56: 56px;
  --spacing-64: 64px;
  --spacing-72: 72px;
  --spacing-80: 80px;
  --spacing-120: 120px;
  --spacing-240: 240px;
}

.main {
  background: var(--pc-950);
}

.banner {
  width: 100%;
  height: 400px;
  background: var(--pc-950) var(--banner-desktop, url("/images/home/banner-desktop.jpg")) center/cover no-repeat;
  display: flex;
  justify-content: center;
  align-items: center;
}
.banner__container {
  width: 1440px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--spacing-24);
  text-align: center;
}
.banner__textwrap {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-16);
}
.banner__title {
  font-size: var(--text-5xl) !important;
  line-height: var(--text-5xl--line-height);
  font-weight: bold;
  color: var(--nc-50) !important;
}
.banner__subtitle {
  font-size: var(--text-3xl) !important;
  line-height: var(--text-3xl--line-height);
  color: var(--nc-50) !important;
}
.banner__btnwrap {
  width: 204px;
}
@media (max-width: 1440px) {
  .banner__container {
    width: 100%;
    padding: 0 var(--spacing-16);
  }
}
@media (max-width: 576px) {
  .banner {
    height: 500px;
    /* 手機是直式構圖的另一張圖，不是桌機那張的縮放 */
    background-image: var(--banner-mobile, url("/images/home/banner-desktop.jpg"));
  }
  .banner__title {
    font-size: var(--text-3xl) !important;
    line-height: var(--text-3xl--line-height);
    font-weight: bold;
  }
  .banner__subtitle {
    font-size: var(--text-base) !important;
    line-height: var(--text-base--line-height);
  }
}

.about {
  background: var(--pc-950);
}
.about__inner {
  width: 100%;
  display: flex;
  gap: var(--spacing-24);
  align-items: center;
}
.about__image {
  flex: 0 0 50%;
}
.about__image img {
  width: 100%;
  height: 480px;
  object-fit: cover;
  border-radius: var(--spacing-16);
}
.about__text {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-8);
}
.about__label {
  color: var(--ac-600) !important;
  font-size: var(--text-base) !important;
  line-height: var(--text-base--line-height);
  font-weight: bold;
  color: var(--ac-300);
}
.about__title {
  font-size: var(--text-4xl) !important;
  line-height: var(--text-4xl--line-height);
  font-weight: bold;
  color: var(--nc-50) !important;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-8);
}
.about__title--accent {
  color: var(--ac-300);
}
.about__desc {
  font-size: var(--text-lg) !important;
  line-height: var(--text-lg--line-height);
  color: var(--nc-50) !important;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-8);
}
@media (max-width: 992px) {
  .about__inner {
    flex-direction: column;
  }
  .about__image {
    flex: 0 0 auto;
    width: 100%;
  }
  .about__image img {
    width: auto;
  }
}
@media (max-width: 576px) {
  .about__title {
    font-size: var(--text-3xl) !important;
    line-height: var(--text-3xl--line-height);
    font-weight: bold;
  }
}

.service-section {
  background: var(--sc-950);
  /* 交錯區塊 #1a0f2e */
}
.service-section__list {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-24);
}
.service-section__hr {
  width: 100%;
  border: 0;
  border-top: 1px solid var(--nc-700);
  margin: 0;
}

.review-section {
  background: var(--pc-950);
}
.review-section__grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--spacing-12);
}
.review-section {
  /* 設計稿≈10 取最近12 */
}
@media (max-width: 768px) {
  .review-section__grid {
    grid-template-columns: 1fr;
  }
}

.cta {
  width: 100%;
  height: 480px;
  background: var(--pc-950) url("/images/home/cta-desktop.jpg") center/cover no-repeat;
  display: flex;
  justify-content: center;
  align-items: center;
}
.cta__container {
  width: 420px;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--spacing-12);
  text-align: center;
  padding: 0 var(--spacing-16);
}
.cta__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--spacing-8);
}
.cta__title {
  font-size: var(--text-3xl) !important;
  line-height: var(--text-3xl--line-height);
  font-weight: bold;
  color: var(--nc-50) !important;
}
.cta__subtitle {
  font-size: var(--text-base) !important;
  line-height: var(--text-base--line-height);
  color: var(--nc-50) !important;
}
.cta__btnwrap {
  width: 182px;
}
@media (max-width: 576px) {
  .cta {
    height: 360px;
  }
}