@charset "UTF-8";
/* Fonts */
@font-face {
  font-family: 'Noto Sans TC';
  font-style: normal;
  src: url(../fonts/NotoSansTC-Regular.otf);
  font-display: swap; }

@font-face {
  font-family: 'Noto Sans TC';
  font-style: normal;
  font-weight: 300;
  src: url(../fonts/NotoSansTC-Light.otf);
  font-display: swap; }

@font-face {
  font-family: 'Noto Sans TC';
  font-style: normal;
  font-weight: 500;
  src: url(../fonts/NotoSansTC-Medium.otf);
  font-display: swap; }

@font-face {
  font-family: 'Noto Sans TC';
  font-style: normal;
  font-weight: 700;
  src: url(../fonts/NotoSansTC-Bold.otf);
  font-display: swap; }

/* == Layout == */
/* Base */
body {
  color: var(--body-color, #4B5563);
  background-color: var(--body-bg, #fff);
  font-family: var(--body-font-family, "Noto Sans TC", sans-serif); }

a {
  color: var(--link-color, currentColor);
  cursor: pointer;
  text-underline-offset: 3px; }

:root {
  --page-inline: 16px; }
  @media (min-width: 768px) {
    :root {
      --page-inline: 40px; } }
  @media (min-width: 1400px) {
    :root {
      --page-inline: 80px; } }

/* wrapper */
.wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 100dvh; }
  .wrapper > .top {
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0; }
    @media (min-height: 300px) {
      .wrapper > .top {
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        z-index: 10;
        width: 100%; } }
  .wrapper > .center {
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }
  .wrapper > .footer {
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0; }

.topbar {
  background-color: #f3f4f6;
  color: #1f2a37;
  font-size: 0.875rem; }
  .topbar-inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    max-width: 1440px;
    height: 38px;
    padding-inline: var(--page-inline);
    margin-inline: auto; }
  .topbar a {
    text-decoration: none;
    color: currentColor; }
  .topbar .end {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1rem; }
    @media (min-width: 768px) {
      .topbar .end {
        gap: 20px; } }
  .topbar .sitemap,
  .topbar .brief-intro {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 4px; }

.header {
  background: #FFF; }
  .header-inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    height: 80px;
    max-width: 1440px;
    padding-inline: var(--page-inline);
    margin-inline: auto; }

.brand {
  margin-bottom: 0; }
  .brand a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .brand img {
    width: auto;
    height: clamp(40px, 4vw, 60px); }

/* Menu */
.menu {
  margin: 0;
  padding: 0; }
  @media (min-width: 992px) {
    .menu {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      gap: 12px; } }
  @media (min-width: 1400px) {
    .menu {
      gap: 24px; } }
  .menu li {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 0;
    border-bottom: 1px solid #D0D2D3;
    list-style: none; }
    @media (min-width: 992px) {
      .menu li {
        border-bottom-width: 0; } }
  .menu-link {
    display: block;
    padding-block: 19px;
    padding-inline: 10px;
    color: #1F2A37;
    font-weight: 500;
    font-size: 1rem;
    white-space: nowrap;
    text-decoration: none;
    text-align: center;
    border-width: 0;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out; }
    @media (min-width: 992px) {
      .menu-link {
        padding-inline: 2px; } }
    @media (min-width: 1200px) {
      .menu-link {
        padding-inline: 6px; } }
    @media (min-width: 1400px) {
      .menu-link {
        font-size: 1.125rem;
        padding-inline: 0; } }
    .menu-link:hover {
      color: #4B5563; }
    .menu-link:active {
      color: #4B5563; }
    .menu-link.disabled, .menu-link[disabled] {
      color: #9CA3AF;
      pointer-events: none; }
    .menu-link.active {
      color: #FF5A1F; }

.menu-collapse {
  position: fixed;
  top: calc(38px + 80px);
  left: 0;
  width: 100%;
  background-color: white;
  overflow-y: auto; }
  @media (min-width: 992px) {
    .menu-collapse {
      position: static;
      top: 0;
      background-color: transparent;
      height: auto;
      overflow: unset; } }
  @media (min-width: 992px) {
    .menu-collapse-inner {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      gap: 16px; } }
  @media (min-width: 1400px) {
    .menu-collapse-inner {
      gap: 32px; } }

.header-auth {
  padding: 20px;
  text-align: center; }
  @media (min-width: 992px) {
    .header-auth {
      padding: 0;
      margin-left: auto;
      text-align: initial; } }

.btn-login {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
  width: 100%;
  height: 51px;
  padding: 14px 24px;
  border: 1px solid #1F2A37;
  border-radius: 12px;
  background: #fff;
  color: #1F2A37;
  text-decoration: none;
  font-size: 1rem;
  font-weight: 500;
  white-space: nowrap;
  -webkit-transition: background-color 0.2s, color 0.2s;
  transition: background-color 0.2s, color 0.2s; }
  @media (min-width: 768px) {
    .btn-login {
      width: auto;
      margin-inline: auto; } }
  @media (min-width: 992px) {
    .btn-login {
      margin-inline: 0; } }
  .btn-login:hover {
    background-color: #1F2A37;
    color: #fff; }

.btn-member {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
  width: 100%;
  height: 51px;
  padding: 0 24px;
  border: 0;
  border-radius: 12px;
  background-color: #f3f4f6;
  color: #1F2A37;
  font-size: 1.125rem;
  font-weight: 500;
  white-space: nowrap;
  cursor: pointer;
  -webkit-transition: background-color 0.2s, color 0.2s;
  transition: background-color 0.2s, color 0.2s; }
  @media (min-width: 768px) {
    .btn-member {
      width: auto;
      margin-inline: auto; } }
  @media (min-width: 992px) {
    .btn-member {
      margin-inline: 0; } }
  .btn-member img {
    width: 32px;
    height: 32px; }
  .btn-member .icon-default {
    display: block; }
  .btn-member .icon-inverted {
    display: none; }
  .btn-member:hover, .btn-member[aria-expanded="true"] {
    background-color: #1F2A37;
    color: #fff; }
    .btn-member:hover .icon-default, .btn-member[aria-expanded="true"] .icon-default {
      display: none; }
    .btn-member:hover .icon-inverted, .btn-member[aria-expanded="true"] .icon-inverted {
      display: block; }

.member-dropdown {
  min-width: 280px;
  padding: 0;
  border: 1px solid #000;
  border-radius: 12px;
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
          box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
  overflow: hidden; }
  .member-dropdown .dropdown-divider {
    margin: 0;
    border-color: #d1d5db; }
  .member-dropdown .divider-bold {
    border-color: #000; }

.member-dropdown-info {
  padding: 12px 16px;
  pointer-events: none; }
  .member-dropdown-info .member-name {
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5;
    color: #1F2A37; }
  .member-dropdown-info .member-email {
    font-size: 1rem;
    line-height: 1.5;
    color: #6b7280; }

.member-dropdown-category {
  color: #d03801;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  padding: 4px 16px;
  pointer-events: none; }

.member-dropdown-link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 8px 16px;
  color: #6b7280;
  font-size: 1rem;
  line-height: 1.5; }
  .member-dropdown-link .fa-chevron-right {
    font-size: 0.75rem; }
  .member-dropdown-link:hover {
    background-color: #f3f4f6;
    color: #6b7280; }
  .member-dropdown-link:active {
    background-color: #d1d5db;
    color: #6b7280; }

.member-dropdown-logout {
  font-size: 0.875rem;
  line-height: 1.25;
  color: #6b7280;
  padding: 8px 16px; }
  .member-dropdown-logout:hover {
    background-color: #f5f5f5;
    color: #6b7280; }

/* ham-mobile */
.ham-mobile {
  padding: 0;
  background-color: transparent;
  border-width: 0; }
  .ham-mobile[aria-expanded="false"] img:first-child {
    display: inline; }
  .ham-mobile[aria-expanded="false"] img:last-child {
    display: none; }
  .ham-mobile[aria-expanded="true"] img:first-child {
    display: none; }
  .ham-mobile[aria-expanded="true"] img:last-child {
    display: inline; }

/* Header -- ham-mobile expanded true */
.header:has(.ham-mobile[aria-expanded="true"]) .menu-collapse {
  height: calc(100dvh - 38px - 80px); }
  @media (min-width: 992px) {
    .header:has(.ham-mobile[aria-expanded="true"]) .menu-collapse {
      background-color: transparent;
      height: auto; } }

/* Body -- ham-mobile expanded true */
body:has(.ham-mobile[aria-expanded="true"]) {
  overflow: hidden; }

.footer {
  position: relative;
  color: white;
  background-color: #1f2a37; }
  .footer-inner {
    --page-inline: 24px;
    display: grid;
    gap: 40px;
    max-width: 1440px;
    padding-inline: var(--page-inline);
    padding-block: 40px;
    margin-inline: auto; }
    @media (min-width: 768px) {
      .footer-inner {
        --page-inline: 80px;
        grid-template-columns: 300px 1fr;
        grid-template-areas: "brand nav" "desc nav" "social nav"; } }
    @media (min-width: 992px) {
      .footer-inner {
        grid-template-columns: 411px 1fr; } }
    @media (min-width: 1400px) {
      .footer-inner {
        padding-block: 60px; } }
  @media (min-width: 768px) {
    .footer-brand {
      grid-area: brand; } }
  .footer-brand .logo-link {
    display: inline-block; }
  .footer-brand .logo {
    max-width: 100%; }
  .footer-description {
    font-size: 1rem;
    line-height: 1.5; }
    @media (min-width: 768px) {
      .footer-description {
        grid-area: desc; } }
    .footer-description p {
      margin-bottom: 0; }
  .footer-nav {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(5em, 1fr));
    gap: 12px 32px;
    white-space: nowrap; }
    @media (min-width: 768px) {
      .footer-nav {
        grid-area: nav;
        justify-self: end;
        grid-template-columns: repeat(2, auto);
        grid-template-rows: repeat(5, auto);
        grid-auto-flow: column;
        row-gap: 32px; } }
    @media (min-width: 992px) {
      .footer-nav {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap;
        gap: 16px 32px;
        -webkit-box-align: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-align-content: center;
            -ms-flex-line-pack: center;
                align-content: center; } }
  .footer-social {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 24px; }
    @media (min-width: 768px) {
      .footer-social {
        grid-area: social; } }
    .footer-social a {
      display: -webkit-inline-box;
      display: -webkit-inline-flex;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      width: 56px;
      height: 56px;
      background-color: white;
      border-radius: 50%;
      -webkit-transition: opacity 0.2s;
      transition: opacity 0.2s; }
      .footer-social a:hover {
        opacity: 0.8; }
    .footer-social img {
      width: 32px;
      height: 32px; }
  .footer a {
    color: currentColor;
    text-decoration: none; }
  .footer .accesskey-block {
    position: absolute;
    top: -30px;
    left: 0; }

.go-top {
  position: fixed;
  right: 2em;
  bottom: 1em;
  z-index: 10;
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(10px);
      -ms-transform: translateY(10px);
          transform: translateY(10px);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease; }
  .go-top.show {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0); }
  .go-top a {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    width: 64px;
    height: 64px;
    background: #FFF8F1 url(../img/icon-arrow-up.svg) center no-repeat;
    border: 1px solid #FF5A1F;
    border-radius: 999rem;
    text-indent: -100vw; }

.login {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }
  @media (min-width: 992px) {
    .login {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row;
      min-height: calc(100vh - 38px - 80px); } }
  .login__visual {
    overflow: hidden;
    height: 240px; }
    @media (min-width: 992px) {
      .login__visual {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 60%;
            -ms-flex: 0 0 60%;
                flex: 0 0 60%;
        height: auto; } }
  .login__img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover; }
  .login__form.form-block {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 40px;
    border: 0;
    border-top: 1px solid #D1D5DB;
    border-radius: 0;
    padding: 40px 16px 80px; }
    @media (min-width: 992px) {
      .login__form.form-block {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 40%;
            -ms-flex: 0 0 40%;
                flex: 0 0 40%;
        overflow-y: auto;
        border-top: 0;
        border-left: 1px solid #D1D5DB;
        border-radius: 0;
        padding: 80px 40px; } }
  .login__back {
    -webkit-align-self: flex-start;
        -ms-flex-item-align: start;
            align-self: flex-start; }
  .login__inner {
    width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 40px; }

body a:focus, body button:focus, body input:focus, body select:focus,
body [tabindex="0"]:focus {
  outline: 4px #FF0004 dotted !important; }

body a.stretched-link:focus {
  outline: 4px #FF0004 dotted !important;
  display: block;
  position: absolute;
  z-index: 2;
  margin: 6px;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0; }

a[accesskey] {
  text-decoration: none; }
  a[accesskey]:hover {
    color: unset; }

.center a[accesskey] {
  position: absolute;
  z-index: 10;
  color: transparent;
  scroll-margin-top: calc(38px + 80px); }
  .center a[accesskey]:focus, .center a[accesskey]:hover {
    color: black; }

.footer a[accesskey] {
  color: #fff; }

.file-upload input[type="file"]:focus + label {
  outline: 4px #FF0004 dotted !important; }

/* 內容頁尾區塊 */
.content-footer-section {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background: url("../img/content-footer-section-bg-wave.svg") no-repeat center bottom -20px;
  border-bottom: 20px solid #1F2A37;
  position: relative; }
  @media (min-width: 768px) {
    .content-footer-section {
      display: block;
      height: 450px;
      background-size: cover; } }
  @media (min-width: 992px) {
    .content-footer-section {
      height: 322px; } }
  .content-footer-section::before, .content-footer-section::after {
    content: '';
    display: block;
    background-repeat: no-repeat;
    background-position: bottom;
    background-size: contain;
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .content-footer-section::before {
    width: 100%;
    max-width: 100%; }
  .content-footer-section::after {
    display: none; }
    @media (min-width: 768px) {
      .content-footer-section::after {
        display: block; } }
  .content-footer-section__actions {
    position: relative;
    z-index: 1;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 16px;
    padding: 24px 16px 0;
    -webkit-box-ordinal-group: 1;
    -webkit-order: 0;
        -ms-flex-order: 0;
            order: 0; }
    .content-footer-section__actions .capsule-btn {
      width: 220px;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center; }
    @media (min-width: 768px) {
      .content-footer-section__actions {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -webkit-flex-direction: row;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center;
        gap: 52px;
        padding: 32px 16px 0; } }
    @media (min-width: 768px) {
      .content-footer-section__actions {
        position: absolute;
        left: 50%;
        right: auto;
        -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
                transform: translateX(-50%);
        padding: 32px 0 0; } }
    @media (min-width: 992px) {
      .content-footer-section__actions {
        top: 50%;
        margin-top: -20px;
        padding: 0; } }
  @media (min-width: 768px) {
    .content-footer-section--asset-management::before, .content-footer-section--asset-management::after {
      position: absolute;
      bottom: -16px; } }
  .content-footer-section--asset-management::before {
    width: 355px;
    height: 228px;
    margin-bottom: -16px;
    background-image: url("../img/content-footer-section-asset-left.png"); }
    @media (min-width: 768px) {
      .content-footer-section--asset-management::before {
        margin-bottom: 0;
        left: Max(0px, calc(50% - 720px)); } }
  .content-footer-section--asset-management::after {
    width: 373px;
    height: 168px;
    background-image: url("../img/content-footer-section-asset-right.png"); }
    @media (min-width: 768px) {
      .content-footer-section--asset-management::after {
        right: Max(20px, calc(50% - 720px)); } }
  @media (min-width: 768px) {
    .content-footer-section--procurement::before, .content-footer-section--procurement::after {
      position: absolute;
      bottom: 0; } }
  .content-footer-section--procurement::before {
    width: 374px;
    height: 302px;
    background-image: url("../img/content-footer-section-procurement-left.png"); }
    @media (min-width: 768px) {
      .content-footer-section--procurement::before {
        left: Max(0px, calc(50% - 720px)); } }
  .content-footer-section--procurement::after {
    width: 375px;
    height: 302px;
    background-image: url("../img/content-footer-section-procurement-right.png"); }
    @media (min-width: 768px) {
      .content-footer-section--procurement::after {
        right: Max(20px, calc(50% - 720px)); } }
  @media (min-width: 768px) {
    .content-footer-section--careers::before, .content-footer-section--careers::after {
      position: absolute;
      bottom: 0; } }
  .content-footer-section--careers::before {
    width: 374px;
    height: 302px;
    background-image: url("../img/content-footer-section-careers-left.png"); }
    @media (min-width: 768px) {
      .content-footer-section--careers::before {
        left: Max(0px, calc(50% - 720px)); } }
  .content-footer-section--careers::after {
    width: 375px;
    height: 302px;
    background-image: url("../img/content-footer-section-careers-right.png"); }
    @media (min-width: 768px) {
      .content-footer-section--careers::after {
        right: Max(20px, calc(50% - 720px)); } }
  .content-footer-section--urban-regeneration::before, .content-footer-section--urban-regeneration::after {
    background-position: left bottom; }
    @media (min-width: 768px) {
      .content-footer-section--urban-regeneration::before, .content-footer-section--urban-regeneration::after {
        position: absolute;
        bottom: 0; } }
  .content-footer-section--urban-regeneration::before {
    width: 374px;
    height: 302px;
    background-image: url("../img/content-footer-section-urban-left.png"); }
    @media (min-width: 768px) {
      .content-footer-section--urban-regeneration::before {
        left: Max(0px, calc(50% - 720px)); } }
  .content-footer-section--urban-regeneration::after {
    width: 375px;
    height: 302px;
    background-image: url("../img/content-footer-section-urban-right.png"); }
    @media (min-width: 768px) {
      .content-footer-section--urban-regeneration::after {
        right: Max(20px, calc(50% - 720px)); } }
  @media (min-width: 768px) {
    .content-footer-section--news::before, .content-footer-section--news::after {
      position: absolute;
      bottom: 0; } }
  .content-footer-section--news::before {
    width: 375px;
    height: 302px;
    background-image: url("../img/content-footer-section-news-left.png"); }
    @media (min-width: 768px) {
      .content-footer-section--news::before {
        left: Max(0px, calc(50% - 720px)); } }
  .content-footer-section--news::after {
    width: 375px;
    height: 302px;
    background-image: url("../img/content-footer-section-news-right.png"); }
    @media (min-width: 768px) {
      .content-footer-section--news::after {
        right: Max(20px, calc(50% - 720px)); } }
  @media (min-width: 768px) {
    .content-footer-section--about-us::before, .content-footer-section--about-us::after {
      position: absolute;
      bottom: -20px; } }
  .content-footer-section--about-us::before {
    width: 375px;
    height: 302px;
    margin-bottom: -20px;
    background-image: url("../img/content-footer-section-about-us-left.png"); }
    @media (min-width: 768px) {
      .content-footer-section--about-us::before {
        margin-bottom: 0;
        left: Max(0px, calc(50% - 720px)); } }
  .content-footer-section--about-us::after {
    width: 375px;
    height: 302px;
    background-image: url("../img/content-footer-section-about-us-right.png"); }
    @media (min-width: 768px) {
      .content-footer-section--about-us::after {
        right: Max(20px, calc(50% - 720px)); } }
  @media (min-width: 768px) {
    .content-footer-section--venue-rental::before, .content-footer-section--venue-rental::after {
      position: absolute;
      bottom: -20px; } }
  .content-footer-section--venue-rental::before {
    width: 375px;
    height: 302px;
    margin-bottom: -20px;
    background-image: url("../img/content-footer-section-venue-rental-left.png"); }
    @media (min-width: 768px) {
      .content-footer-section--venue-rental::before {
        margin-bottom: 0;
        left: Max(0px, calc(50% - 720px)); } }
  .content-footer-section--venue-rental::after {
    width: 375px;
    height: 302px;
    background-image: url("../img/content-footer-section-venue-rental-right.png"); }
    @media (min-width: 768px) {
      .content-footer-section--venue-rental::after {
        right: Max(20px, calc(50% - 720px)); } }

/* 主視覺橫幅 */
.hero-banner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0; }
  .hero-banner__graphic {
    position: relative;
    width: 100%;
    max-width: 1392px;
    margin-inline: auto;
    height: 400px;
    background: url("../img/hero-assets-bg.png") no-repeat center center;
    background-size: cover; }
    @media (min-width: 768px) {
      .hero-banner__graphic {
        height: 486px; } }
  .hero-banner__overlay {
    position: absolute;
    left: 20px;
    bottom: 20px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 20px; }
  .hero-banner__text {
    height: 72px; }
    @media (min-width: 768px) {
      .hero-banner__text {
        height: 82px; } }
  .hero-banner__text-en {
    display: none; }
    @media (min-width: 1200px) {
      .hero-banner__text-en {
        display: block; } }
  .hero-banner__paragraph {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 12px;
    text-align: center;
    padding: 20px 16px 40px; }
  .hero-banner__title {
    font-size: 1.75rem;
    font-weight: 500;
    color: #1f2a37;
    margin-bottom: 0; }
    @media (min-width: 768px) {
      .hero-banner__title {
        font-size: 2rem; } }
  .hero-banner__desc {
    font-size: 1.125rem;
    color: #4b5563;
    margin-bottom: 0; }
  .hero-banner--urban .hero-banner__graphic {
    background-image: url("../img/hero-urban-bg.png"); }
  .hero-banner--home .hero-banner__graphic {
    background-image: url("../img/hero-home-bg.png"); }
    @media (min-width: 992px) {
      .hero-banner--home .hero-banner__graphic {
        height: 625px; } }
  .hero-banner--home .hero-banner__live-card {
    position: absolute;
    bottom: 16px;
    left: 16px;
    z-index: 1;
    width: calc(100% - 32px); }
    @media (min-width: 768px) {
      .hero-banner--home .hero-banner__live-card {
        width: auto;
        bottom: 20px;
        left: 20px; } }
    @media (min-width: 992px) {
      .hero-banner--home .hero-banner__live-card {
        bottom: 32px;
        left: 30px; } }

/* page內容寬 */
/* page內容寬 */
.page-inner {
  --page-px: 16px;
  --page-py: 40px;
  max-width: calc(1160px + (var(--page-px) * 2));
  padding-inline: var(--page-px);
  padding-block: var(--page-py);
  margin-inline: auto; }
  @media (min-width: 768px) {
    .page-inner {
      --page-px: 40px;
      --page-py: 40px; } }
  .page-inner.lg {
    max-width: calc(1440px + (var(--page-px) * 2)); }
  .page-inner.full {
    max-width: 100%; }
  .page-inner.bleed {
    padding-right: 0;
    margin-right: unset;
    max-width: unset; }
    @media (min-width: 1160px) {
      .page-inner.bleed {
        margin-left: calc((100vw - 1160px) / 2 - var(--page-px)); } }
  .page-inner.pt-0 {
    padding-top: 0; }
  .page-inner.pb-0 {
    padding-bottom: 0; }

/* hero下方的 page-inner */
.hero-banner + .page-inner {
  padding-top: 60px; }

/* 段落標題 */
/* 段落標題 */
.section-title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  color: #1f2a37; }
  .section-title__body {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4px;
    line-height: 1.5;
    color: #1f2a37; }
  .section-title__subtitle {
    font-size: 1.25rem;
    font-weight: 400; }
  .section-title__text {
    font-size: 1.75rem;
    font-weight: 500;
    margin-bottom: 0; }
    @media (min-width: 768px) {
      .section-title__text {
        font-size: 2rem; } }

/* 立方塊 */
/* 立方塊 */
.cube-block {
  position: relative;
  padding-bottom: 20px; }
  .cube-block::before {
    content: '';
    position: absolute;
    inset: 20px 0 0;
    border-radius: 24px;
    border: 1px solid var(--black, #000); }
  .cube-block__card {
    position: relative;
    border-radius: 24px;
    border: 1px solid var(--black, #000);
    padding: 20px 32px; }
  .cube-block--yellow .cube-block__card {
    background-color: #fffabb; }
  .cube-block--yellow::before {
    background-color: #d6d195; }
  .cube-block--red .cube-block__card {
    background-color: #fcd9bd; }
  .cube-block--red::before {
    background-color: #d8a780; }
  .cube-block--thin {
    padding-bottom: 12px; }
    .cube-block--thin::before {
      inset: 12px 0 0; }
  .cube-block--thin .cube-block__card {
    padding: 16px; }
    @media (min-width: 768px) {
      .cube-block--thin .cube-block__card {
        padding: 24px; } }
  .cube-block--blue .cube-block__card {
    background-color: #e9fbff; }
  .cube-block--blue::before {
    background-color: #dbe8ec; }

/* 我們的房源 */
/* 我們的房源 */
.housing-types {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  margin-top: 40px; }
  @media (min-width: 1200px) {
    .housing-types {
      margin-top: 32px; } }
  .housing-types__graphic {
    display: none; }
    @media (min-width: 1200px) {
      .housing-types__graphic {
        display: block;
        position: absolute;
        right: -40px;
        top: 0;
        width: 60%;
        height: 100%;
        pointer-events: none; }
        .housing-types__graphic img {
          width: 100%;
          height: 100%;
          -o-object-fit: contain;
             object-fit: contain;
          -o-object-position: right center;
             object-position: right center; } }
  .housing-types__cards {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
    @media (min-width: 1200px) {
      .housing-types__cards {
        max-width: 624px; } }
  .housing-types .cube-block:not(:first-child) {
    margin-top: -8px; }
  @media (min-width: 1200px) {
    .housing-types .cube-block:nth-child(2) {
      -webkit-transform: translateX(122px);
          -ms-transform: translateX(122px);
              transform: translateX(122px); }
    .housing-types .cube-block:not(:first-child) {
      margin-top: -12px; } }
  .housing-types__content {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px; }
    @media (min-width: 768px) {
      .housing-types__content {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -webkit-flex-direction: row;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-box-align: end;
        -webkit-align-items: flex-end;
            -ms-flex-align: end;
                align-items: flex-end;
        gap: 20px; } }
  .housing-types__info {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 8px; }
  .housing-types__header {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2px;
    line-height: 1.5;
    font-weight: 500; }
  .housing-types__subtitle {
    font-size: 1.125rem;
    color: #6b7280; }
  .housing-types__title {
    font-size: 1.5rem;
    color: #1f2a37; }
  .housing-types__desc {
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1.6;
    color: #4b5563;
    margin-bottom: 0; }
  .housing-types__illust {
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    width: 80px;
    height: 80px;
    -webkit-align-self: flex-end;
        -ms-flex-item-align: end;
            align-self: flex-end; }
    @media (min-width: 992px) {
      .housing-types__illust {
        width: 108px;
        height: 108px; } }

/* 主題標題 */
/* 主題標題 */
.topic-title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px; }
  .topic-title__icon {
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    width: 52px;
    height: 52px; }
  .topic-title__text {
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.5;
    color: #1f2a37;
    margin-bottom: 0; }

/* 上導角分隔線 */
/* 上導角分隔線 */
.top-radius-divider {
  border-radius: 40px 40px 0 0;
  border-top: 1px solid var(--black, #000);
  height: 40px; }

/* 藥丸頁籤 */
/* 藥丸頁籤 */
.pill-tabs {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 16px; }
  .pill-tabs__item {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 8px;
    height: 44px;
    padding: 8px 16px;
    border-radius: 9999px;
    border: 2px solid #1F2A37;
    background-color: #1F2A37;
    color: #fff;
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1.5;
    cursor: pointer;
    overflow: hidden;
    -webkit-transition: background-color 0.2s, border-color 0.2s, color 0.2s;
    transition: background-color 0.2s, border-color 0.2s, color 0.2s; }
    .pill-tabs__item:hover {
      background-color: #4B5563;
      border-color: #4B5563; }
    .pill-tabs__item.is-active, .pill-tabs__item.active {
      background-color: #FFCC51;
      border-color: #1F2A37;
      color: #1F2A37; }
      .pill-tabs__item.is-active:hover, .pill-tabs__item.active:hover {
        background-color: #FFCC51;
        border-color: #1F2A37; }
    .pill-tabs__item:disabled, .pill-tabs__item.is-disabled {
      background-color: #9CA3AF;
      border-color: #9CA3AF;
      color: #fff;
      cursor: not-allowed; }
  .pill-tabs__icon {
    width: 24px;
    height: 24px;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0; }
    .pill-tabs__icon--dark {
      display: none; }
    .pill-tabs__icon--light {
      display: block; }
    .pill-tabs__item.is-active .pill-tabs__icon--dark,
    .pill-tabs__item.active .pill-tabs__icon--dark {
      display: block; }
    .pill-tabs__item.is-active .pill-tabs__icon--light,
    .pill-tabs__item.active .pill-tabs__icon--light {
      display: none; }

/* 圖例 */
/* 圖例 */
.legend {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
  margin-left: auto; }
  .legend__item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 8px;
    font-size: 1rem;
    font-weight: 500;
    color: #1F2A37; }
  .legend__swatch {
    display: block;
    width: 24px;
    height: 24px;
    border: 2px solid #D1D5DB;
    border-radius: 4px; }
    .legend__swatch--planned {
      background-color: #E1EFFE; }
    .legend__swatch--evaluating {
      background-color: #E5E7EB; }
    .legend__swatch--pending {
      background-color: #FCD9BD;
      border-color: #FFB180; }
    .legend__swatch--booked {
      background-color: #1F2A37;
      border-color: #D1D5DB; }
    .legend__swatch--selected {
      background-color: #DFF8D8;
      border-color: #A4DA93; }

/* 全站 Checkbox 覆蓋 */
/* 全站 Checkbox / Radio 覆蓋 */
.form-check {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  padding-left: 0; }

.form-check-inline {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  padding-left: 0;
  margin-right: 0; }

.form-check-input {
  width: 24px;
  height: 24px;
  float: none !important;
  margin: 0 !important;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  border: 2px solid #D1D5DB;
  background-color: #F9FAFF;
  cursor: pointer; }
  .form-check-input[type="checkbox"] {
    border-radius: 4px; }
  .form-check-input:checked {
    background-color: #D03801;
    border-color: #D03801; }
  .form-check-input:focus {
    border-color: #D03801;
    -webkit-box-shadow: 0 0 0 0.25rem rgba(208, 56, 1, 0.25);
            box-shadow: 0 0 0 0.25rem rgba(208, 56, 1, 0.25); }
  .form-check-input:disabled {
    background-color: #E5E7EB;
    border-color: #D1D5DB;
    opacity: 1;
    cursor: default; }
  .form-check-input:checked:disabled {
    background-color: #9CA3AF;
    border-color: #9CA3AF; }

.form-check-label {
  font-size: 1rem;
  font-weight: 500;
  color: #1F2A37;
  cursor: pointer; }

.form-check-input:disabled ~ .form-check-label {
  opacity: 1;
  cursor: default; }

/* 篩選控制列 */
/* 篩選控制列 */
.filter-controls {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
  padding-bottom: 10px;
  border-bottom: 1px solid #D1D5DB; }

/* 狀態標籤 */
/* 狀態圓點 */
.status-dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  vertical-align: middle; }
  .status-dot--orange {
    background-color: #FF8A4C; }
  .status-dot--green {
    background-color: #78A16B; }
  .status-dot--red {
    background-color: #E02424; }
  .status-dot--grey {
    background-color: #9CA3AF; }
  .status-dot--blue {
    background-color: #76A9FA; }

/* 狀態標籤 */
.status-tag {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 4px 16px;
  border-radius: 9999px;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  white-space: nowrap;
  background-color: #FCD9BD;
  border: 1px solid #FFB180;
  color: #8A2C0D; }
  .status-tag--teal {
    background-color: #D5F5F6;
    border-color: #7EDCE2;
    color: #005774; }
  .status-tag--gray {
    background-color: #F9FAFF;
    border-color: #D1D5DB;
    color: #1F2A37; }
  .status-tag--disabled {
    background-color: #F3F4F6;
    border-color: #D1D5DB;
    color: #6B7280; }

/* 媒體卡片 */
/* 媒體卡片 */
.media-card {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  border: 1px solid #D1D5DB;
  border-radius: 16px;
  background-color: #fff;
  overflow: hidden;
  text-decoration: none;
  color: inherit; }
  @media (min-width: 768px) {
    .media-card--horizontal {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row;
      height: 160px; } }
  .media-card__tag {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 1; }
  .media-card__img {
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    overflow: hidden;
    width: 100%;
    height: 220px; }
    .media-card__img img {
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
         object-fit: cover; }
  @media (min-width: 768px) {
    .media-card--horizontal .media-card__img {
      width: 202px;
      height: 100%; } }
  .media-card__info {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 8px;
    padding: 16px;
    min-width: 0;
    min-height: 0; }
  .media-card__title {
    font-size: 1.25rem;
    font-weight: 500;
    color: #1F2A37;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical; }
  .media-card__desc {
    font-size: 1rem;
    font-weight: 400;
    color: #4B5563; }
  .media-card__meta {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 8px;
    font-size: 1rem;
    font-weight: 400;
    color: #6B7280;
    margin-top: auto; }
  .media-card__divider {
    width: 2px;
    height: 16px;
    background-color: #D1D5DB; }
  .media-card--simple {
    border: none;
    background-color: transparent;
    overflow: visible;
    gap: 20px; }
  .media-card--simple .media-card__img {
    height: 210px;
    border: 1px solid #D1D5DB;
    border-radius: 18px; }
  .media-card--simple .media-card__info {
    padding: 0; }
  .media-card--simple .media-card__title {
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical; }

/* 查看更多按鈕 */
/* 查看更多按鈕 */
.more-btn {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  height: 64px;
  padding: 12px 12px 12px 32px;
  border-radius: 9999px;
  border: 1px solid #1F2A37;
  background-color: #fff;
  color: #1F2A37;
  font-size: 1.25rem;
  font-weight: 500;
  text-decoration: none;
  -webkit-transition: background-color 0.2s, border-color 0.2s, color 0.2s;
  transition: background-color 0.2s, border-color 0.2s, color 0.2s; }
  .more-btn:hover {
    background-color: #F3F4F6;
    color: #1F2A37; }
  .more-btn:active {
    background-color: #D1D5DB;
    color: #1F2A37; }
  .more-btn.disabled, .more-btn[disabled] {
    border-color: #9CA3AF;
    color: #9CA3AF;
    pointer-events: none; }
  .more-btn.disabled .more-btn__arrow,
  .more-btn[disabled] .more-btn__arrow {
    background-color: #9CA3AF; }
  .more-btn__arrow {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #1F2A37;
    color: #fff;
    -webkit-transition: background-color 0.2s;
    transition: background-color 0.2s; }

/* 圓形圖示按鈕 */
/* 圓形圖示按鈕 */
.icon-btn {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  border: 1px solid #1F2A37;
  background-color: #fff;
  color: #1F2A37;
  text-decoration: none;
  cursor: pointer;
  -webkit-transition: background-color 0.2s, border-color 0.2s, color 0.2s;
  transition: background-color 0.2s, border-color 0.2s, color 0.2s; }
  .icon-btn img {
    width: 24px;
    height: 24px; }
  .icon-btn:hover {
    background-color: #F3F4F6;
    color: #1F2A37; }
  .icon-btn:active {
    background-color: #D1D5DB;
    color: #1F2A37; }
  .icon-btn.disabled, .icon-btn[disabled] {
    border-color: #9CA3AF;
    color: #9CA3AF;
    pointer-events: none; }
    .icon-btn.disabled img, .icon-btn[disabled] img {
      -webkit-filter: brightness(0) saturate(100%) invert(73%) sepia(5%) saturate(611%) hue-rotate(182deg) brightness(90%) contrast(89%);
              filter: brightness(0) saturate(100%) invert(73%) sepia(5%) saturate(611%) hue-rotate(182deg) brightness(90%) contrast(89%); }
  .icon-btn--inverted {
    background-color: #1F2A37;
    border-color: #1F2A37;
    color: #fff; }
    .icon-btn--inverted:hover {
      background-color: #4B5563;
      border-color: #4B5563;
      color: #fff; }
    .icon-btn--inverted:active {
      background-color: #000;
      border-color: #000;
      color: #fff; }
    .icon-btn--inverted.disabled, .icon-btn--inverted[disabled] {
      background-color: #9CA3AF;
      border-color: #9CA3AF;
      color: #fff;
      pointer-events: none; }
      .icon-btn--inverted.disabled img, .icon-btn--inverted[disabled] img {
        -webkit-filter: none;
                filter: none; }
  .icon-btn--sm {
    width: 52px;
    height: 52px;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0; }
  .icon-btn--danger {
    background-color: #FDF2F2;
    border-color: #E02424;
    color: #E02424; }
    .icon-btn--danger:hover {
      background-color: #FBD5D5;
      border-color: #E02424; }
    .icon-btn--danger:active {
      background-color: #F8B4B4;
      border-color: #E02424; }
    .icon-btn--danger.disabled, .icon-btn--danger[disabled] {
      background-color: #fff;
      border-color: #9CA3AF;
      color: #9CA3AF;
      pointer-events: none; }

/* 返回按鈕 */
/* 返回按鈕 */
.back-btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  border: none;
  background: none;
  padding: 0;
  cursor: pointer;
  text-decoration: none; }
  .back-btn:hover .back-btn__icon {
    opacity: 0.85; }
  .back-btn__icon {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #1F2A37;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0; }
  .back-btn__text {
    font-size: 1.5rem;
    font-weight: 500;
    color: #000; }

/* 地圖區塊 */
/* 地圖區塊（全寬灰底 + 標題分隔線） */
.map-section {
  background-color: #F9FAFF; }
  .map-section__header {
    border-bottom: 1px solid #D1D5DB; }

/* 地圖模組 */
/* 地圖模組 */
.map-module {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px; }
  .map-module__header {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 20px; }
  .map-module__body {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: 20px;
    position: relative;
    padding-bottom: 40px; }
    @media (min-width: 992px) {
      .map-module__body {
        -webkit-flex-wrap: nowrap;
            -ms-flex-wrap: nowrap;
                flex-wrap: nowrap;
        padding-bottom: 0; }
        .map-module__body:not(:has(.map-module__card-list > :nth-child(3))) {
          min-height: 600px; }
        .map-module__body:not(:has(.filter-controls)) .map-module__card-list {
          max-height: 532px; } }
  .map-module__sidebar {
    display: none; }
    @media (min-width: 992px) {
      .map-module__sidebar {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: 20px;
        width: 500px;
        -webkit-box-ordinal-group: 0;
        -webkit-order: -1;
            -ms-flex-order: -1;
                order: -1; } }
  .map-module__normal-state {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-height: 0; }
  .map-module__district-title {
    font-size: 2rem;
    font-weight: 500;
    color: #1F2A37;
    margin: 0; }
  .map-module__card-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding-right: 4px; }
    .map-module__card-list > * {
      -webkit-flex-shrink: 0;
          -ms-flex-negative: 0;
              flex-shrink: 0; }
    .map-module__card-list::-webkit-scrollbar {
      width: 8px; }
    .map-module__card-list::-webkit-scrollbar-track {
      background: transparent;
      border-radius: 4px; }
    .map-module__card-list::-webkit-scrollbar-thumb {
      background-color: #D1D5DB;
      border-radius: 4px; }
    @media (min-width: 992px) {
      .map-module__card-list {
        max-height: 500px; } }
  .map-module__map {
    display: none;
    position: relative; }
    @media (min-width: 992px) {
      .map-module__map {
        display: block;
        -webkit-box-flex: 1;
        -webkit-flex: 1;
            -ms-flex: 1;
                flex: 1;
        min-width: 430px; } }
  .map-module__map-svg {
    width: 100%;
    height: auto;
    max-height: 558px;
    -webkit-filter: drop-shadow(0px 5px 0px #434343);
            filter: drop-shadow(0px 5px 0px #434343); }
  .map-module__map-district {
    cursor: pointer; }
    .map-module__map-district[data-status="evaluating"] {
      cursor: default; }
    .map-module__map-district[tabindex]:focus, .map-module__map-district[tabindex]:focus-visible {
      outline: none !important; }
    .map-module__map-district > path {
      -webkit-transition: fill 0.2s;
      transition: fill 0.2s; }
    .map-module__map-district[data-status="planned"] > path {
      fill: #E1EFFE;
      stroke: black;
      stroke-width: 1.84;
      stroke-miterlimit: 10; }
    .map-module__map-district[data-status="evaluating"] > path {
      fill: #E5E7EB;
      stroke: black;
      stroke-width: 1.84;
      stroke-miterlimit: 10; }
    .map-module__map-district > path.map-module__map-district-deco {
      fill: #C6C6C6 !important;
      pointer-events: none; }
    .map-module__map-district:not([data-status="evaluating"]):hover > path:not(.map-module__map-district-deco) {
      fill: #C3DDFD; }
    .map-module__map-district[data-status="evaluating"]:hover > path:not(.map-module__map-district-deco) {
      fill: #D1D5DB; }
    .map-module__map-district.is-active > path:not(.map-module__map-district-deco) {
      fill: #FFCC51; }
    .map-module__map-district > text {
      font-size: 16px;
      font-weight: 500;
      fill: #6B7280;
      text-anchor: middle;
      dominant-baseline: central;
      pointer-events: none; }
    .map-module__map-district.is-active > text,
    .map-module__map-district:not([data-status="evaluating"]):hover > text {
      fill: #1F2A37; }
    .map-module__map-district[data-status="evaluating"]:hover > text {
      fill: #000; }
    .map-module__map-district:not([data-status="evaluating"]):focus-visible > path:not(.map-module__map-district-deco) {
      fill: #C3DDFD; }
    .map-module__map-district:not([data-status="evaluating"]):focus-visible > text {
      fill: #1F2A37; }
    .map-module__map-district[data-status="evaluating"]:focus-visible > path:not(.map-module__map-district-deco) {
      fill: #D1D5DB; }
    .map-module__map-district[data-status="evaluating"]:focus-visible > text {
      fill: #000; }
  .map-module__map-district-pin {
    opacity: 0;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
    pointer-events: none; }
    .map-module__map-district-pin.is-visible {
      opacity: 1; }
    .map-module__map-district-pin[data-status="evaluating"] {
      display: none; }
  .map-module__map-district-label {
    opacity: 0;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
    pointer-events: none;
    display: none; }
    .map-module__map-district-label[data-status="evaluating"] {
      display: block; }
    .map-module__map-district-label.is-visible {
      opacity: 1; }
  .map-module__map-district-pin-shadow {
    fill: rgba(0, 0, 0, 0.15);
    -webkit-filter: blur(2px);
            filter: blur(2px); }
  .map-module__map-district-pin-body {
    fill: #fff; }
  .map-module__map-district-pin-ring {
    fill: #fff; }
  .map-module__map-district-pin-circle {
    fill: #1F2A37; }
  .map-module__map-district-pin-text {
    font-size: 18px;
    font-weight: 500;
    fill: #fff;
    text-anchor: middle;
    dominant-baseline: central; }
    [data-status="evaluating"] .map-module__map-district-pin-text {
      font-size: 16px; }
  .map-module__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    width: 100%; }
    @media (min-width: 768px) {
      .map-module__grid {
        grid-template-columns: repeat(3, 1fr); } }
    @media (min-width: 992px) {
      .map-module__grid {
        display: none; } }
  .map-module__district-btn {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 8px;
    position: relative;
    padding: 24px 16px;
    border-radius: 16px;
    border: 1px solid #000;
    background-color: #fff;
    cursor: pointer;
    -webkit-transition: background-color 0.2s;
    transition: background-color 0.2s; }
    @media (min-width: 768px) {
      .map-module__district-btn {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
            -ms-flex-pack: justify;
                justify-content: space-between;
        min-height: 160px;
        gap: 0;
        padding: 24px 16px 16px 16px; } }
    .map-module__district-btn[data-status="planned"] {
      background-color: #E1EFFE; }
      @media (min-width: 768px) {
        .map-module__district-btn[data-status="planned"] {
          background-color: #fff; } }
    .map-module__district-btn[data-status="evaluating"] {
      background-color: #E5E7EB; }
      @media (min-width: 768px) {
        .map-module__district-btn[data-status="evaluating"] {
          background-color: #fff; } }
    .map-module__district-btn.is-active {
      background-color: #FFCC51; }
      @media (min-width: 768px) {
        .map-module__district-btn.is-active {
          background-color: #fff; } }
    .map-module__district-btn:focus-visible {
      outline: 3px solid #1F2A37;
      outline-offset: 2px; }
    .map-module__district-btn:disabled {
      background-color: #E5E7EB;
      opacity: 0.6;
      cursor: not-allowed; }
  .map-module__district-btn-shape {
    display: none; }
    @media (min-width: 768px) {
      .map-module__district-btn-shape {
        display: block;
        width: 132px;
        height: 86px;
        -webkit-filter: drop-shadow(1px 0 0 #000) drop-shadow(-1px 0 0 #000) drop-shadow(0 1px 0 #000) drop-shadow(0 -1px 0 #000);
                filter: drop-shadow(1px 0 0 #000) drop-shadow(-1px 0 0 #000) drop-shadow(0 1px 0 #000) drop-shadow(0 -1px 0 #000); } }
    .map-module__district-btn-shape::before {
      content: '';
      display: block;
      width: 100%;
      height: 100%;
      -webkit-mask-size: contain;
      mask-size: contain;
      -webkit-mask-repeat: no-repeat;
      mask-repeat: no-repeat;
      -webkit-mask-position: center;
      mask-position: center; }
    [data-status="planned"] .map-module__district-btn-shape::before {
      background-color: #E1EFFE; }
    [data-status="evaluating"] .map-module__district-btn-shape::before {
      background-color: #E5E7EB; }
    .is-active .map-module__district-btn-shape::before,
    .map-module__district-btn:active .map-module__district-btn-shape::before {
      background-color: #FFCC51; }
    .map-module__district-btn-shape--beitou::before {
      -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='91' height='97' viewBox='0 0 91 97' fill='none'%3E%3Cpath d='M86.9199 13.4274C85.4103 12.9242 85.2868 12.4348 84.8305 11.394C84.3467 10.2911 82.9263 10.4772 81.9348 9.93952C80.9433 9.40187 80.6757 9.40187 80.5419 7.80958C80.4081 6.22073 80.6482 6.22073 80.0307 5.30396C79.4131 4.38719 78.9568 3.55313 78.8779 2.55709C78.8058 1.66444 78.6308 1.6541 78.4627 1.47488C77.9206 0.895865 76.7679 0.737325 75.9513 1.15091C75.2891 1.48522 75.2137 2.01598 74.3731 2.26413C74.0094 2.37097 73.903 2.2917 73.6526 2.45024C73.2992 2.67427 73.1071 3.11542 72.7949 3.84608C72.3248 4.95931 72.3934 5.4625 71.7553 5.86919C71.1171 6.27243 70.6471 6.57572 70.6471 6.98241C70.6471 7.3891 71.4534 7.96122 71.4534 8.39893C71.4534 8.83664 71.7553 10.6909 70.6471 11.3629C69.5389 12.0385 69.1375 11.4319 68.8013 11.3629C68.4651 11.294 66.7873 11.7662 65.3807 13.1482C63.9706 14.5303 64.1044 15.8434 64.1387 16.3156C64.173 16.7878 64.2725 18.4731 63.3324 19.2796C62.3923 20.0895 61.5895 20.3239 60.447 20.3928C59.3079 20.4617 59.0712 20.5272 58.735 20.9994C58.3988 21.4716 58.066 22.8157 54.4944 23.2086C50.9194 23.6015 49.8695 24.9974 49.1353 25.8555C48.4011 26.7137 48.7682 29.016 48.7373 29.9052C48.7064 30.7944 47.7286 32.8795 47.4233 33.6171C47.1179 34.3547 47.3924 35.1818 46.2327 34.9371C45.0731 34.6924 42.7813 34.141 42.3867 33.8652C41.9887 33.5895 41.9304 33.4965 40.6164 34.4477C39.3023 35.3989 39.7312 35.1853 38.7225 34.5994C37.7138 34.0134 36.7394 33.8032 36.067 33.4034C35.3945 33.0036 35.4871 32.5142 35.0583 32.1454C34.6294 31.7767 33.6242 31.3183 33.1644 33.1277C32.7081 34.9371 33.1027 35.0922 32.5846 35.3989C32.0665 35.7057 31.3941 36.0434 30.9652 37.8218C30.5363 39.6003 30.1315 39.2866 29.459 39.6347C28.7866 39.9828 27.2667 40.8651 25.3248 43.5224C23.3829 46.1796 23.5236 47.2446 22.9609 47.6341C22.3982 48.0235 22.2198 48.5198 22.2198 48.9817C22.2198 49.4435 22.4668 49.7261 21.8664 50.1879C21.266 50.6498 19.5368 50.5085 18.8644 50.9324C18.1953 51.3563 18.264 52.7763 17.8042 53.2726C17.3445 53.7689 16.4284 53.9446 15.8623 54.727C15.2962 55.5059 14.6958 55.8264 14.1675 56.2504C13.6391 56.6743 14.2395 56.6743 13.6391 57.3498C13.0387 58.0219 11.1688 59.6555 10.8498 60.7171C10.5307 61.782 10.4278 61.9233 9.68326 62.5265C8.94218 63.1296 7.14095 64.1946 6.01218 66.2142C4.88341 68.2339 4.70501 70.612 4.74275 71.3565C4.77706 72.1009 4.8148 72.704 3.68259 73.3072C2.55383 73.9103 2.12839 73.9793 1.42506 74.1585C0.718288 74.3342 0.896695 75.4337 1.10598 76.4987C1.31527 77.5636 1.95342 78.9112 1.81275 79.4764C1.80246 79.5247 1.77844 79.5936 1.74756 79.6729C2.18672 79.6281 2.65332 79.6901 2.98269 80.0382C3.79581 80.893 6.16657 84.4325 9.82736 83.4779C13.4847 82.5266 20.127 79.2593 23.6505 79.9383C27.174 80.6172 28.3268 82.1165 28.5979 82.9333C28.8689 83.7501 29.2086 87.8342 29.3424 91.1015C29.4796 94.3688 30.0183 94.8445 32.9997 95.5924C35.9812 96.3402 38.7602 95.6613 40.0468 94.9789C41.3334 94.2965 43.9752 93.2763 44.6545 91.6426C45.3304 90.009 46.0097 89.3955 46.7542 88.6476C47.4988 87.8997 46.617 85.8559 47.1591 85.2459C47.7012 84.6324 49.0564 83.6123 50.0719 82.9333C51.0875 82.2543 49.0564 79.3937 49.1902 78.2357C49.3274 77.0777 49.8283 76.2608 50.3567 75.2407C50.8851 74.2205 51.6982 73.1314 52.6451 72.7213C53.5921 72.3146 53.6607 70.8154 54.2714 70.1364C54.8821 69.4574 53.7979 68.775 54.2714 66.7347C54.7448 64.6943 54.2714 63.8086 54.1341 63.264C54.0003 62.7195 54.539 61.1548 58.0625 59.7245C61.5861 58.2942 62.1282 57.274 63.0751 57.2051C64.022 57.1361 65.041 57.8185 65.5145 57.7496C65.9879 57.6807 67.2093 55.9126 68.0225 55.8437C68.8356 55.7748 68.0911 50.9427 69.7173 49.1057C71.3436 47.2687 71.8582 46.1831 72.3626 44.7183C72.8669 43.2536 73.9236 42.0404 75.6322 41.0271C77.3408 40.0138 76.9909 40.3688 77.7971 37.8942C78.6034 35.4162 79.2553 35.3679 78.9533 34.2547C78.6514 33.1415 76.3973 31.1115 77.2173 29.3262C78.0373 27.5409 79.9037 27.5891 80.5419 26.855C81.18 26.1244 80.6345 25.1628 81.6329 23.9289C82.6347 22.6951 83.2248 21.3682 82.6793 20.3618C82.1338 19.3554 81.4957 18.349 83.2248 16.9325C84.954 15.516 84.6349 15.2403 85.6848 14.5992C86.0828 14.3545 86.5151 13.8996 86.8959 13.4308L86.9199 13.4274Z' fill='%23F0F0F0' stroke='black' stroke-width='1.83831' stroke-miterlimit='10'/%3E%3C/svg%3E");
      mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='91' height='97' viewBox='0 0 91 97' fill='none'%3E%3Cpath d='M86.9199 13.4274C85.4103 12.9242 85.2868 12.4348 84.8305 11.394C84.3467 10.2911 82.9263 10.4772 81.9348 9.93952C80.9433 9.40187 80.6757 9.40187 80.5419 7.80958C80.4081 6.22073 80.6482 6.22073 80.0307 5.30396C79.4131 4.38719 78.9568 3.55313 78.8779 2.55709C78.8058 1.66444 78.6308 1.6541 78.4627 1.47488C77.9206 0.895865 76.7679 0.737325 75.9513 1.15091C75.2891 1.48522 75.2137 2.01598 74.3731 2.26413C74.0094 2.37097 73.903 2.2917 73.6526 2.45024C73.2992 2.67427 73.1071 3.11542 72.7949 3.84608C72.3248 4.95931 72.3934 5.4625 71.7553 5.86919C71.1171 6.27243 70.6471 6.57572 70.6471 6.98241C70.6471 7.3891 71.4534 7.96122 71.4534 8.39893C71.4534 8.83664 71.7553 10.6909 70.6471 11.3629C69.5389 12.0385 69.1375 11.4319 68.8013 11.3629C68.4651 11.294 66.7873 11.7662 65.3807 13.1482C63.9706 14.5303 64.1044 15.8434 64.1387 16.3156C64.173 16.7878 64.2725 18.4731 63.3324 19.2796C62.3923 20.0895 61.5895 20.3239 60.447 20.3928C59.3079 20.4617 59.0712 20.5272 58.735 20.9994C58.3988 21.4716 58.066 22.8157 54.4944 23.2086C50.9194 23.6015 49.8695 24.9974 49.1353 25.8555C48.4011 26.7137 48.7682 29.016 48.7373 29.9052C48.7064 30.7944 47.7286 32.8795 47.4233 33.6171C47.1179 34.3547 47.3924 35.1818 46.2327 34.9371C45.0731 34.6924 42.7813 34.141 42.3867 33.8652C41.9887 33.5895 41.9304 33.4965 40.6164 34.4477C39.3023 35.3989 39.7312 35.1853 38.7225 34.5994C37.7138 34.0134 36.7394 33.8032 36.067 33.4034C35.3945 33.0036 35.4871 32.5142 35.0583 32.1454C34.6294 31.7767 33.6242 31.3183 33.1644 33.1277C32.7081 34.9371 33.1027 35.0922 32.5846 35.3989C32.0665 35.7057 31.3941 36.0434 30.9652 37.8218C30.5363 39.6003 30.1315 39.2866 29.459 39.6347C28.7866 39.9828 27.2667 40.8651 25.3248 43.5224C23.3829 46.1796 23.5236 47.2446 22.9609 47.6341C22.3982 48.0235 22.2198 48.5198 22.2198 48.9817C22.2198 49.4435 22.4668 49.7261 21.8664 50.1879C21.266 50.6498 19.5368 50.5085 18.8644 50.9324C18.1953 51.3563 18.264 52.7763 17.8042 53.2726C17.3445 53.7689 16.4284 53.9446 15.8623 54.727C15.2962 55.5059 14.6958 55.8264 14.1675 56.2504C13.6391 56.6743 14.2395 56.6743 13.6391 57.3498C13.0387 58.0219 11.1688 59.6555 10.8498 60.7171C10.5307 61.782 10.4278 61.9233 9.68326 62.5265C8.94218 63.1296 7.14095 64.1946 6.01218 66.2142C4.88341 68.2339 4.70501 70.612 4.74275 71.3565C4.77706 72.1009 4.8148 72.704 3.68259 73.3072C2.55383 73.9103 2.12839 73.9793 1.42506 74.1585C0.718288 74.3342 0.896695 75.4337 1.10598 76.4987C1.31527 77.5636 1.95342 78.9112 1.81275 79.4764C1.80246 79.5247 1.77844 79.5936 1.74756 79.6729C2.18672 79.6281 2.65332 79.6901 2.98269 80.0382C3.79581 80.893 6.16657 84.4325 9.82736 83.4779C13.4847 82.5266 20.127 79.2593 23.6505 79.9383C27.174 80.6172 28.3268 82.1165 28.5979 82.9333C28.8689 83.7501 29.2086 87.8342 29.3424 91.1015C29.4796 94.3688 30.0183 94.8445 32.9997 95.5924C35.9812 96.3402 38.7602 95.6613 40.0468 94.9789C41.3334 94.2965 43.9752 93.2763 44.6545 91.6426C45.3304 90.009 46.0097 89.3955 46.7542 88.6476C47.4988 87.8997 46.617 85.8559 47.1591 85.2459C47.7012 84.6324 49.0564 83.6123 50.0719 82.9333C51.0875 82.2543 49.0564 79.3937 49.1902 78.2357C49.3274 77.0777 49.8283 76.2608 50.3567 75.2407C50.8851 74.2205 51.6982 73.1314 52.6451 72.7213C53.5921 72.3146 53.6607 70.8154 54.2714 70.1364C54.8821 69.4574 53.7979 68.775 54.2714 66.7347C54.7448 64.6943 54.2714 63.8086 54.1341 63.264C54.0003 62.7195 54.539 61.1548 58.0625 59.7245C61.5861 58.2942 62.1282 57.274 63.0751 57.2051C64.022 57.1361 65.041 57.8185 65.5145 57.7496C65.9879 57.6807 67.2093 55.9126 68.0225 55.8437C68.8356 55.7748 68.0911 50.9427 69.7173 49.1057C71.3436 47.2687 71.8582 46.1831 72.3626 44.7183C72.8669 43.2536 73.9236 42.0404 75.6322 41.0271C77.3408 40.0138 76.9909 40.3688 77.7971 37.8942C78.6034 35.4162 79.2553 35.3679 78.9533 34.2547C78.6514 33.1415 76.3973 31.1115 77.2173 29.3262C78.0373 27.5409 79.9037 27.5891 80.5419 26.855C81.18 26.1244 80.6345 25.1628 81.6329 23.9289C82.6347 22.6951 83.2248 21.3682 82.6793 20.3618C82.1338 19.3554 81.4957 18.349 83.2248 16.9325C84.954 15.516 84.6349 15.2403 85.6848 14.5992C86.0828 14.3545 86.5151 13.8996 86.8959 13.4308L86.9199 13.4274Z' fill='%23F0F0F0' stroke='black' stroke-width='1.83831' stroke-miterlimit='10'/%3E%3C/svg%3E"); }
    .map-module__district-btn-shape--shilin::before {
      -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='110' height='97' viewBox='0 0 110 97' fill='none'%3E%3Cpath d='M99.9642 64.9691C100.32 64.6316 100.836 65.0405 101.078 64.2488C101.333 63.4117 102.943 60.0145 103.479 59.4045C104.014 58.7946 104.22 57.6784 104.295 56.9711C104.37 56.2605 104.501 55.6538 105.726 55.6278C106.95 55.6018 108.355 54.2845 108.61 53.8789C108.864 53.4734 109.273 52.4318 108.329 52.2826C107.385 52.1333 106.95 51.6726 106.872 51.2443C106.797 50.8128 106.516 49.317 106.797 48.7589C107.078 48.2008 107.385 47.9478 106.643 47.4903C105.902 47.0328 103.452 45.1314 102.737 44.4728C102.022 43.8141 100.67 42.5195 100.464 41.3774C100.258 40.2353 99.569 38.9926 99.1379 38.282C98.7035 37.5714 99.0367 36.9128 98.8048 36.6078C98.5729 36.3028 96.6361 35.6701 96.3291 35.3651C96.0221 35.0601 95.9208 34.1224 96.7373 33.3599C97.5539 32.5974 98.0405 31.332 97.3252 29.9855C96.61 28.639 96.4565 27.4482 96.3813 27.0167C96.3062 26.5851 96.0743 26.4067 95.4374 26.4586C94.8005 26.5105 94.033 26.7636 93.2426 26.079C92.4522 25.3944 92.3248 24.8363 91.0217 24.8622C89.7185 24.8882 87.8046 25.3944 87.344 23.9732C86.8835 22.5521 86.681 20.6507 88.7223 19.129C90.7636 17.6072 91.1229 17.5067 91.2503 16.3126C91.3777 15.1219 90.8681 14.6903 90.228 13.3957C89.5878 12.1011 89.4637 10.8844 90.2541 10.1738C91.0445 9.46323 90.4338 9.10956 90.3554 8.2984C90.277 7.48725 91.3254 6.62417 91.7598 6.0661C92.1942 5.50802 91.5312 4.06092 91.2993 3.04859C91.0706 2.03303 91.6063 1.73127 91.2732 1.32245C90.94 0.913628 89.5878 0.790333 89.2547 1.06937C88.9216 1.34841 88.6668 1.75399 88.1834 1.62745C87.6968 1.50091 87.2134 1.04341 86.8802 1.04341C86.5471 1.04341 86.2923 1.98111 84.5842 1.47495C84.4829 1.44575 84.3882 1.41655 84.3 1.38734C83.9375 1.83186 83.526 2.26015 83.1471 2.48727C82.1509 3.09077 82.4547 3.3471 80.8053 4.68389C79.1559 6.02067 79.7667 6.96486 80.286 7.91229C80.8053 8.85972 80.2435 10.1089 79.2898 11.2705C78.3361 12.4321 78.8554 13.3373 78.2512 14.0252C77.6437 14.713 75.867 14.6709 75.0863 16.3516C74.3058 18.0323 76.4516 19.9434 76.739 20.9914C77.0264 22.0394 76.4026 22.0848 75.6383 24.4177C74.8708 26.7506 75.2072 26.4164 73.5774 27.3671C71.9476 28.3178 70.9417 29.4599 70.4648 30.8421C69.9847 32.2211 69.4948 33.2431 67.9467 34.9725C66.3985 36.7019 67.1073 41.2509 66.3332 41.3157C65.5591 41.3806 64.3997 43.0451 63.9457 43.11C63.495 43.1749 62.5282 42.5325 61.6235 42.5974C60.7188 42.6623 60.206 43.6227 56.8517 44.9692C53.4974 46.3157 52.9814 47.7888 53.112 48.3014C53.2427 48.8141 53.6934 49.6479 53.2427 51.5688C52.7919 53.4896 53.824 54.132 53.2427 54.7712C52.6613 55.4104 52.5992 56.8218 51.6945 57.2047C50.7931 57.5876 50.019 58.6129 49.516 59.5765C49.0131 60.5402 48.5329 61.3059 48.4056 62.3961C48.2749 63.4863 50.2117 66.1761 49.2449 66.8185C48.2782 67.461 46.9881 68.4214 46.472 68.9957C45.956 69.5732 46.7954 71.494 46.0866 72.1981C45.3779 72.9022 44.7312 73.4797 44.0878 75.0177C43.4443 76.5557 40.9262 77.5161 39.7014 78.1585C38.4766 78.8009 35.8311 79.4401 32.9928 78.736C30.1546 78.032 29.6385 77.5842 29.5112 74.5083C29.3838 71.4324 29.0604 67.5875 28.8024 66.8185C28.5444 66.0495 27.447 64.6414 24.0927 63.9989C20.7384 63.3565 14.4185 66.4324 10.9336 67.3312C7.45189 68.2267 5.19175 64.8977 4.41768 64.093C4.10414 63.7653 3.65995 63.7069 3.24189 63.7491C2.94467 64.557 1.78847 66.9256 1.38674 67.568C0.949084 68.2689 0.681263 69.1027 1.22017 70.1702C1.75908 71.2377 4.64631 74.0768 6.02461 74.3753C7.4029 74.677 15.6694 74.5764 18.7591 75.9781C21.8489 77.3798 23.1618 77.581 24.1351 79.0508C25.1084 80.5206 27.2608 82.2565 28.4039 83.1909C29.5471 84.1254 32.4376 87.198 33.277 89.4336C33.6689 90.4751 34.2568 91.7957 34.812 93.3044C35.7331 93.1909 36.9644 93.0611 38.0096 93.0351C39.9725 92.9832 41.3181 92.1623 42.249 91.7503C43.1798 91.3382 43.5162 92.1104 45.0611 92.6198C46.6059 93.1292 46.57 93.3401 47.0207 93.4894C47.4715 93.6386 47.2428 94.0215 47.478 94.2324C47.7131 94.4433 48.3762 94.5374 48.4676 94.7937C48.5623 95.05 48.8693 96.0818 49.2449 95.8969C49.6238 95.7087 49.2449 94.5828 49.0555 93.9274C48.8661 93.272 49.3135 91.3479 49.8328 91.1597C50.3522 90.9715 51.8611 88.3694 52.24 88.2525C52.6188 88.1357 53.1839 87.808 53.6085 87.0553C54.0331 86.3025 57.6225 81.7081 60.6926 82.1754C63.7628 82.6426 63.0998 83.5349 63.9032 83.5349C64.7067 83.5349 66.4051 82.1072 67.3032 82.1397C68.2014 82.1721 68.0544 82.6588 68.8122 82.4901C69.5699 82.3214 71.1213 80.8126 71.5361 79.8846C71.9509 78.9599 72.3298 79.4726 72.6041 78.9242C72.8785 78.3759 72.5682 77.7594 73.2247 77.6556C73.8812 77.5518 74.7434 78.1001 76.3634 77.5874C77.9834 77.0748 78.9501 77.2792 79.3649 76.5946C79.7797 75.91 79.5707 75.4655 80.0541 75.0534C80.5375 74.6413 80.5701 74.1611 80.6747 73.6485C80.7792 73.1358 81.1907 71.971 83.1928 71.3545C85.1949 70.738 86.3315 70.7023 86.8476 71.1144C87.3636 71.5265 87.3996 72.4512 88.0201 72.0748C88.6407 71.6984 88.399 71.0463 89.1926 70.8419C89.9863 70.6375 90.1594 70.7737 90.8485 70.3617C91.5377 69.9496 92.6416 69.4694 93.0564 68.3759C93.4712 67.2825 93.9187 67.3474 94.0918 66.1144C94.2649 64.8815 95.0226 64.8458 96.0221 65.0178C97.0215 65.1897 97.6421 64.6057 98.4716 64.6057C98.906 64.6057 99.4547 64.7841 99.9675 64.9561L99.9642 64.9691Z' fill='%23F0F0F0' stroke='black' stroke-width='1.83831' stroke-miterlimit='10'/%3E%3C/svg%3E");
      mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='110' height='97' viewBox='0 0 110 97' fill='none'%3E%3Cpath d='M99.9642 64.9691C100.32 64.6316 100.836 65.0405 101.078 64.2488C101.333 63.4117 102.943 60.0145 103.479 59.4045C104.014 58.7946 104.22 57.6784 104.295 56.9711C104.37 56.2605 104.501 55.6538 105.726 55.6278C106.95 55.6018 108.355 54.2845 108.61 53.8789C108.864 53.4734 109.273 52.4318 108.329 52.2826C107.385 52.1333 106.95 51.6726 106.872 51.2443C106.797 50.8128 106.516 49.317 106.797 48.7589C107.078 48.2008 107.385 47.9478 106.643 47.4903C105.902 47.0328 103.452 45.1314 102.737 44.4728C102.022 43.8141 100.67 42.5195 100.464 41.3774C100.258 40.2353 99.569 38.9926 99.1379 38.282C98.7035 37.5714 99.0367 36.9128 98.8048 36.6078C98.5729 36.3028 96.6361 35.6701 96.3291 35.3651C96.0221 35.0601 95.9208 34.1224 96.7373 33.3599C97.5539 32.5974 98.0405 31.332 97.3252 29.9855C96.61 28.639 96.4565 27.4482 96.3813 27.0167C96.3062 26.5851 96.0743 26.4067 95.4374 26.4586C94.8005 26.5105 94.033 26.7636 93.2426 26.079C92.4522 25.3944 92.3248 24.8363 91.0217 24.8622C89.7185 24.8882 87.8046 25.3944 87.344 23.9732C86.8835 22.5521 86.681 20.6507 88.7223 19.129C90.7636 17.6072 91.1229 17.5067 91.2503 16.3126C91.3777 15.1219 90.8681 14.6903 90.228 13.3957C89.5878 12.1011 89.4637 10.8844 90.2541 10.1738C91.0445 9.46323 90.4338 9.10956 90.3554 8.2984C90.277 7.48725 91.3254 6.62417 91.7598 6.0661C92.1942 5.50802 91.5312 4.06092 91.2993 3.04859C91.0706 2.03303 91.6063 1.73127 91.2732 1.32245C90.94 0.913628 89.5878 0.790333 89.2547 1.06937C88.9216 1.34841 88.6668 1.75399 88.1834 1.62745C87.6968 1.50091 87.2134 1.04341 86.8802 1.04341C86.5471 1.04341 86.2923 1.98111 84.5842 1.47495C84.4829 1.44575 84.3882 1.41655 84.3 1.38734C83.9375 1.83186 83.526 2.26015 83.1471 2.48727C82.1509 3.09077 82.4547 3.3471 80.8053 4.68389C79.1559 6.02067 79.7667 6.96486 80.286 7.91229C80.8053 8.85972 80.2435 10.1089 79.2898 11.2705C78.3361 12.4321 78.8554 13.3373 78.2512 14.0252C77.6437 14.713 75.867 14.6709 75.0863 16.3516C74.3058 18.0323 76.4516 19.9434 76.739 20.9914C77.0264 22.0394 76.4026 22.0848 75.6383 24.4177C74.8708 26.7506 75.2072 26.4164 73.5774 27.3671C71.9476 28.3178 70.9417 29.4599 70.4648 30.8421C69.9847 32.2211 69.4948 33.2431 67.9467 34.9725C66.3985 36.7019 67.1073 41.2509 66.3332 41.3157C65.5591 41.3806 64.3997 43.0451 63.9457 43.11C63.495 43.1749 62.5282 42.5325 61.6235 42.5974C60.7188 42.6623 60.206 43.6227 56.8517 44.9692C53.4974 46.3157 52.9814 47.7888 53.112 48.3014C53.2427 48.8141 53.6934 49.6479 53.2427 51.5688C52.7919 53.4896 53.824 54.132 53.2427 54.7712C52.6613 55.4104 52.5992 56.8218 51.6945 57.2047C50.7931 57.5876 50.019 58.6129 49.516 59.5765C49.0131 60.5402 48.5329 61.3059 48.4056 62.3961C48.2749 63.4863 50.2117 66.1761 49.2449 66.8185C48.2782 67.461 46.9881 68.4214 46.472 68.9957C45.956 69.5732 46.7954 71.494 46.0866 72.1981C45.3779 72.9022 44.7312 73.4797 44.0878 75.0177C43.4443 76.5557 40.9262 77.5161 39.7014 78.1585C38.4766 78.8009 35.8311 79.4401 32.9928 78.736C30.1546 78.032 29.6385 77.5842 29.5112 74.5083C29.3838 71.4324 29.0604 67.5875 28.8024 66.8185C28.5444 66.0495 27.447 64.6414 24.0927 63.9989C20.7384 63.3565 14.4185 66.4324 10.9336 67.3312C7.45189 68.2267 5.19175 64.8977 4.41768 64.093C4.10414 63.7653 3.65995 63.7069 3.24189 63.7491C2.94467 64.557 1.78847 66.9256 1.38674 67.568C0.949084 68.2689 0.681263 69.1027 1.22017 70.1702C1.75908 71.2377 4.64631 74.0768 6.02461 74.3753C7.4029 74.677 15.6694 74.5764 18.7591 75.9781C21.8489 77.3798 23.1618 77.581 24.1351 79.0508C25.1084 80.5206 27.2608 82.2565 28.4039 83.1909C29.5471 84.1254 32.4376 87.198 33.277 89.4336C33.6689 90.4751 34.2568 91.7957 34.812 93.3044C35.7331 93.1909 36.9644 93.0611 38.0096 93.0351C39.9725 92.9832 41.3181 92.1623 42.249 91.7503C43.1798 91.3382 43.5162 92.1104 45.0611 92.6198C46.6059 93.1292 46.57 93.3401 47.0207 93.4894C47.4715 93.6386 47.2428 94.0215 47.478 94.2324C47.7131 94.4433 48.3762 94.5374 48.4676 94.7937C48.5623 95.05 48.8693 96.0818 49.2449 95.8969C49.6238 95.7087 49.2449 94.5828 49.0555 93.9274C48.8661 93.272 49.3135 91.3479 49.8328 91.1597C50.3522 90.9715 51.8611 88.3694 52.24 88.2525C52.6188 88.1357 53.1839 87.808 53.6085 87.0553C54.0331 86.3025 57.6225 81.7081 60.6926 82.1754C63.7628 82.6426 63.0998 83.5349 63.9032 83.5349C64.7067 83.5349 66.4051 82.1072 67.3032 82.1397C68.2014 82.1721 68.0544 82.6588 68.8122 82.4901C69.5699 82.3214 71.1213 80.8126 71.5361 79.8846C71.9509 78.9599 72.3298 79.4726 72.6041 78.9242C72.8785 78.3759 72.5682 77.7594 73.2247 77.6556C73.8812 77.5518 74.7434 78.1001 76.3634 77.5874C77.9834 77.0748 78.9501 77.2792 79.3649 76.5946C79.7797 75.91 79.5707 75.4655 80.0541 75.0534C80.5375 74.6413 80.5701 74.1611 80.6747 73.6485C80.7792 73.1358 81.1907 71.971 83.1928 71.3545C85.1949 70.738 86.3315 70.7023 86.8476 71.1144C87.3636 71.5265 87.3996 72.4512 88.0201 72.0748C88.6407 71.6984 88.399 71.0463 89.1926 70.8419C89.9863 70.6375 90.1594 70.7737 90.8485 70.3617C91.5377 69.9496 92.6416 69.4694 93.0564 68.3759C93.4712 67.2825 93.9187 67.3474 94.0918 66.1144C94.2649 64.8815 95.0226 64.8458 96.0221 65.0178C97.0215 65.1897 97.6421 64.6057 98.4716 64.6057C98.906 64.6057 99.4547 64.7841 99.9675 64.9561L99.9642 64.9691Z' fill='%23F0F0F0' stroke='black' stroke-width='1.83831' stroke-miterlimit='10'/%3E%3C/svg%3E"); }
    .map-module__district-btn-shape--neihu::before {
      -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='89' height='79' viewBox='0 0 89 79' fill='none'%3E%3Cpath d='M87.4995 35.8552C87.5815 34.4842 85.5779 34.3831 85.255 31.8992C85.0552 30.3562 84.8143 29.4457 84.3736 28.6565C83.9329 27.8673 83.9329 26.719 84.2916 25.5706C84.6503 24.4223 84.9732 23.9113 83.2514 23.5521C81.5296 23.1929 80.6482 23.1575 80.2485 22.5657C79.8488 21.9738 79.1672 20.8254 77.4044 19.6417C75.6417 18.4528 74.8423 18.0582 74.1607 16.9504C73.4792 15.8425 73.1973 14.4614 71.5985 14.2236C69.9946 13.9859 68.8723 13.8695 65.7106 12.4834C62.5437 11.0973 59.2231 9.79212 57.5782 9.438C55.9384 9.08389 52.9304 8.68424 52.2488 7.73824C51.5673 6.78718 49.7276 2.27977 50.2862 1.57153C50.3169 1.53106 50.3476 1.50071 50.3835 1.4653C49.579 1.19718 48.7181 0.918945 48.0366 0.918945C46.7401 0.918945 45.7664 1.82953 44.1933 1.56141C42.6252 1.29329 41.4312 1.34894 41.1647 3.2713C40.8983 5.19365 40.1911 5.08741 39.5403 6.7973C38.8895 8.50718 37.1575 9.25588 36.0762 9.8933C34.995 10.5307 34.7234 10.3182 33.4782 10.642C32.2329 10.9607 32.6121 11.9775 31.6385 12.5644C30.6649 13.1512 30.6085 11.7094 29.7988 11.0669C28.9892 10.4245 27.2008 10.4801 24.0646 11.4413C20.9285 12.4025 20.2777 14.2186 20.1137 15.0179C19.9498 15.8172 19.8985 16.5659 19.1401 17.2084C18.3817 17.8508 18.7097 18.5439 18.0589 19.6113C17.4081 20.6787 15.8964 20.36 13.3495 21.1593C10.8078 21.9586 9.45501 21.1037 8.425 21.2655C7.395 21.4274 7.88182 22.3886 7.45137 23.2435C7.02092 24.0985 6.42137 23.2992 5.77569 24.7409C5.1249 26.1827 2.69081 28.5351 1.50195 28.8032C1.50195 28.8032 4.24862 32.9514 6.01141 33.0981C6.37524 33.1285 6.5956 33.2195 6.73908 33.3713C7.70759 34.3881 6.9133 36.093 7.86132 37.0238C8.69659 37.8433 9.96232 36.867 11.1153 37.646C12.1914 38.3745 11.761 39.6898 12.3093 41.2378C13.7288 45.2646 19.9703 45.8818 19.7038 47.5714C19.919 48.1228 20.3085 49.1093 20.8619 50.3234C22.7374 54.4514 23.9314 55.6554 23.6035 57.6739C23.4958 58.3518 23.255 59.0802 22.8348 60.0819C22.3685 61.1948 21.9432 61.7715 21.6869 62.6315C21.6869 62.6315 21.4922 63.3499 21.4461 64.1543C21.3077 66.5724 23.8187 68.3328 25.0178 71.4339C26.3194 74.8031 25.1459 77.3578 26.4321 77.8586C27.0778 78.1116 27.4775 77.5146 29.7374 77.0796C31.2234 76.7963 32.2227 76.604 32.6326 77.0593C32.6326 77.0593 34.8002 76.6597 37.6033 75.8806C40.4063 75.1016 42.0718 73.8925 43.9114 72.5064C45.7511 71.1253 45.664 69.3598 47.0629 67.3464C48.4619 65.333 50.0402 65.591 51.0036 66.107C51.967 66.628 50.8293 68.5301 50.3886 69.8252C49.948 71.1203 50.65 72.4507 52.3154 71.3985C53.9809 70.3463 56.0818 69.9972 59.4998 69.9972C62.9178 69.9972 66.5049 69.0461 68.1703 66.365C69.8357 63.6838 70.4609 62.2572 72.3723 62.3887C74.2888 62.5203 73.0026 62.5759 74.1556 63.3752C73.556 62.8997 75.3547 61.554 75.2778 60.7648C75.1958 59.9757 75.8774 59.0246 76.5179 58.6705C77.1585 58.3164 79.362 57.7194 79.28 56.1006C79.198 54.4818 78.2397 52.2255 79.1211 51.315C80.0025 50.4044 81.3656 51.1177 81.8832 50.3285C82.4058 49.5393 81.7243 47.6372 82.2829 46.4534C82.8414 45.2646 82.4007 43.3675 83.7638 42.2597C85.1269 41.1518 86.1262 41.4705 86.49 40.7572C86.8897 39.9731 86.3465 39.5228 86.6488 38.0305C86.9204 36.695 87.438 36.7253 87.4892 35.8552H87.4995Z' fill='%23CEE6FF' stroke='black' stroke-width='1.83831' stroke-miterlimit='10'/%3E%3C/svg%3E");
      mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='89' height='79' viewBox='0 0 89 79' fill='none'%3E%3Cpath d='M87.4995 35.8552C87.5815 34.4842 85.5779 34.3831 85.255 31.8992C85.0552 30.3562 84.8143 29.4457 84.3736 28.6565C83.9329 27.8673 83.9329 26.719 84.2916 25.5706C84.6503 24.4223 84.9732 23.9113 83.2514 23.5521C81.5296 23.1929 80.6482 23.1575 80.2485 22.5657C79.8488 21.9738 79.1672 20.8254 77.4044 19.6417C75.6417 18.4528 74.8423 18.0582 74.1607 16.9504C73.4792 15.8425 73.1973 14.4614 71.5985 14.2236C69.9946 13.9859 68.8723 13.8695 65.7106 12.4834C62.5437 11.0973 59.2231 9.79212 57.5782 9.438C55.9384 9.08389 52.9304 8.68424 52.2488 7.73824C51.5673 6.78718 49.7276 2.27977 50.2862 1.57153C50.3169 1.53106 50.3476 1.50071 50.3835 1.4653C49.579 1.19718 48.7181 0.918945 48.0366 0.918945C46.7401 0.918945 45.7664 1.82953 44.1933 1.56141C42.6252 1.29329 41.4312 1.34894 41.1647 3.2713C40.8983 5.19365 40.1911 5.08741 39.5403 6.7973C38.8895 8.50718 37.1575 9.25588 36.0762 9.8933C34.995 10.5307 34.7234 10.3182 33.4782 10.642C32.2329 10.9607 32.6121 11.9775 31.6385 12.5644C30.6649 13.1512 30.6085 11.7094 29.7988 11.0669C28.9892 10.4245 27.2008 10.4801 24.0646 11.4413C20.9285 12.4025 20.2777 14.2186 20.1137 15.0179C19.9498 15.8172 19.8985 16.5659 19.1401 17.2084C18.3817 17.8508 18.7097 18.5439 18.0589 19.6113C17.4081 20.6787 15.8964 20.36 13.3495 21.1593C10.8078 21.9586 9.45501 21.1037 8.425 21.2655C7.395 21.4274 7.88182 22.3886 7.45137 23.2435C7.02092 24.0985 6.42137 23.2992 5.77569 24.7409C5.1249 26.1827 2.69081 28.5351 1.50195 28.8032C1.50195 28.8032 4.24862 32.9514 6.01141 33.0981C6.37524 33.1285 6.5956 33.2195 6.73908 33.3713C7.70759 34.3881 6.9133 36.093 7.86132 37.0238C8.69659 37.8433 9.96232 36.867 11.1153 37.646C12.1914 38.3745 11.761 39.6898 12.3093 41.2378C13.7288 45.2646 19.9703 45.8818 19.7038 47.5714C19.919 48.1228 20.3085 49.1093 20.8619 50.3234C22.7374 54.4514 23.9314 55.6554 23.6035 57.6739C23.4958 58.3518 23.255 59.0802 22.8348 60.0819C22.3685 61.1948 21.9432 61.7715 21.6869 62.6315C21.6869 62.6315 21.4922 63.3499 21.4461 64.1543C21.3077 66.5724 23.8187 68.3328 25.0178 71.4339C26.3194 74.8031 25.1459 77.3578 26.4321 77.8586C27.0778 78.1116 27.4775 77.5146 29.7374 77.0796C31.2234 76.7963 32.2227 76.604 32.6326 77.0593C32.6326 77.0593 34.8002 76.6597 37.6033 75.8806C40.4063 75.1016 42.0718 73.8925 43.9114 72.5064C45.7511 71.1253 45.664 69.3598 47.0629 67.3464C48.4619 65.333 50.0402 65.591 51.0036 66.107C51.967 66.628 50.8293 68.5301 50.3886 69.8252C49.948 71.1203 50.65 72.4507 52.3154 71.3985C53.9809 70.3463 56.0818 69.9972 59.4998 69.9972C62.9178 69.9972 66.5049 69.0461 68.1703 66.365C69.8357 63.6838 70.4609 62.2572 72.3723 62.3887C74.2888 62.5203 73.0026 62.5759 74.1556 63.3752C73.556 62.8997 75.3547 61.554 75.2778 60.7648C75.1958 59.9757 75.8774 59.0246 76.5179 58.6705C77.1585 58.3164 79.362 57.7194 79.28 56.1006C79.198 54.4818 78.2397 52.2255 79.1211 51.315C80.0025 50.4044 81.3656 51.1177 81.8832 50.3285C82.4058 49.5393 81.7243 47.6372 82.2829 46.4534C82.8414 45.2646 82.4007 43.3675 83.7638 42.2597C85.1269 41.1518 86.1262 41.4705 86.49 40.7572C86.8897 39.9731 86.3465 39.5228 86.6488 38.0305C86.9204 36.695 87.438 36.7253 87.4892 35.8552H87.4995Z' fill='%23CEE6FF' stroke='black' stroke-width='1.83831' stroke-miterlimit='10'/%3E%3C/svg%3E"); }
    .map-module__district-btn-shape--nangang::before {
      -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='112' height='75' viewBox='0 0 112 75' fill='none'%3E%3Cpath d='M107.975 49.5735C104.805 49.6192 102.794 52.7423 98.6018 53.0107C94.4093 53.279 89.6741 52.7423 88.5546 52.16C87.4351 51.5776 87.3494 50.9552 86.7668 50.4185C86.1842 49.8818 84.265 49.9275 83.8195 49.4822C83.374 49.0368 80.4266 47.1641 79.0844 46.4047C77.7421 45.6454 73.6809 42.1626 69.5741 42.1226C65.4673 42.0769 67.3865 41.1406 66.6725 40.5582C65.9585 39.9758 61.3148 40.1985 59.7954 38.9538C58.2761 37.7091 58.5902 36.0991 57.5164 35.785C56.4425 35.471 52.113 31.2345 50.4165 26.1017C48.7201 20.9688 48.5887 20.7005 51.3076 18.6507C54.0321 16.5953 55.1002 17.0863 54.7461 15.1223C54.3863 13.1582 54.7004 12.0848 56.0427 12.3531C57.385 12.6215 58.0533 14.8539 58.6759 13.2438C59.2985 11.6394 56.3112 9.36134 56.2198 8.69333C56.1284 8.02531 56.5796 7.61993 55.283 6.4609C53.9864 5.30187 49.7482 2.57843 49.0742 2.04173C47.7891 1.13963 49.2228 1.07682 47.0865 0.92837C44.9503 0.779922 44.2534 2.39002 42.4028 5.41607C40.5464 8.44211 36.5424 9.5155 32.7383 9.5155C28.9342 9.5155 26.5867 9.90374 24.7303 11.097C22.874 12.2846 22.0914 10.7887 22.5826 9.32138C23.0739 7.85403 24.3419 5.71296 23.2681 5.12487C22.1942 4.53679 20.435 4.24561 18.8756 6.52372C17.3163 8.79611 17.4134 10.7887 15.3629 12.3474C13.3123 13.9061 11.4559 15.2764 8.33156 16.1557C5.20718 17.0349 2.79105 17.486 2.79105 17.486C3.81919 18.2168 3.79634 20.3579 2.99097 22.7445C2.99097 22.7445 2.44263 23.8236 2.99097 24.3888C3.53931 24.9541 4.39038 25.8961 4.29328 27.4092C4.19617 28.9165 4.57886 30.5208 6.55517 31.3716C8.53718 32.2223 9.29116 31.7484 11.0847 33.4441C12.8782 35.1399 12.5012 37.3095 13.5408 38.0631C14.5803 38.8168 14.8602 39.1023 15.1458 41.2719C15.4314 43.4415 16.3739 45.0459 17.4077 46.2734C18.4473 47.501 18.5387 48.1576 16.3682 49.3851C14.1976 50.6127 12.604 52.4055 10.4278 57.4013C8.25159 62.4028 9.19405 63.4363 7.68612 64.1899C6.17819 64.9436 4.17903 66.645 3.57358 67.5871C2.96812 68.5292 1.1746 70.5104 0.986105 70.8872C0.986105 70.8872 0.26641 73.9189 3.57358 73.9189C6.88074 73.9189 7.13778 73.919 10.1251 73.1425C13.1124 72.366 12.2042 73.0968 15.7056 72.4059C19.2127 71.7151 18.1731 70.9728 21.1604 70.8872C23.6279 70.8187 22.9082 71.3097 25.4443 71.9663C27.0208 69.7681 31.7673 70.4418 32.2414 69.5683C32.7783 68.5863 32.7783 64.7495 34.6975 64.1671C36.6167 63.5847 38.6272 64.2984 39.1642 63.6761C39.7011 63.0537 40.1466 61.889 41.129 62.1573C42.1115 62.4257 44.1221 64.4754 46.5325 63.9444C48.9429 63.4077 49.5255 64.3441 50.7307 64.8808C51.9359 65.4175 54.7918 65.1034 55.3744 65.3261C55.957 65.5488 57.0709 66.7992 58.99 66.2625C60.9092 65.7258 61.7603 64.5211 64.125 63.539C66.4897 62.557 66.8038 60.4159 66.9809 58.8972C67.158 57.3784 67.9634 55.9511 69.7055 55.4144C71.4476 54.8777 72.967 58.0008 74.3035 57.9608C75.6401 57.9152 78.7245 57.8295 81.0435 57.3784C83.3625 56.9331 85.3731 57.9608 86.4926 59.2969C87.6064 60.6329 87.9206 61.1696 89.8398 59.0285C91.759 56.8874 96.1799 56.6648 97.6993 56.9731C99.2187 57.2871 101.452 58.9372 105.827 58.4005C110.203 57.8638 110.917 56.3907 110.917 55.2317C110.917 54.0726 111.139 49.5164 107.969 49.5621L107.975 49.5735Z' fill='%23CEE6FF' stroke='black' stroke-width='1.83831' stroke-miterlimit='10'/%3E%3C/svg%3E");
      mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='112' height='75' viewBox='0 0 112 75' fill='none'%3E%3Cpath d='M107.975 49.5735C104.805 49.6192 102.794 52.7423 98.6018 53.0107C94.4093 53.279 89.6741 52.7423 88.5546 52.16C87.4351 51.5776 87.3494 50.9552 86.7668 50.4185C86.1842 49.8818 84.265 49.9275 83.8195 49.4822C83.374 49.0368 80.4266 47.1641 79.0844 46.4047C77.7421 45.6454 73.6809 42.1626 69.5741 42.1226C65.4673 42.0769 67.3865 41.1406 66.6725 40.5582C65.9585 39.9758 61.3148 40.1985 59.7954 38.9538C58.2761 37.7091 58.5902 36.0991 57.5164 35.785C56.4425 35.471 52.113 31.2345 50.4165 26.1017C48.7201 20.9688 48.5887 20.7005 51.3076 18.6507C54.0321 16.5953 55.1002 17.0863 54.7461 15.1223C54.3863 13.1582 54.7004 12.0848 56.0427 12.3531C57.385 12.6215 58.0533 14.8539 58.6759 13.2438C59.2985 11.6394 56.3112 9.36134 56.2198 8.69333C56.1284 8.02531 56.5796 7.61993 55.283 6.4609C53.9864 5.30187 49.7482 2.57843 49.0742 2.04173C47.7891 1.13963 49.2228 1.07682 47.0865 0.92837C44.9503 0.779922 44.2534 2.39002 42.4028 5.41607C40.5464 8.44211 36.5424 9.5155 32.7383 9.5155C28.9342 9.5155 26.5867 9.90374 24.7303 11.097C22.874 12.2846 22.0914 10.7887 22.5826 9.32138C23.0739 7.85403 24.3419 5.71296 23.2681 5.12487C22.1942 4.53679 20.435 4.24561 18.8756 6.52372C17.3163 8.79611 17.4134 10.7887 15.3629 12.3474C13.3123 13.9061 11.4559 15.2764 8.33156 16.1557C5.20718 17.0349 2.79105 17.486 2.79105 17.486C3.81919 18.2168 3.79634 20.3579 2.99097 22.7445C2.99097 22.7445 2.44263 23.8236 2.99097 24.3888C3.53931 24.9541 4.39038 25.8961 4.29328 27.4092C4.19617 28.9165 4.57886 30.5208 6.55517 31.3716C8.53718 32.2223 9.29116 31.7484 11.0847 33.4441C12.8782 35.1399 12.5012 37.3095 13.5408 38.0631C14.5803 38.8168 14.8602 39.1023 15.1458 41.2719C15.4314 43.4415 16.3739 45.0459 17.4077 46.2734C18.4473 47.501 18.5387 48.1576 16.3682 49.3851C14.1976 50.6127 12.604 52.4055 10.4278 57.4013C8.25159 62.4028 9.19405 63.4363 7.68612 64.1899C6.17819 64.9436 4.17903 66.645 3.57358 67.5871C2.96812 68.5292 1.1746 70.5104 0.986105 70.8872C0.986105 70.8872 0.26641 73.9189 3.57358 73.9189C6.88074 73.9189 7.13778 73.919 10.1251 73.1425C13.1124 72.366 12.2042 73.0968 15.7056 72.4059C19.2127 71.7151 18.1731 70.9728 21.1604 70.8872C23.6279 70.8187 22.9082 71.3097 25.4443 71.9663C27.0208 69.7681 31.7673 70.4418 32.2414 69.5683C32.7783 68.5863 32.7783 64.7495 34.6975 64.1671C36.6167 63.5847 38.6272 64.2984 39.1642 63.6761C39.7011 63.0537 40.1466 61.889 41.129 62.1573C42.1115 62.4257 44.1221 64.4754 46.5325 63.9444C48.9429 63.4077 49.5255 64.3441 50.7307 64.8808C51.9359 65.4175 54.7918 65.1034 55.3744 65.3261C55.957 65.5488 57.0709 66.7992 58.99 66.2625C60.9092 65.7258 61.7603 64.5211 64.125 63.539C66.4897 62.557 66.8038 60.4159 66.9809 58.8972C67.158 57.3784 67.9634 55.9511 69.7055 55.4144C71.4476 54.8777 72.967 58.0008 74.3035 57.9608C75.6401 57.9152 78.7245 57.8295 81.0435 57.3784C83.3625 56.9331 85.3731 57.9608 86.4926 59.2969C87.6064 60.6329 87.9206 61.1696 89.8398 59.0285C91.759 56.8874 96.1799 56.6648 97.6993 56.9731C99.2187 57.2871 101.452 58.9372 105.827 58.4005C110.203 57.8638 110.917 56.3907 110.917 55.2317C110.917 54.0726 111.139 49.5164 107.969 49.5621L107.975 49.5735Z' fill='%23CEE6FF' stroke='black' stroke-width='1.83831' stroke-miterlimit='10'/%3E%3C/svg%3E"); }
    .map-module__district-btn-shape--songshan::before {
      -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='86' height='75' viewBox='0 0 86 75' fill='none'%3E%3Cpath d='M83.6646 55.6533C82.6363 54.9286 81.1117 55.197 78.5679 55.6891C74.5807 56.4586 73.877 57.5143 72.7494 57.067C70.4762 56.1812 72.542 51.6629 70.2597 45.7041C68.1488 40.2105 63.7286 37.0969 63.9722 32.8291C64.0534 31.4065 64.3962 30.136 64.3962 30.136C64.8472 28.615 65.6049 27.595 66.4168 25.6266C67.1024 23.9624 67.6076 22.3609 67.77 21.3678C68.3383 17.8068 66.2454 15.6773 62.9438 8.3675C61.9696 6.22018 61.284 4.47548 60.9051 3.50023C60.851 3.84023 59.8948 4.5381 57.9733 5.92491C55.0416 8.03644 53.5802 9.09222 52.4526 9.6201C52.2 9.73641 48.7811 11.2843 44.8932 10.9801C36.6301 10.3448 31.2086 1.78237 29.5758 3.01708C29.3593 3.17813 29.2421 3.49128 29.2421 3.97443C29.2421 8.64486 27.8258 11.9106 18.8862 14.711C11.0922 17.1536 2.58556 14.6305 1.14223 17.0284C0.7814 17.6278 0.961817 18.2899 0.98888 18.451C1.43992 20.643 5.02118 21.0456 9.58571 22.7009C9.58571 22.7009 15.7199 24.9198 21.9172 30.0823C25.1466 32.7664 25.4172 33.8401 25.3902 34.5738C25.2819 37.2669 20.997 38.1884 17.939 40.4073C10.8757 45.543 11.8229 69.3604 11.8229 70.7561C22.1337 74.4603 29.9457 74.2098 35.0244 73.3866C46.111 71.5882 50.4139 66.0768 62.2492 63.6253C71.27 61.7553 79.082 62.829 83.9894 63.8937C85.2613 60.1538 85.2974 56.7986 83.6737 55.6533H83.6646Z' fill='%23CEE6FF' stroke='black' stroke-width='1.83831' stroke-miterlimit='10'/%3E%3C/svg%3E");
      mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='86' height='75' viewBox='0 0 86 75' fill='none'%3E%3Cpath d='M83.6646 55.6533C82.6363 54.9286 81.1117 55.197 78.5679 55.6891C74.5807 56.4586 73.877 57.5143 72.7494 57.067C70.4762 56.1812 72.542 51.6629 70.2597 45.7041C68.1488 40.2105 63.7286 37.0969 63.9722 32.8291C64.0534 31.4065 64.3962 30.136 64.3962 30.136C64.8472 28.615 65.6049 27.595 66.4168 25.6266C67.1024 23.9624 67.6076 22.3609 67.77 21.3678C68.3383 17.8068 66.2454 15.6773 62.9438 8.3675C61.9696 6.22018 61.284 4.47548 60.9051 3.50023C60.851 3.84023 59.8948 4.5381 57.9733 5.92491C55.0416 8.03644 53.5802 9.09222 52.4526 9.6201C52.2 9.73641 48.7811 11.2843 44.8932 10.9801C36.6301 10.3448 31.2086 1.78237 29.5758 3.01708C29.3593 3.17813 29.2421 3.49128 29.2421 3.97443C29.2421 8.64486 27.8258 11.9106 18.8862 14.711C11.0922 17.1536 2.58556 14.6305 1.14223 17.0284C0.7814 17.6278 0.961817 18.2899 0.98888 18.451C1.43992 20.643 5.02118 21.0456 9.58571 22.7009C9.58571 22.7009 15.7199 24.9198 21.9172 30.0823C25.1466 32.7664 25.4172 33.8401 25.3902 34.5738C25.2819 37.2669 20.997 38.1884 17.939 40.4073C10.8757 45.543 11.8229 69.3604 11.8229 70.7561C22.1337 74.4603 29.9457 74.2098 35.0244 73.3866C46.111 71.5882 50.4139 66.0768 62.2492 63.6253C71.27 61.7553 79.082 62.829 83.9894 63.8937C85.2613 60.1538 85.2974 56.7986 83.6737 55.6533H83.6646Z' fill='%23CEE6FF' stroke='black' stroke-width='1.83831' stroke-miterlimit='10'/%3E%3C/svg%3E"); }
    .map-module__district-btn-shape--daan::before {
      -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='83' height='80' viewBox='0 0 83 80' fill='none'%3E%3Cpath d='M74.3146 65.0859C71.1609 61.6209 67.7175 57.3147 64.4231 53.9913C61.1287 50.6596 53.555 44.1712 54.9042 43.5964C56.2534 43.0217 60.4086 41.1476 63.1319 35.8086C65.8551 30.4695 64.8536 17.4842 64.8536 12.7282C64.8536 8.99666 64.5059 4.21567 64.3486 2.3166C63.1401 2.88299 62.0144 3.36609 61.0211 3.70759C54.4903 5.97315 39.7318 1.25879 39.7318 1.25879C39.7318 2.42489 30.8005 5.30681 20.6028 2.53316C20.8097 3.92415 20.7187 5.61498 19.684 7.13091C14.0968 15.3019 6.83752 17.0178 2.69056 25.2721C-0.21479 31.0609 1.25858 37.2495 1.56484 38.4239C3.66729 46.5283 10.2892 48.2525 18.8231 57.9311C21.803 61.3128 25.5361 66.252 28.905 73.1653C28.905 73.1653 29.1616 77.0967 34.0369 77.2966C38.9123 77.4965 39.4834 78.3627 42.3557 78.2212C45.2196 78.0796 47.3718 74.7562 50.244 74.3231C53.108 73.8899 53.5384 76.522 56.9818 75.5641C60.4252 74.6062 61.286 68.984 64.7211 68.984C68.1562 68.984 70.4573 74.0315 73.8924 76.3388C77.3358 78.646 80.9199 78.2295 80.9199 78.2295C80.9199 78.2295 78.0559 73.74 76.7647 71.8659C75.4734 69.9918 77.4848 68.5509 74.3311 65.0859H74.3146Z' fill='%23CEE6FF' stroke='black' stroke-width='1.83831' stroke-miterlimit='10'/%3E%3C/svg%3E");
      mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='83' height='80' viewBox='0 0 83 80' fill='none'%3E%3Cpath d='M74.3146 65.0859C71.1609 61.6209 67.7175 57.3147 64.4231 53.9913C61.1287 50.6596 53.555 44.1712 54.9042 43.5964C56.2534 43.0217 60.4086 41.1476 63.1319 35.8086C65.8551 30.4695 64.8536 17.4842 64.8536 12.7282C64.8536 8.99666 64.5059 4.21567 64.3486 2.3166C63.1401 2.88299 62.0144 3.36609 61.0211 3.70759C54.4903 5.97315 39.7318 1.25879 39.7318 1.25879C39.7318 2.42489 30.8005 5.30681 20.6028 2.53316C20.8097 3.92415 20.7187 5.61498 19.684 7.13091C14.0968 15.3019 6.83752 17.0178 2.69056 25.2721C-0.21479 31.0609 1.25858 37.2495 1.56484 38.4239C3.66729 46.5283 10.2892 48.2525 18.8231 57.9311C21.803 61.3128 25.5361 66.252 28.905 73.1653C28.905 73.1653 29.1616 77.0967 34.0369 77.2966C38.9123 77.4965 39.4834 78.3627 42.3557 78.2212C45.2196 78.0796 47.3718 74.7562 50.244 74.3231C53.108 73.8899 53.5384 76.522 56.9818 75.5641C60.4252 74.6062 61.286 68.984 64.7211 68.984C68.1562 68.984 70.4573 74.0315 73.8924 76.3388C77.3358 78.646 80.9199 78.2295 80.9199 78.2295C80.9199 78.2295 78.0559 73.74 76.7647 71.8659C75.4734 69.9918 77.4848 68.5509 74.3311 65.0859H74.3146Z' fill='%23CEE6FF' stroke='black' stroke-width='1.83831' stroke-miterlimit='10'/%3E%3C/svg%3E"); }
    .map-module__district-btn-shape--xinyi::before {
      -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='70' height='81' viewBox='0 0 70 81' fill='none'%3E%3Cpath d='M64.9099 27.2879C64.5251 24.3312 64.148 23.9421 62.7472 22.9151C61.3465 21.888 61.8544 18.9314 59.4377 16.6205C57.0211 14.3096 56.0051 14.9476 53.3345 13.7961C50.6638 12.6368 50.1559 10.4504 50.2867 8.39627C50.4175 6.34216 49.2708 5.05058 48.5319 4.28029C47.793 3.51 48.5319 2.03944 48.5319 2.03944C44.345 1.11353 37.6799 0.17983 29.9835 1.806C21.0864 3.68115 17.1689 7.62598 9.89581 9.61006C10.0497 11.6564 10.3191 15.5857 10.3191 18.7213C10.3191 23.1719 11.2504 35.2942 8.71825 40.2817C6.18613 45.2691 2.32252 47.0198 1.068 47.5566C-0.186521 48.0935 6.85571 54.1625 9.91889 57.267C12.9821 60.3792 16.1838 64.4019 19.1161 67.6309C22.0485 70.8677 20.1859 72.2137 21.3789 73.9644C22.5795 75.7151 25.2425 79.9089 25.2425 79.9089C28.6751 80.2668 35.0324 70.9844 35.6635 70.0818C36.3023 69.1792 38.5881 69.436 39.604 69.436C40.62 69.436 41.8899 68.409 42.5287 67.6387C43.1675 66.8684 45.8382 67.6387 45.8382 67.6387C46.0921 67.1251 48.5088 64.4252 49.3246 63.1414C50.1405 61.8576 52.8342 59.5389 54.8661 58.5119C56.8979 57.4848 55.628 56.0687 58.5604 49.2606C61.4927 42.4447 63.64 40.0093 66.5646 38.3365C69.4893 36.6636 69.3585 35.7688 67.9654 34.096C66.5647 32.4231 65.2947 30.2368 64.9176 27.2801L64.9099 27.2879Z' fill='%23CEE6FF' stroke='black' stroke-width='1.83831' stroke-miterlimit='10'/%3E%3C/svg%3E");
      mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='70' height='81' viewBox='0 0 70 81' fill='none'%3E%3Cpath d='M64.9099 27.2879C64.5251 24.3312 64.148 23.9421 62.7472 22.9151C61.3465 21.888 61.8544 18.9314 59.4377 16.6205C57.0211 14.3096 56.0051 14.9476 53.3345 13.7961C50.6638 12.6368 50.1559 10.4504 50.2867 8.39627C50.4175 6.34216 49.2708 5.05058 48.5319 4.28029C47.793 3.51 48.5319 2.03944 48.5319 2.03944C44.345 1.11353 37.6799 0.17983 29.9835 1.806C21.0864 3.68115 17.1689 7.62598 9.89581 9.61006C10.0497 11.6564 10.3191 15.5857 10.3191 18.7213C10.3191 23.1719 11.2504 35.2942 8.71825 40.2817C6.18613 45.2691 2.32252 47.0198 1.068 47.5566C-0.186521 48.0935 6.85571 54.1625 9.91889 57.267C12.9821 60.3792 16.1838 64.4019 19.1161 67.6309C22.0485 70.8677 20.1859 72.2137 21.3789 73.9644C22.5795 75.7151 25.2425 79.9089 25.2425 79.9089C28.6751 80.2668 35.0324 70.9844 35.6635 70.0818C36.3023 69.1792 38.5881 69.436 39.604 69.436C40.62 69.436 41.8899 68.409 42.5287 67.6387C43.1675 66.8684 45.8382 67.6387 45.8382 67.6387C46.0921 67.1251 48.5088 64.4252 49.3246 63.1414C50.1405 61.8576 52.8342 59.5389 54.8661 58.5119C56.8979 57.4848 55.628 56.0687 58.5604 49.2606C61.4927 42.4447 63.64 40.0093 66.5646 38.3365C69.4893 36.6636 69.3585 35.7688 67.9654 34.096C66.5647 32.4231 65.2947 30.2368 64.9176 27.2801L64.9099 27.2879Z' fill='%23CEE6FF' stroke='black' stroke-width='1.83831' stroke-miterlimit='10'/%3E%3C/svg%3E"); }
    .map-module__district-btn-shape--zhongshan::before {
      -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='74' height='75' viewBox='0 0 74 75' fill='none'%3E%3Cpath d='M63.5482 17.0266C62.8839 15.1059 63.404 13.4739 62.0879 12.57C60.6841 11.6033 59.1299 12.8148 58.1084 11.7979C56.949 10.643 57.9204 8.52766 56.7359 7.26599C56.5667 7.08396 56.291 6.96469 55.846 6.92703C53.6902 6.745 50.3311 1.59792 50.3311 1.59792C48.8771 1.9306 49.1591 0.989046 47.4357 0.919999C45.7123 0.85723 42.4534 3.61909 40.9117 3.61909C39.3701 3.61909 40.6423 1.89293 34.7513 0.989056C28.8603 0.0851766 21.9729 8.97958 21.1582 10.4296C20.3434 11.8795 19.253 12.5198 18.5323 12.7457C17.8116 12.9717 14.91 18.0058 13.9135 18.3699C12.917 18.734 12.0585 22.4499 12.422 23.7241C12.7854 24.9983 13.5061 27.1701 12.7854 27.5342C12.0585 27.8983 11.4694 25.9022 11.2939 25.4001C11.1121 24.9042 9.84621 24.7222 9.39499 24.3142C9.22578 24.1635 9.18192 23.9626 9.14431 23.7555C7.95358 26.2098 6.29909 30.0575 4.78248 35.2046C1.99366 44.664 3.54161 44.0426 4.6258 51.3301C4.6258 51.3301 5.18983 54.5125 5.60345 59.7474C5.64105 60.2559 5.7288 61.4422 5.49065 62.955C5.34024 63.8777 5.1585 64.9824 4.44406 66.1813C3.84243 67.1982 3.10919 67.8635 2.60156 68.259C2.60156 68.259 12.3279 68.4724 21.1582 72.0754C29.9884 75.6783 38.4927 73.0608 38.4927 72.0754C38.4927 71.0899 37.8409 54.3869 42.7417 50.784C44.8662 49.2273 47.8368 48.5808 47.9183 46.6914C47.937 46.183 47.749 45.4298 45.5055 43.5404C41.2 39.9186 36.9385 38.3619 36.9385 38.3619C33.7674 37.2007 31.2731 36.9182 30.966 35.3804C30.9409 35.2737 30.8219 34.8092 31.0725 34.3823C32.0753 32.7001 37.9851 34.4702 43.3997 32.7566C49.6166 30.7919 50.5943 28.5009 50.5943 25.2243C50.5943 24.8853 50.6757 24.6719 50.8261 24.5527C51.9605 23.6864 55.7269 29.6935 61.4675 30.1392C64.1686 30.3463 66.5438 29.2666 66.7193 29.185C67.5026 28.8147 68.5241 28.074 70.5547 26.5927C71.8833 25.626 72.5538 25.1364 72.5914 24.8916C72.9173 22.7951 65.2841 22.0356 63.5482 17.0329V17.0266Z' fill='%23CEE6FF' stroke='black' stroke-width='1.83831' stroke-miterlimit='10'/%3E%3C/svg%3E");
      mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='74' height='75' viewBox='0 0 74 75' fill='none'%3E%3Cpath d='M63.5482 17.0266C62.8839 15.1059 63.404 13.4739 62.0879 12.57C60.6841 11.6033 59.1299 12.8148 58.1084 11.7979C56.949 10.643 57.9204 8.52766 56.7359 7.26599C56.5667 7.08396 56.291 6.96469 55.846 6.92703C53.6902 6.745 50.3311 1.59792 50.3311 1.59792C48.8771 1.9306 49.1591 0.989046 47.4357 0.919999C45.7123 0.85723 42.4534 3.61909 40.9117 3.61909C39.3701 3.61909 40.6423 1.89293 34.7513 0.989056C28.8603 0.0851766 21.9729 8.97958 21.1582 10.4296C20.3434 11.8795 19.253 12.5198 18.5323 12.7457C17.8116 12.9717 14.91 18.0058 13.9135 18.3699C12.917 18.734 12.0585 22.4499 12.422 23.7241C12.7854 24.9983 13.5061 27.1701 12.7854 27.5342C12.0585 27.8983 11.4694 25.9022 11.2939 25.4001C11.1121 24.9042 9.84621 24.7222 9.39499 24.3142C9.22578 24.1635 9.18192 23.9626 9.14431 23.7555C7.95358 26.2098 6.29909 30.0575 4.78248 35.2046C1.99366 44.664 3.54161 44.0426 4.6258 51.3301C4.6258 51.3301 5.18983 54.5125 5.60345 59.7474C5.64105 60.2559 5.7288 61.4422 5.49065 62.955C5.34024 63.8777 5.1585 64.9824 4.44406 66.1813C3.84243 67.1982 3.10919 67.8635 2.60156 68.259C2.60156 68.259 12.3279 68.4724 21.1582 72.0754C29.9884 75.6783 38.4927 73.0608 38.4927 72.0754C38.4927 71.0899 37.8409 54.3869 42.7417 50.784C44.8662 49.2273 47.8368 48.5808 47.9183 46.6914C47.937 46.183 47.749 45.4298 45.5055 43.5404C41.2 39.9186 36.9385 38.3619 36.9385 38.3619C33.7674 37.2007 31.2731 36.9182 30.966 35.3804C30.9409 35.2737 30.8219 34.8092 31.0725 34.3823C32.0753 32.7001 37.9851 34.4702 43.3997 32.7566C49.6166 30.7919 50.5943 28.5009 50.5943 25.2243C50.5943 24.8853 50.6757 24.6719 50.8261 24.5527C51.9605 23.6864 55.7269 29.6935 61.4675 30.1392C64.1686 30.3463 66.5438 29.2666 66.7193 29.185C67.5026 28.8147 68.5241 28.074 70.5547 26.5927C71.8833 25.626 72.5538 25.1364 72.5914 24.8916C72.9173 22.7951 65.2841 22.0356 63.5482 17.0329V17.0266Z' fill='%23CEE6FF' stroke='black' stroke-width='1.83831' stroke-miterlimit='10'/%3E%3C/svg%3E"); }
    .map-module__district-btn-shape--datong::before {
      -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='78' viewBox='0 0 40 78' fill='none'%3E%3Cpath d='M32.0908 49.3875C30.348 39.7811 30.0733 40.1038 29.9691 37.7117C29.8365 34.9304 30.3859 31.5795 32.3276 24.9917C34.6198 17.2079 37.1108 11.3889 38.9199 7.67737C38.8347 7.16477 38.7778 6.6237 37.9727 6.34842C36.6656 5.91176 36.7604 5.29472 32.2897 3.8044C27.819 2.31407 26.834 0.0548571 24.1345 1.26041C21.4351 2.46596 17.5422 4.86756 11.8402 5.01944C8.79977 5.09538 5.2384 5.4751 2.56737 5.80734C2.53895 5.7219 2.50106 5.63645 2.47265 5.55102C4.34805 10.6675 6.09086 16.5529 6.64022 22.8369C7.63475 34.4083 6.21399 41.5467 6.64022 42.5434C7.06645 43.5401 9.63329 44.9735 5.78776 47.6884C1.94223 50.4032 4.9353 52.8333 5.07738 54.542C5.21946 56.2601 7.92837 65.4014 0.947697 73.8213C0.947697 73.8213 0.28468 75.8812 5.43731 76.1185C6.80124 76.1849 7.69158 76.3273 8.32619 76.4697C9.38702 76.7165 9.56699 76.8399 10.1353 76.8969C10.9215 76.9823 12.0959 76.8589 13.6493 75.8242C18.783 75.5394 23.9262 75.2642 29.0598 74.9794C29.5619 74.5902 30.2438 74.0016 30.9068 73.1758C31.4751 72.4734 32.3371 71.2203 32.9811 69.1415C33.9946 65.8476 33.7768 62.6201 33.6347 60.845C33.2085 55.4912 32.4697 51.324 32.1097 49.3875H32.0908Z' fill='%23F0F0F0' stroke='black' stroke-width='1.83831' stroke-miterlimit='10'/%3E%3C/svg%3E");
      mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='78' viewBox='0 0 40 78' fill='none'%3E%3Cpath d='M32.0908 49.3875C30.348 39.7811 30.0733 40.1038 29.9691 37.7117C29.8365 34.9304 30.3859 31.5795 32.3276 24.9917C34.6198 17.2079 37.1108 11.3889 38.9199 7.67737C38.8347 7.16477 38.7778 6.6237 37.9727 6.34842C36.6656 5.91176 36.7604 5.29472 32.2897 3.8044C27.819 2.31407 26.834 0.0548571 24.1345 1.26041C21.4351 2.46596 17.5422 4.86756 11.8402 5.01944C8.79977 5.09538 5.2384 5.4751 2.56737 5.80734C2.53895 5.7219 2.50106 5.63645 2.47265 5.55102C4.34805 10.6675 6.09086 16.5529 6.64022 22.8369C7.63475 34.4083 6.21399 41.5467 6.64022 42.5434C7.06645 43.5401 9.63329 44.9735 5.78776 47.6884C1.94223 50.4032 4.9353 52.8333 5.07738 54.542C5.21946 56.2601 7.92837 65.4014 0.947697 73.8213C0.947697 73.8213 0.28468 75.8812 5.43731 76.1185C6.80124 76.1849 7.69158 76.3273 8.32619 76.4697C9.38702 76.7165 9.56699 76.8399 10.1353 76.8969C10.9215 76.9823 12.0959 76.8589 13.6493 75.8242C18.783 75.5394 23.9262 75.2642 29.0598 74.9794C29.5619 74.5902 30.2438 74.0016 30.9068 73.1758C31.4751 72.4734 32.3371 71.2203 32.9811 69.1415C33.9946 65.8476 33.7768 62.6201 33.6347 60.845C33.2085 55.4912 32.4697 51.324 32.1097 49.3875H32.0908Z' fill='%23F0F0F0' stroke='black' stroke-width='1.83831' stroke-miterlimit='10'/%3E%3C/svg%3E"); }
    .map-module__district-btn-shape--zhongzheng::before {
      -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='65' height='85' viewBox='0 0 65 85' fill='none'%3E%3Cpath d='M52.6407 64.1012C43.9267 54.1961 37.1585 52.4316 35.0011 44.1375C34.6881 42.9271 33.1822 36.6022 36.1517 30.6779C40.3903 22.2304 47.8184 20.4744 53.5206 12.1122C54.5781 10.5608 54.6712 8.83035 54.4597 7.40682C53.1906 7.05732 51.9047 6.63112 50.6103 6.10262C38.6898 1.20973 25.5595 0.919922 25.5595 0.919922C22.5053 1.03926 19.4089 1.19268 16.2617 1.38021C14.7557 1.47398 13.2667 1.56775 11.7947 1.67856C11.1517 4.50859 10.0688 8.58315 8.41903 12.8367C5.39872 20.6278 1.82003 22.3327 1.63391 33.3544C1.44778 44.3677 -1.19181 42.2793 5.02647 45.8935C11.2447 49.4992 9.36657 49.8828 12.5645 50.829C15.771 51.7752 16.5916 51.7837 17.4038 56.5317C22.6492 57.0943 28.8505 59.1486 33.4191 65.1667C40.035 73.887 41.1856 78.1235 47.8015 80.1693C51.2786 81.2433 52.8184 82.5049 53.5206 83.9199C55.1534 83.8517 56.0079 83.579 56.5832 83.2039C57.1754 82.8203 57.5054 82.4197 57.7338 82.1469C58.4698 81.2945 59.8912 80.2716 62.9199 79.6834C59.4766 72.6169 55.6526 67.5535 52.6153 64.0927L52.6407 64.1012Z' fill='%23CEE6FF' stroke='black' stroke-width='1.83831' stroke-miterlimit='10'/%3E%3C/svg%3E");
      mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='65' height='85' viewBox='0 0 65 85' fill='none'%3E%3Cpath d='M52.6407 64.1012C43.9267 54.1961 37.1585 52.4316 35.0011 44.1375C34.6881 42.9271 33.1822 36.6022 36.1517 30.6779C40.3903 22.2304 47.8184 20.4744 53.5206 12.1122C54.5781 10.5608 54.6712 8.83035 54.4597 7.40682C53.1906 7.05732 51.9047 6.63112 50.6103 6.10262C38.6898 1.20973 25.5595 0.919922 25.5595 0.919922C22.5053 1.03926 19.4089 1.19268 16.2617 1.38021C14.7557 1.47398 13.2667 1.56775 11.7947 1.67856C11.1517 4.50859 10.0688 8.58315 8.41903 12.8367C5.39872 20.6278 1.82003 22.3327 1.63391 33.3544C1.44778 44.3677 -1.19181 42.2793 5.02647 45.8935C11.2447 49.4992 9.36657 49.8828 12.5645 50.829C15.771 51.7752 16.5916 51.7837 17.4038 56.5317C22.6492 57.0943 28.8505 59.1486 33.4191 65.1667C40.035 73.887 41.1856 78.1235 47.8015 80.1693C51.2786 81.2433 52.8184 82.5049 53.5206 83.9199C55.1534 83.8517 56.0079 83.579 56.5832 83.2039C57.1754 82.8203 57.5054 82.4197 57.7338 82.1469C58.4698 81.2945 59.8912 80.2716 62.9199 79.6834C59.4766 72.6169 55.6526 67.5535 52.6153 64.0927L52.6407 64.1012Z' fill='%23CEE6FF' stroke='black' stroke-width='1.83831' stroke-miterlimit='10'/%3E%3C/svg%3E"); }
    .map-module__district-btn-shape--wanhua::before {
      -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='55' height='83' viewBox='0 0 55 83' fill='none'%3E%3Cpath d='M48.3297 51.9242C45.2882 51.0387 47.0778 50.6796 41.1794 47.3049C35.2811 43.9302 37.7849 45.8848 37.9614 35.5692C38.138 25.2615 41.5405 23.6579 44.3974 16.3659C45.9623 12.3849 46.9895 8.57134 47.5994 5.92262C47.4148 5.99442 47.2142 6.08218 46.9895 6.16994C43.619 7.55015 45.0073 6.36939 40.6417 6.16994C36.2762 5.97049 36.8379 4.23926 36.8379 4.23926C30.9235 11.3238 31.7662 10.9648 28.1469 12.8795C24.5277 14.8022 13.8946 21.8788 9.5531 22.9638C5.2116 24.0488 1.10283 24.5275 0.982455 28.365C0.862081 32.2024 0.621333 35.0905 3.51834 40.6113C6.41535 46.1321 7.13759 52.012 8.83085 63.5403C10.5241 75.0607 13.1804 81.9058 17.5219 81.1878C21.8714 80.4698 29.5994 76.1457 31.405 73.0263C33.2107 69.9068 41.6689 57.5408 46.9815 57.1818C48.6266 57.0701 50.681 57.0302 52.9199 57.2696C52.1495 52.8258 51.3711 52.8258 48.3297 51.9322V51.9242Z' fill='%23CEE6FF' stroke='black' stroke-width='1.83831' stroke-miterlimit='10'/%3E%3C/svg%3E");
      mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='55' height='83' viewBox='0 0 55 83' fill='none'%3E%3Cpath d='M48.3297 51.9242C45.2882 51.0387 47.0778 50.6796 41.1794 47.3049C35.2811 43.9302 37.7849 45.8848 37.9614 35.5692C38.138 25.2615 41.5405 23.6579 44.3974 16.3659C45.9623 12.3849 46.9895 8.57134 47.5994 5.92262C47.4148 5.99442 47.2142 6.08218 46.9895 6.16994C43.619 7.55015 45.0073 6.36939 40.6417 6.16994C36.2762 5.97049 36.8379 4.23926 36.8379 4.23926C30.9235 11.3238 31.7662 10.9648 28.1469 12.8795C24.5277 14.8022 13.8946 21.8788 9.5531 22.9638C5.2116 24.0488 1.10283 24.5275 0.982455 28.365C0.862081 32.2024 0.621333 35.0905 3.51834 40.6113C6.41535 46.1321 7.13759 52.012 8.83085 63.5403C10.5241 75.0607 13.1804 81.9058 17.5219 81.1878C21.8714 80.4698 29.5994 76.1457 31.405 73.0263C33.2107 69.9068 41.6689 57.5408 46.9815 57.1818C48.6266 57.0701 50.681 57.0302 52.9199 57.2696C52.1495 52.8258 51.3711 52.8258 48.3297 51.9322V51.9242Z' fill='%23CEE6FF' stroke='black' stroke-width='1.83831' stroke-miterlimit='10'/%3E%3C/svg%3E"); }
    .map-module__district-btn-shape--wenshan::before {
      -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='134' height='86' viewBox='0 0 134 86' fill='none'%3E%3Cpath d='M131.086 69.7279C127.847 68.0652 124.304 65.3456 121.266 64.6431C118.228 63.9406 113.416 64.8429 112.101 64.1404C110.786 63.438 109.872 62.0782 108.655 61.9235C107.437 61.7753 103.745 61.1179 103.544 58.9525C103.343 56.7872 105.112 55.524 105.112 53.6615C105.112 51.799 104.147 44.7422 105.164 43.6853C106.174 42.6284 107.087 41.971 106.984 40.5145C106.88 39.0516 103.797 37.898 103.389 36.6349C102.981 35.3782 100.96 33.2064 102.475 30.3901C103.991 27.5674 106.122 24.8477 105.008 22.0765C103.894 19.3054 101.562 16.6373 98.8806 16.4375C96.199 16.2377 99.3858 7.26686 100.247 3.49033C100.344 3.07143 100.519 2.72342 100.74 2.42053C97.8637 1.67295 98.6798 1.12517 95.8816 1.20251C92.494 1.29273 93.6729 2.13698 89.6958 2.91677C85.7188 3.69657 86.7487 2.87167 83.3676 3.74813C79.9864 4.6246 79.6885 4.62459 75.9381 4.62459C72.1878 4.62459 73.004 1.20251 73.004 1.20251C73.004 1.20251 70.7564 0.564493 70.2187 1.20251C69.6811 1.84052 68.6124 2.69121 67.7574 2.69121C66.9024 2.69121 64.9722 2.47853 64.441 3.2261C63.9034 3.97367 58.5597 11.6621 55.6708 11.3656C55.6708 11.3656 52.8662 11.6879 50.1716 9.90271C47.4771 8.11756 45.6829 4.21214 42.9948 4.21214C40.3068 4.21214 39.6266 8.56224 36.9386 9.30337C34.244 10.0445 33.9072 8.00799 31.6661 8.34311C29.425 8.67823 27.7409 11.2432 25.4933 11.3592C23.2521 11.4688 22.7987 10.7985 18.9836 10.6438C15.1685 10.4892 14.9677 7.44732 14.9677 7.44732C12.6489 7.892 11.5607 8.6589 10.9972 9.3098C10.8158 9.51603 10.5697 9.81894 10.1163 10.1089C9.67582 10.3925 9.01513 10.5987 7.7715 10.6503C8.25729 11.617 8.22491 12.6803 8.27025 13.8275C8.36741 16.2506 9.24184 22.8435 5.15469 30.9894C1.06107 39.1354 0.769588 42.3319 0.963906 42.7251C1.15822 43.1117 3.78799 42.3384 5.15469 40.2052C6.52139 38.072 10.5697 34.1537 11.9429 31.4148C13.316 28.6822 14.9483 36.1129 14.8641 38.5038C14.7799 40.8948 14.3459 42.3512 17.6105 42.1772C20.875 42.0032 24.3921 41.2363 25.0787 42.261C25.7653 43.2857 24.4764 46.7916 25.3378 47.8163C26.1993 48.841 28.9457 50.2072 31.3487 48.5832C33.7518 46.9591 33.4085 42.8604 34.6133 42.7701C35.818 42.6799 38.6486 43.9688 38.6486 46.3598C38.6486 48.7507 36.8479 52.5982 38.1304 56.2716C39.4129 59.945 41.0516 60.0288 41.2201 61.4015C41.3949 62.7677 43.6231 65.1587 44.4004 68.5808C45.1712 71.9964 45.9485 77.6354 53.4167 78.5763C60.885 79.5173 67.155 80.2842 67.4983 78.5763C67.8416 76.8685 68.5282 74.9029 69.9013 74.9029C71.2745 74.9029 73.3602 74.9287 75.1285 76.1403C76.9033 77.3519 77.7583 78.4088 80.0382 78.1574C82.3182 77.9061 82.5708 79.6719 84.6954 80.4259C86.8199 81.18 89.3007 81.0317 90.92 79.4206C92.5394 77.8094 96.0306 80.2261 96.8921 82.4946C97.7535 84.7631 102.916 85.5687 106.006 84.3571C109.095 83.1455 111.576 81.5859 113.701 81.4377C115.825 81.2895 119.219 78.7181 121.447 77.5065C123.676 76.2949 123.118 76.1983 124.686 76.1467C126.253 76.0952 126.811 75.3927 127.925 74.9867C129.039 74.5807 129.492 75.4378 131.066 75.0898C132.634 74.7353 134.305 71.41 131.066 69.7472L131.086 69.7279Z' fill='%23FFCC51' stroke='black' stroke-width='1.83831' stroke-miterlimit='10'/%3E%3C/svg%3E");
      mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='134' height='86' viewBox='0 0 134 86' fill='none'%3E%3Cpath d='M131.086 69.7279C127.847 68.0652 124.304 65.3456 121.266 64.6431C118.228 63.9406 113.416 64.8429 112.101 64.1404C110.786 63.438 109.872 62.0782 108.655 61.9235C107.437 61.7753 103.745 61.1179 103.544 58.9525C103.343 56.7872 105.112 55.524 105.112 53.6615C105.112 51.799 104.147 44.7422 105.164 43.6853C106.174 42.6284 107.087 41.971 106.984 40.5145C106.88 39.0516 103.797 37.898 103.389 36.6349C102.981 35.3782 100.96 33.2064 102.475 30.3901C103.991 27.5674 106.122 24.8477 105.008 22.0765C103.894 19.3054 101.562 16.6373 98.8806 16.4375C96.199 16.2377 99.3858 7.26686 100.247 3.49033C100.344 3.07143 100.519 2.72342 100.74 2.42053C97.8637 1.67295 98.6798 1.12517 95.8816 1.20251C92.494 1.29273 93.6729 2.13698 89.6958 2.91677C85.7188 3.69657 86.7487 2.87167 83.3676 3.74813C79.9864 4.6246 79.6885 4.62459 75.9381 4.62459C72.1878 4.62459 73.004 1.20251 73.004 1.20251C73.004 1.20251 70.7564 0.564493 70.2187 1.20251C69.6811 1.84052 68.6124 2.69121 67.7574 2.69121C66.9024 2.69121 64.9722 2.47853 64.441 3.2261C63.9034 3.97367 58.5597 11.6621 55.6708 11.3656C55.6708 11.3656 52.8662 11.6879 50.1716 9.90271C47.4771 8.11756 45.6829 4.21214 42.9948 4.21214C40.3068 4.21214 39.6266 8.56224 36.9386 9.30337C34.244 10.0445 33.9072 8.00799 31.6661 8.34311C29.425 8.67823 27.7409 11.2432 25.4933 11.3592C23.2521 11.4688 22.7987 10.7985 18.9836 10.6438C15.1685 10.4892 14.9677 7.44732 14.9677 7.44732C12.6489 7.892 11.5607 8.6589 10.9972 9.3098C10.8158 9.51603 10.5697 9.81894 10.1163 10.1089C9.67582 10.3925 9.01513 10.5987 7.7715 10.6503C8.25729 11.617 8.22491 12.6803 8.27025 13.8275C8.36741 16.2506 9.24184 22.8435 5.15469 30.9894C1.06107 39.1354 0.769588 42.3319 0.963906 42.7251C1.15822 43.1117 3.78799 42.3384 5.15469 40.2052C6.52139 38.072 10.5697 34.1537 11.9429 31.4148C13.316 28.6822 14.9483 36.1129 14.8641 38.5038C14.7799 40.8948 14.3459 42.3512 17.6105 42.1772C20.875 42.0032 24.3921 41.2363 25.0787 42.261C25.7653 43.2857 24.4764 46.7916 25.3378 47.8163C26.1993 48.841 28.9457 50.2072 31.3487 48.5832C33.7518 46.9591 33.4085 42.8604 34.6133 42.7701C35.818 42.6799 38.6486 43.9688 38.6486 46.3598C38.6486 48.7507 36.8479 52.5982 38.1304 56.2716C39.4129 59.945 41.0516 60.0288 41.2201 61.4015C41.3949 62.7677 43.6231 65.1587 44.4004 68.5808C45.1712 71.9964 45.9485 77.6354 53.4167 78.5763C60.885 79.5173 67.155 80.2842 67.4983 78.5763C67.8416 76.8685 68.5282 74.9029 69.9013 74.9029C71.2745 74.9029 73.3602 74.9287 75.1285 76.1403C76.9033 77.3519 77.7583 78.4088 80.0382 78.1574C82.3182 77.9061 82.5708 79.6719 84.6954 80.4259C86.8199 81.18 89.3007 81.0317 90.92 79.4206C92.5394 77.8094 96.0306 80.2261 96.8921 82.4946C97.7535 84.7631 102.916 85.5687 106.006 84.3571C109.095 83.1455 111.576 81.5859 113.701 81.4377C115.825 81.2895 119.219 78.7181 121.447 77.5065C123.676 76.2949 123.118 76.1983 124.686 76.1467C126.253 76.0952 126.811 75.3927 127.925 74.9867C129.039 74.5807 129.492 75.4378 131.066 75.0898C132.634 74.7353 134.305 71.41 131.066 69.7472L131.086 69.7279Z' fill='%23FFCC51' stroke='black' stroke-width='1.83831' stroke-miterlimit='10'/%3E%3C/svg%3E"); }
  .map-module__district-btn-name {
    font-weight: 500;
    color: #1F2A37;
    font-size: 1.125rem;
    line-height: 1.5; }
  .map-module__district-btn-badge {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background-color: #1F2A37;
    color: #fff;
    font-size: 1.125rem;
    font-weight: 500;
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 1;
    opacity: 0;
    -webkit-transform: translateY(6px);
        -ms-transform: translateY(6px);
            transform: translateY(6px);
    -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
    transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
    transition: opacity 0.3s ease, transform 0.3s ease;
    transition: opacity 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
    pointer-events: none; }
    .map-module__district-btn:not([data-status="evaluating"]):hover .map-module__district-btn-badge,
    .map-module__district-btn:not([data-status="evaluating"]):focus-visible .map-module__district-btn-badge,
    .map-module__district-btn.is-active .map-module__district-btn-badge {
      opacity: 1;
      -webkit-transform: translateY(0);
          -ms-transform: translateY(0);
              transform: translateY(0);
      position: static; }
    [data-status="evaluating"] .map-module__district-btn-badge {
      display: none; }
    @media (min-width: 768px) {
      .map-module__district-btn-badge {
        top: 50%;
        left: 50%;
        right: auto;
        -webkit-transform: translate(-50%, calc(-121% + 6px));
            -ms-transform: translate(-50%, calc(-121% + 6px));
                transform: translate(-50%, calc(-121% + 6px));
        -webkit-box-shadow: 0 0 0 4px #fff;
                box-shadow: 0 0 0 4px #fff; }
        .map-module__district-btn:not([data-status="evaluating"]):hover .map-module__district-btn-badge,
        .map-module__district-btn:not([data-status="evaluating"]):focus-visible .map-module__district-btn-badge,
        .map-module__district-btn.is-active .map-module__district-btn-badge {
          -webkit-transform: translate(-50%, -121%);
              -ms-transform: translate(-50%, -121%);
                  transform: translate(-50%, -121%); }
        .map-module__district-btn-badge::before {
          content: '';
          position: absolute;
          bottom: -14px;
          left: 50%;
          -webkit-transform: translateX(-50%);
              -ms-transform: translateX(-50%);
                  transform: translateX(-50%);
          width: 0;
          height: 0;
          border-left: 8px solid transparent;
          border-right: 8px solid transparent;
          border-top: 14px solid #fff;
          z-index: -1; }
        .map-module__district-btn-badge::after {
          content: '';
          position: absolute;
          bottom: -16px;
          left: 50%;
          -webkit-transform: translateX(-50%);
              -ms-transform: translateX(-50%);
                  transform: translateX(-50%);
          width: 14px;
          height: 5px;
          border-radius: 50%;
          background: rgba(0, 0, 0, 0.3);
          -webkit-filter: blur(2px);
                  filter: blur(2px);
          z-index: -2; } }
  .map-module__footer {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    width: 100%; }
    @media (min-width: 768px) {
      .map-module__footer {
        width: auto; } }
    @media (min-width: 992px) {
      .map-module__footer {
        position: absolute;
        right: 0;
        bottom: 30px; } }
  .map-module__modal-inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
    padding: 40px 16px;
    height: 100vh;
    overflow: hidden; }
    @media (min-width: 768px) {
      .map-module__modal-inner {
        padding: 40px; } }
  .map-module__modal-shape {
    position: relative;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-align-self: flex-start;
        -ms-flex-item-align: start;
            align-self: flex-start; }
  .map-module__modal-shape-svg {
    width: 132px;
    height: 86px;
    -o-object-fit: contain;
       object-fit: contain; }
  .map-module__modal-shape-name {
    position: absolute;
    font-size: 1.125rem;
    font-weight: 500;
    color: #1F2A37; }

/* 分類頁籤 */
/* 分類頁籤 */
.category-tabs {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  padding: 10px;
  border: 2px solid #1F2A37;
  border-radius: 12px;
  background-color: #F9FAFF;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content; }
  .category-tabs .nav-link {
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    padding: 10px 20px;
    border: none;
    border-radius: 8px;
    background-color: transparent;
    color: #1F2A37;
    font-size: 1.25rem;
    font-weight: 400;
    line-height: 1.5;
    white-space: nowrap;
    cursor: pointer;
    -webkit-transition: background-color 0.2s, color 0.2s;
    transition: background-color 0.2s, color 0.2s; }
    .category-tabs .nav-link:hover {
      background-color: rgba(31, 42, 55, 0.08);
      color: #1F2A37; }
    .category-tabs .nav-link.active {
      background-color: #1F2A37;
      color: #fff;
      font-weight: 500; }

/* 膠囊按鈕 */
/* 膠囊按鈕（XL） */
.capsule-btn {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
  padding: 8px 32px;
  border: none;
  border-radius: 100px;
  background-color: #1F2A37;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
  white-space: nowrap;
  text-decoration: none;
  -webkit-transition: background-color 0.2s;
  transition: background-color 0.2s; }
  .capsule-btn:hover {
    color: #fff;
    background-color: #4B5563; }
  .capsule-btn:active {
    color: #fff;
    background-color: #000; }
  .capsule-btn__icon {
    width: 52px;
    height: 52px;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0; }
    .capsule-btn__icon img {
      width: 100%;
      height: 100%;
      -o-object-fit: contain;
         object-fit: contain; }

/* 動作按鈕 */
/* 動作按鈕（Solid / Outline） */
.action-btn {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
  padding: 14px 24px;
  border: 1px solid #1F2A37;
  border-radius: 12px;
  background-color: #1F2A37;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.5;
  white-space: nowrap;
  text-decoration: none;
  -webkit-transition: background-color 0.2s, color 0.2s, border-color 0.2s;
  transition: background-color 0.2s, color 0.2s, border-color 0.2s; }
  .action-btn:hover {
    background-color: #4B5563;
    border-color: #4B5563;
    color: #fff; }
  .action-btn:active {
    background-color: #000;
    border-color: #000;
    color: #fff; }
  .action-btn.disabled, .action-btn:disabled {
    background-color: #9CA3AF;
    border-color: #9CA3AF;
    color: #fff;
    pointer-events: none; }
  .action-btn__icon {
    width: 24px;
    height: 24px;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0; }
    .action-btn__icon img {
      width: 100%;
      height: 100%; }
  .action-btn--sm {
    font-size: 1rem; }
  .action-btn--outline {
    background-color: #fff;
    color: #1F2A37; }
    .action-btn--outline:hover {
      background-color: #F3F4F6;
      border-color: #1F2A37;
      color: #1F2A37; }
    .action-btn--outline:active {
      background-color: #D1D5DB;
      border-color: #1F2A37;
      color: #1F2A37; }
    .action-btn--outline.disabled, .action-btn--outline:disabled {
      background-color: #fff;
      color: #9CA3AF;
      border-color: #9CA3AF; }
      .action-btn--outline.disabled img, .action-btn--outline:disabled img {
        opacity: .375; }
  .action-btn--success {
    background-color: #78A16B;
    border-color: #78A16B;
    color: #fff;
    pointer-events: none; }
    .action-btn--success img {
      -webkit-filter: brightness(0) invert(1);
              filter: brightness(0) invert(1); }
  .action-btn--block {
    width: 100%;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .action-btn--block.disabled, .action-btn--block:disabled {
      background-color: #E5E7EB;
      color: #6B7280;
      border-color: #D1D5DB; }
      .action-btn--block.disabled img, .action-btn--block:disabled img {
        opacity: .625; }

/* 表單底部按鈕群組 */
.form-actions {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 12px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .form-actions > .action-btn:last-child {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0;
        -ms-flex: 1 1 0px;
            flex: 1 1 0; }
  .form-actions > .action-btn:first-child:nth-last-child(n+3),
  .form-actions > .action-btn:first-child:nth-last-child(n+3) ~ .action-btn:not(:last-child) {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0;
        -ms-flex: 1 1 0px;
            flex: 1 1 0; }
  .form-actions > .action-btn:first-child:nth-last-child(n+3) ~ .action-btn:last-child {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 100%;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%; }
  @media (min-width: 768px) {
    .form-actions {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      gap: 20px; }
      .form-actions > .action-btn,
      .form-actions > .action-btn:last-child,
      .form-actions > .action-btn:first-child:nth-last-child(n+3),
      .form-actions > .action-btn:first-child:nth-last-child(n+3) ~ .action-btn:not(:last-child),
      .form-actions > .action-btn:first-child:nth-last-child(n+3) ~ .action-btn:last-child {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 auto;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        min-width: 160px; } }

/* 社會住宅申請流程 */
/* 社會住宅申請流程 */
/* 表單欄位 */
/* 表單欄位（覆蓋 BS 預設樣式，對齊 Figma） */
.form-control,
.form-select {
  height: 52px;
  padding: 14px 16px;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.5;
  color: #1F2A37;
  background-color: #F9FAFF;
  border: 1px solid #D1D5DB;
  border-radius: 8px; }
  .form-control:is(textarea), .form-control[rows],
  .form-select:is(textarea),
  .form-select[rows] {
    height: auto;
    min-height: 52px;
    resize: none; }
  .form-control::-webkit-input-placeholder,
  .form-select::-webkit-input-placeholder {
    color: #6B7280; }
  .form-control::-moz-placeholder,
  .form-select::-moz-placeholder {
    color: #6B7280; }
  .form-control:-ms-input-placeholder,
  .form-select:-ms-input-placeholder {
    color: #6B7280; }
  .form-control::-ms-input-placeholder,
  .form-select::-ms-input-placeholder {
    color: #6B7280; }
  .form-control::placeholder,
  .form-select::placeholder {
    color: #6B7280; }
  .form-control:focus,
  .form-select:focus {
    background-color: #F9FAFF;
    border-color: #1F2A37;
    -webkit-box-shadow: none;
            box-shadow: none; }

.form-select {
  padding-right: 40px; }
  .form-select:invalid, .form-select.is-placeholder, .form-select:has(option[value=""]:checked), .form-select:has(option:not([value]):checked) {
    color: #6B7280; }
  .form-select option {
    color: #6B7280; }
    .form-select option:not([value=""]), .form-select option:not([value]) {
      color: black; }

.form-field-counter__count {
  display: block;
  text-align: right;
  margin-top: 4px;
  font-size: 0.875rem;
  color: #6B7280; }

.form-text {
  font-size: 1rem;
  color: #6B7280; }

.form-control.date,
.form-control[type="date"] {
  background-image: url("../img/icon-calendar.svg");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 20px 20px;
  padding-right: 40px; }
  .form-control.date::-webkit-calendar-picker-indicator,
  .form-control[type="date"]::-webkit-calendar-picker-indicator {
    opacity: 0;
    width: 20px;
    height: 20px;
    cursor: pointer; }

/* 搜尋工具列 */
/* 搜尋工具列 */
.page-header + .search-toolbar {
  margin-top: -1px; }

.search-toolbar {
  background-color: #fff;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000; }

.search-toolbar__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  max-width: calc(1160px + (var(--page-px) * 2));
  padding-inline: var(--page-px);
  padding-block: 20px;
  margin-inline: auto;
  --page-px: 16px; }
  @media (min-width: 768px) {
    .search-toolbar__inner {
      --page-px: 40px;
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      gap: 20px; } }

.search-toolbar__fields {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0; }

.search-toolbar__btn {
  width: 100%; }
  @media (min-width: 768px) {
    .search-toolbar__btn {
      width: auto;
      -webkit-flex-shrink: 0;
          -ms-flex-negative: 0;
              flex-shrink: 0; } }
  .search-toolbar__btn .action-btn {
    width: 100%;
    height: 52px; }

/* 麵包屑導覽 */
/* 麵包屑導覽 */
.breadcrumb {
  --bs-breadcrumb-divider: none;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  margin-bottom: 0;
  padding: 20px 0;
  font-size: 1rem; }
  .breadcrumb .breadcrumb-item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    padding-left: 0;
    color: #4B5563; }
    .breadcrumb .breadcrumb-item a {
      color: #4B5563;
      text-decoration: none; }
      .breadcrumb .breadcrumb-item a:hover {
        color: #D03801; }
      .breadcrumb .breadcrumb-item a:active {
        color: #D03801; }
    .breadcrumb .breadcrumb-item.active {
      color: #1F2A37; }
    .breadcrumb .breadcrumb-item::before {
      display: none; }
    .breadcrumb .breadcrumb-item + .breadcrumb-item::before {
      display: -webkit-inline-box;
      display: -webkit-inline-flex;
      display: -ms-inline-flexbox;
      display: inline-flex;
      content: '';
      width: 16px;
      height: 16px;
      margin-right: 12px;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M5.49978 14C5.24392 14 4.98794 13.9024 4.79295 13.7071C4.40235 13.3165 4.40235 12.6837 4.79295 12.2931L9.08704 8.00039L4.79295 3.70692C4.40235 3.31632 4.40235 2.68355 4.79295 2.29295C5.18355 1.90235 5.81632 1.90235 6.20692 2.29295L11.2066 7.29262C11.5972 7.68322 11.5972 8.316 11.2066 8.70659L6.20692 13.7063C6.01162 13.9031 5.7557 14 5.49978 14Z' fill='%239CA3AF'/%3E%3C/svg%3E");
      background-size: contain;
      background-repeat: no-repeat;
      -webkit-flex-shrink: 0;
          -ms-flex-negative: 0;
              flex-shrink: 0;
      padding: 0;
      float: none; }

/* 頁面標頭 */
/* 頁面標頭 */
.page-header {
  background-color: #F9FAFF;
  border-top: 1px solid #D1D5DB;
  border-bottom: 1px solid #D1D5DB; }

.page-header__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  max-width: calc(1160px + (var(--page-px) * 2));
  padding-inline: var(--page-px);
  padding-block: var(--page-py);
  margin-inline: auto;
  --page-px: 16px;
  --page-py: 32px; }
  @media (min-width: 768px) {
    .page-header__inner {
      --page-px: 40px;
      --page-py: 40px; } }

.page-header__icon {
  width: 60px;
  height: 60px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0; }

.page-header__title {
  font-size: 2rem;
  font-weight: 500;
  color: #1F2A37;
  line-height: 1.5;
  margin: 0; }
  @media (min-width: 768px) {
    .page-header__title {
      font-size: 2.5rem; } }

/* 操作按鈕群組 */
/* 操作按鈕群組 */
.action-group {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px; }
  .action-group__btn {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 8px;
    font-size: 1.125rem;
    font-weight: 500;
    color: #D46E2E;
    text-decoration: none;
    background: transparent;
    border: none;
    padding: 0;
    cursor: pointer; }
    .action-group__btn:hover {
      text-decoration: underline;
      color: #D46E2E; }
    .action-group__btn img {
      width: 24px;
      height: 24px; }
  .action-group__divider {
    width: 1px;
    -webkit-align-self: stretch;
        -ms-flex-item-align: stretch;
            align-self: stretch;
    background-color: #D1D5DB; }
  .action-group--compact {
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap; }
  .action-group--compact .action-group__btn span {
    display: none; }
  .action-group--compact .action-group__divider {
    display: none; }

/* 分頁導覽 */
/* 分頁導覽 */
.pagination {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .pagination__item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    min-width: 33px;
    height: 33px;
    padding: 6px 12px;
    background-color: #fff;
    border: 1px solid #D1D5DB;
    margin-left: -1px;
    font-size: 0.875rem;
    font-weight: 500;
    color: #6B7280;
    text-decoration: none;
    line-height: 1.5;
    white-space: nowrap;
    cursor: pointer; }
    .pagination__item:first-child {
      margin-left: 0;
      border-radius: 4px 0 0 4px; }
    .pagination__item:last-child {
      border-radius: 0 4px 4px 0; }
    .pagination__item:hover {
      background-color: #F3F4F6; }
    .pagination__item:focus {
      position: relative;
      z-index: 1; }
    .pagination__item:active {
      background-color: #FEECDC; }
    .pagination__item--active {
      background-color: #FCD9BD;
      color: #8A2C0D; }
      .pagination__item--active:hover {
        background-color: #FCD9BD; }
    .pagination__item--ellipsis {
      cursor: default; }
      .pagination__item--ellipsis:hover {
        background-color: #fff;
        color: #6B7280; }
    .pagination__item--disabled {
      opacity: 0.4;
      cursor: not-allowed; }
      .pagination__item--disabled:hover {
        background-color: #fff;
        color: #6B7280; }
    .pagination__item i {
      font-size: 0.75rem; }

/* 資料表格 */
/* 資料表格 */
.data-table {
  width: 100%;
  border-collapse: collapse; }
  .data-table__head th {
    background-color: #F3F4F6;
    border-bottom: 1px solid #D1D5DB;
    padding: 16px 12px;
    font-size: 1.125rem;
    font-weight: 500;
    color: #1F2A37;
    text-align: left;
    white-space: nowrap; }
  .data-table__body td {
    background-color: #fff;
    border-bottom: 1px solid #D1D5DB;
    padding: 16px 12px;
    font-size: 1.125rem;
    font-weight: 400;
    color: #4B5563;
    vertical-align: middle; }
  .data-table__category td {
    font-weight: 500;
    padding: 8px 12px; }
  .data-table__category--orange td {
    background-color: #FCD9BD;
    border-bottom-color: #FFB180;
    color: #8A2C0D; }
  .data-table__category--teal td {
    background-color: #D5F5F6;
    border-bottom-color: #7EDCE2;
    color: #005774; }
  .data-table--collapsible .data-table__collapse-btn {
    border: none;
    background: none;
    padding: 0;
    line-height: 1;
    cursor: pointer; }
    .data-table--collapsible .data-table__collapse-btn .expanded-false {
      display: inline-block; }
    .data-table--collapsible .data-table__collapse-btn .expanded-true {
      display: none; }
    .data-table--collapsible .data-table__collapse-btn[aria-expanded="true"] .expanded-false {
      display: none; }
    .data-table--collapsible .data-table__collapse-btn[aria-expanded="true"] .expanded-true {
      display: inline-block; }
  .data-table--collapsible tr:not(.data-table__collapse-content) td {
    border-bottom-width: 0; }
  .data-table--collapsible .data-table__collapse-content {
    background-color: var(--gray-50, #F9FAFF); }
    .data-table--collapsible .data-table__collapse-content td {
      background-color: transparent;
      border-bottom: 1px solid #D1D5DB; }
  @media (max-width: 768px) {
    .data-table--collapsible .data-table__head {
      display: none; }
    .data-table--collapsible .data-table__body td {
      background-color: transparent;
      border-bottom: 0;
      padding: 0; }
    .data-table--collapsible .data-table__body [data-label] {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; }
      .data-table--collapsible .data-table__body [data-label]::before {
        content: attr(data-label);
        font-weight: 500;
        color: #1F2A37;
        white-space: nowrap; }
    .data-table--collapsible .data-table__body tr:not(.data-table__collapse-content) {
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 16px 10px;
      padding: 16px;
      border-top: 1px solid #D1D5DB; }
      .data-table--collapsible .data-table__body tr:not(.data-table__collapse-content) > td:first-child {
        grid-row: 1 / -1; }
      .data-table--collapsible .data-table__body tr:not(.data-table__collapse-content) > td:not(:first-child) {
        grid-column: 2; }
    .data-table--collapsible .data-table__body [data-label]::before {
      margin-right: 10px; }
    .data-table--collapsible .data-table__collapse-content td {
      padding: 0; } }
  .data-table__summary td {
    background-color: #FEECDC;
    border-bottom: 1px solid #D1D5DB;
    padding: 16px 12px;
    text-align: right; }
  .data-table__summary-label {
    display: block;
    font-size: 1rem;
    font-weight: 400;
    color: #D03801; }
  .data-table__summary-val {
    display: block;
    font-size: 1.5rem;
    font-weight: 500;
    color: #B43403;
    margin-top: 4px; }
  @media (max-width: 768px) {
    .data-table--rwd .data-table__head {
      display: none; }
    .data-table--rwd .data-table__body td {
      background-color: transparent;
      border-bottom: 0;
      padding: 0; }
    .data-table--rwd .data-table__body [data-label] {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; }
      .data-table--rwd .data-table__body [data-label]::before {
        content: attr(data-label);
        font-weight: 500;
        color: #1F2A37;
        white-space: nowrap; }
    .data-table--rwd,
    .data-table--rwd .data-table__body,
    .data-table--rwd .data-table__body tr,
    .data-table--rwd .data-table__body td {
      display: block;
      width: 100%; }
    .data-table--rwd .data-table__body tr {
      border-bottom: 1px solid #D1D5DB;
      padding: 20px; }
    .data-table--rwd .data-table__body tr.data-table__category {
      padding: 8px 12px; }
      .data-table--rwd .data-table__body tr.data-table__category--orange {
        background-color: #FCD9BD;
        border-bottom-color: #FFB180; }
      .data-table--rwd .data-table__body tr.data-table__category--teal {
        background-color: #D5F5F6;
        border-bottom-color: #7EDCE2; }
      .data-table--rwd .data-table__body tr.data-table__category td {
        display: block;
        margin-bottom: 0;
        padding: 0;
        gap: 0;
        background-color: transparent;
        font-weight: 500; }
        .data-table--rwd .data-table__body tr.data-table__category td::before {
          content: none; }
    .data-table--rwd .data-table__body tr.data-table__category--orange td {
      color: #8A2C0D; }
    .data-table--rwd .data-table__body tr.data-table__category--teal td {
      color: #005774; }
    .data-table--rwd .data-table__body td {
      margin-bottom: 12px;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      gap: 10px;
      -webkit-box-align: start;
      -webkit-align-items: flex-start;
          -ms-flex-align: start;
              align-items: flex-start; }
      .data-table--rwd .data-table__body td:last-child {
        margin-bottom: 0; }
      .data-table--rwd .data-table__body td::before {
        -webkit-flex-shrink: 0;
            -ms-flex-negative: 0;
                flex-shrink: 0; }
    .data-table--rwd .action-group--compact .action-group__btn span {
      display: inline; }
    .data-table--rwd .action-group--compact .action-group__divider {
      display: block; }
    .data-table--rwd .data-table__summary,
    .data-table--rwd .data-table__summary tr,
    .data-table--rwd .data-table__summary td {
      display: block;
      width: 100%; } }

/* 媒體輪播模組 */
/* 媒體輪播容器 */
.media-carousel-block {
  --page-px: 16px;
  max-width: calc(900px + (var(--page-px) * 2));
  padding-inline: var(--page-px);
  margin-inline: auto; }
  @media (min-width: 768px) {
    .media-carousel-block {
      --page-px: 40px; } }

/* 媒體輪播模組 */
.media-carousel-module {
  position: relative; }
  .media-carousel-module__swiper {
    overflow: hidden; }
    .media-carousel-module__swiper .swiper-slide {
      height: auto; }
      .media-carousel-module__swiper .swiper-slide > img,
      .media-carousel-module__swiper .swiper-slide > * > img {
        width: 100%;
        aspect-ratio: 16 / 9;
        -o-object-fit: cover;
           object-fit: cover; }
  .media-carousel-module__controls {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 120px;
    margin-top: 20px; }
    @media (max-width: 991.98px) {
      .media-carousel-module__controls {
        gap: 40px; } }
    @media (max-width: 767.98px) {
      .media-carousel-module__controls {
        -webkit-box-pack: center;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center; } }
  .media-carousel-module__progressbar {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    height: 8px;
    background: #D1D5DB;
    border-radius: 4px;
    overflow: hidden; }
    @media (max-width: 767.98px) {
      .media-carousel-module__progressbar {
        display: none; } }
  .media-carousel-module__progressbar-fill {
    height: 100%;
    background: #FF8A4C;
    border-radius: 4px;
    width: 0%;
    -webkit-transition: width 0.3s ease;
    transition: width 0.3s ease; }
  .media-carousel-module__nav {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 40px;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0; }
    @media (max-width: 767.98px) {
      .media-carousel-module__nav {
        gap: 20px; } }
  .media-carousel-module__prev, .media-carousel-module__next {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 64px;
    height: 64px;
    border: 1px solid #8E8E8E;
    border-radius: 50%;
    background: #fff;
    color: #495057;
    cursor: pointer;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    font-size: 24px; }
    @media (max-width: 767.98px) {
      .media-carousel-module__prev, .media-carousel-module__next {
        width: 52px;
        height: 52px; } }
    .media-carousel-module__prev:hover, .media-carousel-module__next:hover {
      background: #f8f9fa;
      border-color: #6c757d; }
    .media-carousel-module__prev.swiper-button-disabled, .media-carousel-module__next.swiper-button-disabled {
      opacity: 0.35;
      cursor: not-allowed; }
  .media-carousel-module__counter {
    font-size: 18px;
    font-weight: 500;
    color: #1F2A37;
    white-space: nowrap; }

/* 電梯導覽 */
.anchor-nav {
  position: -webkit-sticky;
  position: sticky;
  top: calc(38px + 80px);
  z-index: 9;
  background: #fff;
  border-bottom: 1px solid #D1D5DB;
  width: 100%; }
  .anchor-nav__list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 8px;
    padding: 0 var(--page-inline);
    max-width: calc(1160px + (var(--page-inline) * 2));
    margin: 0 auto;
    overflow-x: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
    cursor: -webkit-grab;
    cursor: grab; }
    .anchor-nav__list::-webkit-scrollbar {
      display: none; }
    .anchor-nav__list.is-grabbing {
      cursor: -webkit-grabbing;
      cursor: grabbing; }
  .anchor-nav__item {
    padding: 10px;
    font-size: 18px;
    line-height: 1.5;
    font-weight: 400;
    color: #4B5563;
    white-space: nowrap;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    background: none;
    border-top: 0;
    border-left: 0;
    border-right: 0;
    -webkit-transition: color 0.2s, border-color 0.2s;
    transition: color 0.2s, border-color 0.2s; }
    .anchor-nav__item:hover {
      color: #D03801; }
    .anchor-nav__item.is-active {
      color: #D03801;
      font-weight: 500;
      border-bottom-color: #D03801; }

[data-anchor-section] {
  scroll-margin-top: calc(38px + 80px + 50px); }

/* 值鍵資訊表 */
.key-value-table {
  width: 100%; }
  .key-value-table tr {
    border-top: 1px solid #000; }
    .key-value-table tr:last-child {
      border-bottom: 1px solid #000; }
  .key-value-table th,
  .key-value-table td {
    padding: 32px 16px;
    font-size: 18px;
    line-height: 1.5;
    font-weight: 400;
    vertical-align: middle; }
  .key-value-table th {
    width: 120px;
    color: #1F2A37;
    text-align: left;
    white-space: nowrap; }
  .key-value-table td {
    color: #4B5563; }
  .key-value-table th + td {
    padding-left: clamp(16px, 3.89vw, 56px); }
  .key-value-table:not(table) {
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    padding: 32px 16px;
    font-size: 18px;
    line-height: 1.5;
    color: #4B5563; }

/* 內容卡片 */
.content-card {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  padding: 24px;
  background: #F9FAFF;
  border: 1px solid #000;
  border-radius: 16px; }
  .content-card--hor {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start; }
    @media (max-width: 768px) {
      .content-card--hor {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column; } }
  .content-card--vert {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .content-card__photo {
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    height: 240px;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0; }
    .content-card--hor .content-card__photo {
      width: 370px; }
      @media (max-width: 768px) {
        .content-card--hor .content-card__photo {
          width: 100%; } }
    .content-card--vert .content-card__photo {
      width: 100%; }
    .content-card__photo img {
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
         object-fit: cover; }
  .content-card__body {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 16px; }
    .content-card--hor .content-card__body {
      -webkit-box-flex: 1;
      -webkit-flex: 1;
          -ms-flex: 1;
              flex: 1;
      min-width: 0; }
  .content-card__title {
    font-size: 24px;
    font-weight: 500;
    line-height: 1.5;
    color: #1F2A37;
    margin: 0; }
  .content-card__divider {
    border: 0;
    border-top: 1px solid #000;
    margin: 0; }
  .content-card__desc {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    color: #4B5563;
    margin: 0; }

/* 地圖區塊 */
.map-block {
  width: 100%;
  height: clamp(400px, 36.11vw, 520px);
  border: 1px solid #000;
  border-radius: 20px;
  overflow: hidden; }
  .map-block.ratio {
    height: auto; }
  .map-block iframe {
    width: 100%;
    height: 100%;
    border: 0; }

/* 側邊導覽 */
.sidebar-nav {
  position: -webkit-sticky;
  position: sticky;
  top: calc(38px + 80px + 20px);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px; }
  .sidebar-nav__group {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 16px; }
  .sidebar-nav__group-title {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    color: #1F2A37;
    margin: 0; }
  .sidebar-nav__list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    list-style: none;
    padding: 0;
    margin: 16px 0 0;
    border-left: 1px solid #D1D5DB;
    margin-left: 4px; }
  .sidebar-nav__item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 12px;
    height: 46px;
    font-size: 20px;
    line-height: 1.5;
    font-weight: 400;
    color: #4B5563;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    background: none;
    border: 0;
    padding: 0; }
    .sidebar-nav__item::before {
      content: '';
      -webkit-flex-shrink: 0;
          -ms-flex-negative: 0;
              flex-shrink: 0;
      width: 8px;
      height: 100%;
      margin-left: -4px; }
    .sidebar-nav__item:hover {
      color: #D03801; }
    .sidebar-nav__item.active {
      font-weight: 500;
      color: #D03801; }
      .sidebar-nav__item.active::before {
        width: 8px;
        height: 8px;
        background: #D03801;
        border-radius: 50%;
        border: 0; }
  .sidebar-nav__link {
    font-size: 20px;
    line-height: 1.5;
    font-weight: 400;
    color: #4B5563;
    text-decoration: none;
    cursor: pointer;
    background: none;
    border: 0;
    padding: 0;
    text-align: left; }
    .sidebar-nav__link:hover {
      color: #D03801; }
    .sidebar-nav__link.active {
      font-weight: 500;
      color: #D03801; }
    .sidebar-nav__link[aria-expanded="true"], .sidebar-nav__link:has(+ .collapse .active) {
      font-weight: 500; }

/* 資訊區塊－可收合 */
.info-block-collapsible {
  border: 1px solid #000;
  border-radius: 16px; }
  .info-block-collapsible__header {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 16px 20px;
    background: #F9FAFF;
    border: 0;
    width: 100%;
    cursor: pointer;
    gap: 12px;
    border-radius: 15px; }
    .info-block-collapsible__header[aria-expanded="true"] {
      border-radius: 15px 15px 0 0; }
  .info-block-collapsible__header-left {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 10px;
    text-align: left; }
    @media (max-width: 768px) {
      .info-block-collapsible__header-left {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: start;
        -webkit-align-items: flex-start;
            -ms-flex-align: start;
                align-items: flex-start; } }
  .info-block-collapsible__title {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.5;
    color: #1F2A37;
    margin: 0;
    text-align: left; }
  .info-block-collapsible__icon {
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    width: 24px;
    height: 24px;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s; }
    .collapsed .info-block-collapsible__icon {
      -webkit-transform: rotate(180deg);
          -ms-transform: rotate(180deg);
              transform: rotate(180deg); }
  .info-block-collapsible__body {
    padding: 16px 20px;
    border-radius: 0 0 15px 15px;
    font-size: 16px;
    line-height: 1.6;
    color: #4B5563; }
    .info-block-collapsible__body ul {
      padding-left: 1.5em;
      margin-bottom: 0; }
    .info-block-collapsible__body li + li {
      margin-top: 4px; }
    .info-block-collapsible__body a {
      color: #D46E2E;
      font-weight: 500;
      font-size: 18px; }
    .info-block-collapsible__body p:last-child {
      margin-bottom: 0; }

/* 搜尋結果資訊 */
.search-result-info {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 16px 24px;
  background: #FCD9BD;
  border-radius: 8px;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.5;
  color: #8A2C0D; }

/* 橫條清單 */
.entry-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 20px;
  background: #fff;
  border: 1px solid #D1D5DB;
  border-radius: 16px;
  gap: 24px;
  text-decoration: none;
  color: inherit; }
  @media (max-width: 767px) {
    .entry-list {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-align: end;
      -webkit-align-items: flex-end;
          -ms-flex-align: end;
              align-items: flex-end;
      padding: 24px;
      gap: 20px; }
      .entry-list .icon-btn {
        width: 52px;
        height: 52px; } }
  .entry-list__content {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 0;
    gap: 20px;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    @media (max-width: 767px) {
      .entry-list__content {
        width: 100%;
        gap: 16px; } }
  .entry-list__thumb {
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    width: 110px;
    height: 120px;
    border-radius: 8px;
    border: 1px solid #D1D5DB;
    overflow: hidden;
    background: #fff; }
    @media (max-width: 767px) {
      .entry-list__thumb {
        width: 88px;
        height: 96px; } }
    .entry-list__thumb img {
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
         object-fit: cover; }
  .entry-list__info {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 8px;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 0; }
  .entry-list__meta {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 16px; }
  .entry-list__date {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    color: #6B7280;
    white-space: nowrap; }
  .entry-list__title {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    color: #1F2A37;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden; }
  .entry-list__desc {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    color: #6B7280;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden; }
  .entry-list__content:not(:has(.entry-list__thumb)) .entry-list__desc {
    -webkit-line-clamp: 4; }

/* 詳情頁媒體輪播 */
/* 詳情頁媒體輪播 */
.detail-carousel {
  background: #fff;
  padding-bottom: 20px; }
  .detail-carousel__viewport {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    max-width: 900px;
    margin: 0 auto;
    overflow: hidden; }
    .detail-carousel__viewport img {
      width: 100%;
      height: auto;
      max-height: 580px;
      -o-object-fit: cover;
         object-fit: cover; }
  .detail-carousel__controls {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 120px;
    max-width: 900px;
    margin: 0 auto;
    padding-top: 20px; }
    @media (max-width: 768px) {
      .detail-carousel__controls {
        gap: 40px;
        padding-inline: 16px; } }
  .detail-carousel__progress {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    height: 8px;
    background: #D1D5DB;
    border-radius: 4px;
    overflow: hidden; }
  .detail-carousel__progress-bar {
    height: 100%;
    background: #FF8A4C;
    border-radius: 4px; }
  .detail-carousel__nav {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 40px;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0; }
  .detail-carousel__counter {
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1.5;
    color: #1F2A37;
    white-space: nowrap; }

/* 詳情頁標題 */
/* 詳情頁（保留空檔備用） */
/* 時程列表 */
.timeline-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  list-style: none;
  padding: 0;
  margin: 0; }
  .timeline-list__item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 12px;
    position: relative;
    padding-left: 10px;
    padding-bottom: 20px; }
    .timeline-list__item:last-child {
      padding-bottom: 0; }
    .timeline-list__item::before {
      content: '';
      position: absolute;
      left: 0;
      -webkit-flex-shrink: 0;
          -ms-flex-negative: 0;
              flex-shrink: 0;
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background-color: #9CA3AF;
      z-index: 1; }
    .timeline-list__item::after {
      content: '';
      position: absolute;
      left: 4px;
      top: 10px;
      bottom: -10px;
      width: 0;
      border-left: 1px dotted #9CA3AF; }
    .timeline-list__item:last-child::after {
      display: none; }
    .timeline-list__item--current::before {
      background-color: #FF8A4C; }
  .timeline-list__date {
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    padding-left: 12px;
    font-size: var(--h6, 18px);
    font-weight: 500;
    line-height: 1.5;
    color: var(--gray-500, #6B7280); }
  .timeline-list__text {
    font-size: var(--h7, 18px);
    font-weight: 400;
    line-height: 1.5;
    color: var(--gray-500, #6B7280); }

/* 表單區塊 */
/* 表單區塊 */
.form-block {
  border: 1px solid #D1D5DB;
  border-radius: 12px;
  background-color: #F9FAFF; }
  .form-block .form-control,
  .form-block .form-select {
    background-color: #fff; }
    .form-block .form-control:disabled,
    .form-block .form-select:disabled {
      background-color: #E5E7EB; }
  .form-block .form-check-input:not(:checked) {
    background-color: #fff; }
  .form-block__header {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 12px;
    padding: 20px 24px;
    background-color: #fff;
    border-radius: 12px;
    border: 0;
    width: 100%;
    text-align: left;
    font: inherit;
    color: inherit; }
  .form-block__icon {
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    width: 48px;
    height: 48px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    border-radius: 12px;
    background-color: #F3F4F6; }
    .form-block__icon img {
      width: 28px;
      height: 28px; }
  .form-block__info {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 0; }
  .form-block__title {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1F2A37;
    line-height: 1.5;
    margin: 0; }
  .form-block__subtitle {
    font-size: 1rem;
    font-weight: 400;
    color: #4B5563;
    line-height: 1.5; }
  .form-block__action {
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    margin-left: auto; }
  .form-block__header:not(:last-child) {
    border-radius: 12px 12px 0 0; }
  .form-block__body {
    padding: 24px; }
    .form-block__body:last-child {
      border-radius: 0 0 12px 12px; }
    .form-block__body .form-control,
    .form-block__body .form-select {
      background-color: #fff; }
      .form-block__body .form-control:disabled,
      .form-block__body .form-select:disabled {
        background-color: #E5E7EB; }
    .form-block__body .form-check-input:not(:checked) {
      background-color: #fff; }
  .form-block__summary {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
    gap: 10px;
    padding: 20px;
    background-color: #FEECDC;
    border-radius: 16px; }
    @media (min-width: 992px) {
      .form-block__summary {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -webkit-flex-direction: row;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-box-align: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
            -ms-flex-pack: justify;
                justify-content: space-between; } }
  .form-block__summary-row {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 40px;
    width: 100%; }
    @media (min-width: 992px) {
      .form-block__summary-row {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        gap: 4px;
        width: auto;
        white-space: nowrap; } }
  .form-block__summary-plus {
    display: none; }
    @media (min-width: 992px) {
      .form-block__summary-plus {
        display: block;
        color: #1F2A37;
        font-size: 1.25rem;
        line-height: 1; } }
  .form-block__summary-label {
    font-size: 1rem;
    font-weight: 400;
    color: #6B7280;
    line-height: 1.5;
    white-space: nowrap; }
  .form-block__summary-val {
    font-size: 1rem;
    font-weight: 400;
    color: #1F2A37;
    line-height: 1.5;
    text-align: right;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 0; }
    @media (min-width: 992px) {
      .form-block__summary-val {
        font-size: 1.5rem;
        font-weight: 500;
        -webkit-box-flex: 0;
        -webkit-flex: none;
            -ms-flex: none;
                flex: none;
        text-align: center; } }
  .form-block__summary-total {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
    gap: 4px;
    white-space: nowrap;
    width: 100%; }
    @media (min-width: 992px) {
      .form-block__summary-total {
        width: auto;
        margin-left: auto; } }
    .form-block__summary-total .form-block__summary-label {
      color: #D03801; }
    .form-block__summary-total .form-block__summary-val {
      font-size: 1.5rem;
      font-weight: 500;
      color: #B43403;
      -webkit-box-flex: 0;
      -webkit-flex: none;
          -ms-flex: none;
              flex: none;
      text-align: right; }
  .form-block__footer {
    padding: 20px 24px;
    border-top: 1px solid #D1D5DB;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: 12px;
    border-radius: 0 0 12px 12px; }
  .form-block--collapsible .form-block__header {
    padding: 20px;
    cursor: pointer; }
  .form-block--collapsible .form-block__icon {
    width: 80px;
    height: 80px;
    border-radius: 8px; }
    .form-block--collapsible .form-block__icon img {
      width: 60px;
      height: 60px; }
  .form-block--collapsible .form-block__body {
    padding: 8px 10px 20px 20px; }
  .form-block--collapsible .form-block__collapse-icon {
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    margin-left: auto;
    width: 40px;
    height: 40px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    border-radius: 50%;
    background: #F3F4F6;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s; }
    .form-block--collapsible .form-block__collapse-icon img {
      width: 20px;
      height: 20px; }
    @media (min-width: 768px) {
      .form-block--collapsible .form-block__collapse-icon {
        width: 52px;
        height: 52px; }
        .form-block--collapsible .form-block__collapse-icon img {
          width: 24px;
          height: 24px; } }
  .form-block--collapsible .form-block__header[aria-expanded="false"] {
    border-radius: 12px; }
  .form-block--collapsible .form-block__header[aria-expanded="true"] {
    border-radius: 12px 12px 0 0; }
  .form-block--collapsible .form-block__header[aria-expanded="true"] .form-block__collapse-icon {
    -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
            transform: rotate(180deg); }
  .form-block--collapsible:has(.form-block__header[aria-expanded="true"]) {
    border-color: #000; }
  .form-block--collapsible .form-block__icon {
    background-color: #F3F4F6; }
    .form-block--collapsible .form-block__icon .icon-completed,
    .form-block--collapsible .form-block__icon .icon-active {
      display: none; }
  .form-block--collapsible .form-block__header {
    cursor: default; }
  .form-block--collapsible .form-block__title {
    color: #4B5563; }
  .form-block--collapsible .form-block__collapse-icon {
    display: none; }
  .form-block--collapsible.form-block--completed .form-block__header {
    cursor: pointer; }
  .form-block--collapsible.form-block--completed .form-block__title {
    color: #1F2A37; }
  .form-block--collapsible.form-block--completed .form-block__collapse-icon {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .form-block--collapsible.form-block--completed .form-block__icon {
    background-color: #D5F5F6; }
    .form-block--collapsible.form-block--completed .form-block__icon .icon-completed {
      display: block; }
    .form-block--collapsible.form-block--completed .form-block__icon .icon-disabled {
      display: none; }
  .form-block--collapsible.form-block--active .form-block__header {
    cursor: pointer; }
  .form-block--collapsible.form-block--active .form-block__title {
    color: #1F2A37; }
  .form-block--collapsible.form-block--active .form-block__collapse-icon {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .form-block--collapsible.form-block--active .form-block__icon {
    background-color: #FCD9BD; }
    .form-block--collapsible.form-block--active .form-block__icon .icon-active {
      display: block; }
    .form-block--collapsible.form-block--active .form-block__icon .icon-disabled {
      display: none; }

/* 狀態說明 */
/* 狀態說明 */
.info-notice {
  padding: 16px;
  border-radius: 16px;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5;
  background-color: #FEECDC;
  color: #D03801; }

/* 統計卡 */
/* ============================================
   統計卡 (stats-card)
   首頁統計數據展示卡片，含彩色底影層
   ============================================ */
.stats-card {
  position: relative;
  height: 100%;
  padding-bottom: 20px; }
  .stats-card__shadow {
    position: absolute;
    inset: 20px 0 0 0;
    border: 1px solid black;
    border-radius: 20px; }
  .stats-card__body {
    position: relative;
    z-index: 1;
    height: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
    padding: 20px;
    background-color: #f9faff;
    border: 1px solid black;
    border-radius: 20px; }
  .stats-card__header {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 8px;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    width: 100%;
    padding-bottom: 10px;
    border-bottom: 1px solid #d1d5db; }
  .stats-card__title-row {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 8px;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%; }
  .stats-card__icon {
    width: 36px;
    height: 36px;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0; }
    .stats-card__icon img {
      display: block;
      width: 100%;
      height: 100%;
      -o-object-fit: contain;
         object-fit: contain; }
  .stats-card__title {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin: 0;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.5;
    color: #1f2a37; }
  .stats-card__desc {
    margin: 0;
    width: 100%;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.5;
    color: #6b7280; }
  .stats-card__stats {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 24px;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: auto; }
  .stats-card__stat {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4px;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    font-weight: 500; }
  .stats-card__label {
    margin: 0;
    font-size: 16px;
    line-height: 1.5;
    color: #6b7280; }
  .stats-card__value {
    margin: 0;
    color: #1f2a37; }
  .stats-card__number {
    font-size: 32px;
    font-weight: 500;
    line-height: 1.5; }
  .stats-card__unit {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5; }
  .stats-card--yellow .stats-card__shadow {
    background-color: #ffcc51; }
  .stats-card--orange .stats-card__shadow {
    background-color: #ffb180; }
  .stats-card--green .stats-card__shadow {
    background-color: #a4da93; }
  .stats-card--blue .stats-card__shadow {
    background-color: #a4cafe; }

/* 彈窗 */
/* ============================================
   彈窗 (modal)
   BS Modal 自訂樣式，含一般彈窗與簡易訊息彈窗
   ============================================ */
.modal .modal-content {
  border: 1px solid #000;
  border-radius: 16px;
  overflow: hidden; }

.modal .modal-header {
  padding: 20px 16px;
  background-color: #fff;
  border-bottom: none; }
  @media (min-width: 768px) {
    .modal .modal-header {
      padding: 20px 40px; } }
  .modal .modal-header .modal-title {
    font-size: 1.5rem;
    font-weight: 500;
    color: #4B5563;
    line-height: 1.5; }
  .modal .modal-header .btn-close {
    opacity: 1;
    padding: 0;
    width: 24px;
    height: 24px; }

.modal .modal-body {
  padding: 20px 16px;
  background-color: #F9FAFF; }
  @media (min-width: 768px) {
    .modal .modal-body {
      padding: 20px 40px; } }

.modal:not(.modal--simple) .modal-body .form-control,
.modal:not(.modal--simple) .modal-body .form-select {
  background-color: #fff; }
  .modal:not(.modal--simple) .modal-body .form-control:disabled,
  .modal:not(.modal--simple) .modal-body .form-select:disabled {
    background-color: #E5E7EB; }

.modal:not(.modal--simple) .modal-body .form-check-input:not(:checked) {
  background-color: #fff; }

.modal .modal-footer {
  padding: 20px 16px;
  background-color: #fff;
  border-top: none;
  gap: 16px; }
  @media (min-width: 768px) {
    .modal .modal-footer {
      padding: 20px 40px; } }
  .modal .modal-footer .action-btn:last-child {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1; }
    @media (min-width: 768px) {
      .modal .modal-footer .action-btn:last-child {
        -webkit-box-flex: 0;
        -webkit-flex: none;
            -ms-flex: none;
                flex: none; } }

.modal--simple {
  --bs-modal-width: 416px; }
  .modal--simple .modal-body {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 20px;
    padding: 20px 16px 24px;
    background-color: #fff; }
    @media (min-width: 768px) {
      .modal--simple .modal-body {
        padding: 20px 40px 24px; } }
  .modal--simple .modal-body .btn-close {
    position: absolute;
    top: 19px;
    right: 16px;
    opacity: 1;
    padding: 0;
    width: 24px;
    height: 24px; }
    @media (min-width: 768px) {
      .modal--simple .modal-body .btn-close {
        right: 24px; } }
  .modal--simple .modal__icon {
    width: 56px;
    height: 56px;
    margin-top: 20px;
    margin-inline: auto;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0; }
    .modal--simple .modal__icon img {
      width: 100%;
      height: 100%; }
  .modal--simple .modal__message {
    font-size: 1.25rem;
    font-weight: 500;
    color: #1F2A37;
    line-height: 1.5;
    text-align: center;
    width: 100%; }
  .modal--simple .modal__actions {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 16px;
    width: 100%; }

.modal--popup .modal-dialog {
  margin: 0;
  max-width: none; }

.modal--popup .modal-content {
  border: none;
  border-radius: 0;
  background-color: rgba(0, 0, 0, 0.6); }

.modal--popup .modal-body {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0;
  background-color: transparent;
  min-height: 100vh; }

.modal--popup .modal-popup__close {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 10;
  width: 32px;
  height: 32px;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .modal--popup .modal-popup__close img {
    width: 24px;
    height: 24px;
    -webkit-filter: brightness(0) invert(1);
            filter: brightness(0) invert(1); }
  @media (min-width: 768px) {
    .modal--popup .modal-popup__close {
      top: 32px;
      right: 40px; } }

.modal--popup .modal-popup__wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
  max-width: 1440px;
  width: 100%;
  padding: 16px; }
  @media (min-width: 768px) {
    .modal--popup .modal-popup__wrap {
      padding: 0; } }

.modal--popup .modal-popup__carousel {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px; }
  @media (min-width: 768px) {
    .modal--popup .modal-popup__carousel {
      gap: 24px; } }

.modal--popup .modal-popup__inner {
  overflow: hidden;
  max-height: 60vh; }
  @media (min-width: 768px) {
    .modal--popup .modal-popup__inner {
      max-height: 540px; } }
  .modal--popup .modal-popup__inner .carousel-item {
    text-align: center; }
    .modal--popup .modal-popup__inner .carousel-item img {
      max-width: 100%;
      height: auto;
      max-height: 60vh;
      -o-object-fit: contain;
         object-fit: contain;
      margin-inline: auto; }
      @media (min-width: 768px) {
        .modal--popup .modal-popup__inner .carousel-item img {
          max-height: 540px; } }

.modal--popup .modal-popup__arrow {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 2px solid #fff;
  background-color: rgba(255, 255, 255, 0.15);
  color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  cursor: pointer;
  -webkit-transition: background-color 0.2s;
  transition: background-color 0.2s; }
  @media (min-width: 768px) {
    .modal--popup .modal-popup__arrow {
      width: 64px;
      height: 64px; } }
  .modal--popup .modal-popup__arrow:hover {
    background-color: rgba(255, 255, 255, 0.3); }

.modal--popup .modal-popup__dots {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 12px;
  margin-top: 20px; }
  .modal--popup .modal-popup__dots button {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: none;
    padding: 0;
    background-color: rgba(255, 255, 255, 0.4);
    cursor: pointer;
    -webkit-transition: background-color 0.2s;
    transition: background-color 0.2s; }
    .modal--popup .modal-popup__dots button.active {
      background-color: #22C55E; }

.modal--popup .modal-popup__checkbox .form-check-label {
  color: #fff;
  font-size: 18px;
  line-height: 1.5; }

/* 註解文字 */
/* ============================================
   註解文字 (meta-text)
   ============================================ */
.meta-text {
  color: var(--gray-500, #6B7280);
  font-size: var(--B2, 16px);
  font-weight: 500; }

/* 標題文字 */
/* ============================================
   標題文字 (heading)
   H1~H7 標題文字樣式與 RWD
   ============================================ */
.heading-1 {
  font-size: 32px;
  font-weight: 500; }
  @media (min-width: 768px) {
    .heading-1 {
      font-size: 40px; } }

.heading-2 {
  font-size: 28px;
  font-weight: 500; }
  @media (min-width: 768px) {
    .heading-2 {
      font-size: 32px; } }

.heading-3 {
  font-size: 24px;
  font-weight: 500; }

.heading-4 {
  font-size: 20px;
  font-weight: 500; }

.heading-5 {
  font-size: 20px;
  font-weight: 400; }

.heading-6 {
  font-size: 18px;
  font-weight: 500; }

.heading-7 {
  font-size: 18px;
  font-weight: 400; }

/* 步驟條 */
/* ============================================
   步驟條 (process-bar)
   步驟條組件用於展示多步驟流程進度
   ============================================ */
.process-bar--desktop {
  display: none; }
  @media (min-width: 992px) {
    .process-bar--desktop {
      display: block;
      border-bottom: 1px solid #d1d5db; } }

.process-bar--desktop .process-bar__steps {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  list-style: none;
  margin: 0 auto;
  padding: 0;
  max-width: 1160px; }

.process-bar--desktop .process-bar__step {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  padding: 16px 20px;
  border-bottom: 3px solid transparent;
  margin-bottom: -1px;
  white-space: nowrap; }
  .process-bar--desktop .process-bar__step:last-child {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1; }

.process-bar--desktop .process-bar__divider {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 80px;
  padding: 16px 0;
  border-bottom: 3px solid transparent;
  margin-bottom: -1px;
  list-style: none;
  position: relative;
  -webkit-align-self: stretch;
      -ms-flex-item-align: stretch;
          align-self: stretch; }
  .process-bar--desktop .process-bar__divider::before {
    content: '';
    display: block;
    width: 100%;
    height: 0;
    border-top: 2px solid #d1d5db; }
  .process-bar--desktop .process-bar__divider::after {
    content: '';
    position: absolute;
    right: 0;
    width: 8px;
    height: 8px;
    border-top: 2px solid #d1d5db;
    border-right: 2px solid #d1d5db;
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg); }

.process-bar--desktop .process-bar__indicator {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 38px;
  height: 38px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  border-radius: 100px;
  background-color: #e5e7eb;
  border: 1px solid #d1d5db;
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
  color: #6b7280; }

.process-bar--desktop .process-bar__label {
  font-size: 24px;
  font-weight: 500;
  line-height: 1.5;
  color: #6b7280; }

.process-bar__steps:has(> :nth-child(1).process-bar__step--active) > :nth-child(-n+1) {
  border-bottom-color: #d03801; }

.process-bar__steps:has(> :nth-child(1).process-bar__step--active) > .process-bar__step:nth-child(-n+1) .process-bar__indicator {
  background-color: #d03801;
  border-color: #d03801;
  color: #fff; }

.process-bar__steps:has(> :nth-child(1).process-bar__step--active) > .process-bar__step:nth-child(-n+1) .process-bar__label {
  color: #d03801; }

.process-bar__steps:has(> :nth-child(1).process-bar__step--active) > .process-bar__divider:nth-child(-n+1)::before {
  border-top-color: #d03801; }

.process-bar__steps:has(> :nth-child(1).process-bar__step--active) > .process-bar__divider:nth-child(-n+1)::after {
  border-top-color: #d03801;
  border-right-color: #d03801; }

.process-bar__steps:has(> :nth-child(3).process-bar__step--active) > :nth-child(-n+3) {
  border-bottom-color: #d03801; }

.process-bar__steps:has(> :nth-child(3).process-bar__step--active) > .process-bar__step:nth-child(-n+3) .process-bar__indicator {
  background-color: #d03801;
  border-color: #d03801;
  color: #fff; }

.process-bar__steps:has(> :nth-child(3).process-bar__step--active) > .process-bar__step:nth-child(-n+3) .process-bar__label {
  color: #d03801; }

.process-bar__steps:has(> :nth-child(3).process-bar__step--active) > .process-bar__divider:nth-child(-n+3)::before {
  border-top-color: #d03801; }

.process-bar__steps:has(> :nth-child(3).process-bar__step--active) > .process-bar__divider:nth-child(-n+3)::after {
  border-top-color: #d03801;
  border-right-color: #d03801; }

.process-bar__steps:has(> :nth-child(5).process-bar__step--active) > :nth-child(-n+5) {
  border-bottom-color: #d03801; }

.process-bar__steps:has(> :nth-child(5).process-bar__step--active) > .process-bar__step:nth-child(-n+5) .process-bar__indicator {
  background-color: #d03801;
  border-color: #d03801;
  color: #fff; }

.process-bar__steps:has(> :nth-child(5).process-bar__step--active) > .process-bar__step:nth-child(-n+5) .process-bar__label {
  color: #d03801; }

.process-bar__steps:has(> :nth-child(5).process-bar__step--active) > .process-bar__divider:nth-child(-n+5)::before {
  border-top-color: #d03801; }

.process-bar__steps:has(> :nth-child(5).process-bar__step--active) > .process-bar__divider:nth-child(-n+5)::after {
  border-top-color: #d03801;
  border-right-color: #d03801; }

.process-bar__steps:has(> :nth-child(7).process-bar__step--active) > :nth-child(-n+7) {
  border-bottom-color: #d03801; }

.process-bar__steps:has(> :nth-child(7).process-bar__step--active) > .process-bar__step:nth-child(-n+7) .process-bar__indicator {
  background-color: #d03801;
  border-color: #d03801;
  color: #fff; }

.process-bar__steps:has(> :nth-child(7).process-bar__step--active) > .process-bar__step:nth-child(-n+7) .process-bar__label {
  color: #d03801; }

.process-bar__steps:has(> :nth-child(7).process-bar__step--active) > .process-bar__divider:nth-child(-n+7)::before {
  border-top-color: #d03801; }

.process-bar__steps:has(> :nth-child(7).process-bar__step--active) > .process-bar__divider:nth-child(-n+7)::after {
  border-top-color: #d03801;
  border-right-color: #d03801; }

.process-bar--mobile {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
  padding: 16px 16px 0; }
  @media (min-width: 768px) {
    .process-bar--mobile {
      padding: 16px 40px 0; } }
  @media (min-width: 992px) {
    .process-bar--mobile {
      display: none; } }

.process-bar__current {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px; }

.process-bar--mobile .process-bar__indicator {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 36px;
  padding: 4px 8px;
  border-radius: 100px;
  background-color: #d03801;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.5;
  color: #fff; }

.process-bar--mobile .process-bar__label {
  font-size: 24px;
  font-weight: 500;
  line-height: 1.5;
  color: #d03801; }

.process-bar__track {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 12px; }

.process-bar__segment {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  height: 4px;
  background-color: #e5e7eb; }
  .process-bar__segment--filled {
    background-color: #d03801; }

/* 表單驗證 */
/* 表單驗證 — 隱藏驗證成功的綠色樣式 + invalid 自訂樣式 */
.was-validated .form-control:valid,
.was-validated .form-select:valid {
  border-color: var(--bs-border-color);
  background-image: none; }
  .was-validated .form-control:valid:focus,
  .was-validated .form-select:valid:focus {
    border-color: var(--bs-border-color);
    -webkit-box-shadow: none;
            box-shadow: none; }

.was-validated .form-control:invalid,
.was-validated .form-select:invalid {
  background-color: #FDF2F2;
  border-color: #E02424; }
  .was-validated .form-control:invalid:focus,
  .was-validated .form-select:invalid:focus {
    border-color: #E02424;
    -webkit-box-shadow: 0 0 0 0.25rem rgba(224, 36, 36, 0.15);
            box-shadow: 0 0 0 0.25rem rgba(224, 36, 36, 0.15); }

.was-validated .form-check-input:valid {
  border-color: var(--bs-border-color); }
  .was-validated .form-check-input:valid:checked {
    background-color: #D03801;
    border-color: #D03801; }
  .was-validated .form-check-input:valid:focus {
    border-color: #D03801;
    -webkit-box-shadow: 0 0 0 0.25rem rgba(208, 56, 1, 0.25);
            box-shadow: 0 0 0 0.25rem rgba(208, 56, 1, 0.25); }

.was-validated .form-check-input:valid ~ .form-check-label {
  color: inherit; }

.was-validated .valid-feedback {
  display: none !important; }

.was-validated .form-group-validation + .invalid-feedback {
  display: none; }

.was-validated .form-group-validation:has(:invalid) + .invalid-feedback {
  display: block; }

/* 檔案項目 */
/* 檔案項目（下載連結 + 移除按鈕） */
.file-item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  background-color: #F3F4F6;
  border-radius: 8px;
  padding: 8px;
  max-width: 100%; }
  .file-item .action-group__btn {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 0; }
    .file-item .action-group__btn span {
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap; }
  .file-item__remove {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    width: 24px;
    height: 24px;
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
    opacity: 0.6;
    -webkit-transition: opacity 0.2s;
    transition: opacity 0.2s; }
    .file-item__remove:hover {
      opacity: 1; }
    .file-item__remove img {
      width: 24px;
      height: 24px; }

/* 摘要資訊 */
/* 摘要資訊 */
.summary-info {
  --summary-label-width: 120px;
  width: 100%;
  margin: 0; }
  .summary-info dt, .summary-info dd {
    margin: 0;
    padding: 0; }
  .summary-info__row {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: clamp(12px, 2vw, 16px);
    -webkit-box-align: baseline;
    -webkit-align-items: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    padding: var(--summary-row-py, 16px) 0; }
  .summary-info__label {
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    width: clamp(80px, 10vw, var(--summary-label-width));
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1.5;
    color: #6B7280; }
  .summary-info__value {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 0;
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1.5;
    color: #1F2A37; }

/* 可收合區塊 */
/* 可收合區塊 */
.section-collapsible__header {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 16px;
  width: 100%;
  padding: 8px 0;
  background: none;
  border: none;
  border-bottom: 1px solid #D1D5DB;
  cursor: pointer;
  text-align: left; }
  @media (min-width: 992px) {
    .section-collapsible__header {
      padding: 8px 60px; } }

.section-collapsible__toggle {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 100px;
  background-color: #fff;
  border: none;
  padding: 0;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0; }
  .section-collapsible__toggle img {
    width: 24px;
    height: 24px;
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease; }

.section-collapsible__header.collapsed .section-collapsible__toggle img {
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg); }

.section-collapsible__body {
  padding: 20px 0 40px; }

/* 大月曆模組 */
/* 大月曆模組 */
.calendar-module {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .calendar-module__nav {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%; }
  .calendar-module__nav-btn {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 100px;
    border: 1px solid #000;
    background-color: #F3F4F6;
    cursor: pointer;
    padding: 0;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0; }
    .calendar-module__nav-btn img {
      width: 24px;
      height: 24px; }
    .calendar-module__nav-btn--prev img {
      -webkit-transform: rotate(180deg);
          -ms-transform: rotate(180deg);
              transform: rotate(180deg); }
  .calendar-module__title {
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.5;
    color: #4B5563;
    white-space: nowrap; }
  .calendar-module__scroll {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; }
  .calendar-module .fc {
    border: 1px solid #000;
    border-radius: 16px;
    overflow: hidden;
    min-width: 1050px; }
  .calendar-module .fc .fc-col-header {
    background-color: #fff; }
  .calendar-module .fc .fc-col-header-cell {
    padding: 10px 16px;
    font-size: 1rem;
    font-weight: 500;
    color: #6B7280;
    border: none;
    text-align: center;
    vertical-align: middle;
    background-color: #fff; }
  .calendar-module .fc .fc-col-header-cell-cushion {
    color: #6B7280;
    text-decoration: none;
    padding: 0; }
  .calendar-module .fc .fc-daygrid-day {
    height: 192px;
    overflow: hidden;
    background-color: #F9FAFF; }
  .calendar-module .fc td.fc-day-sun,
  .calendar-module .fc td.fc-day-sat {
    background-color: #E5E7EB; }
  .calendar-module .fc .fc-daygrid-day-number {
    font-size: 1rem;
    font-weight: 500;
    color: #6B7280;
    text-decoration: none;
    padding: 10px 0;
    width: 100%;
    text-align: center; }
  .calendar-module .fc .fc-daygrid-day-events {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 8px;
    padding: 0 10px;
    margin: 0; }
  .calendar-module .fc .fc-daygrid-event-harness {
    margin: 0 !important; }
  .calendar-module .fc .fc-event {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    height: 32px;
    border-radius: 4px;
    font-size: 1rem;
    line-height: 1.5;
    padding: 4px 16px;
    margin: 0;
    cursor: default; }
  .calendar-module .fc .fc-event.fc-event--booked {
    background-color: #1F2A37 !important;
    border-color: #D1D5DB !important;
    color: #fff;
    font-weight: 500; }
  .calendar-module .fc .fc-event.fc-event--pending {
    background-color: #FCD9BD !important;
    border-color: #FFB180 !important;
    color: #8A2C0D !important;
    font-weight: 400; }
    .calendar-module .fc .fc-event.fc-event--pending .fc-event-main,
    .calendar-module .fc .fc-event.fc-event--pending .fc-event-title {
      color: #8A2C0D !important; }
  .calendar-module .fc .fc-event.fc-event--selected {
    background-color: #DFF8D8 !important;
    border-color: #A4DA93 !important;
    color: #166534 !important;
    font-weight: 400; }
    .calendar-module .fc .fc-event.fc-event--selected .fc-event-main,
    .calendar-module .fc .fc-event.fc-event--selected .fc-event-title {
      color: #166534 !important; }
  .calendar-module .fc .fc-daygrid-more-link {
    font-size: 1rem;
    font-weight: 500;
    color: #D46E2E;
    text-decoration: none;
    text-align: center;
    display: block;
    width: 100%;
    margin-top: 4px; }
    .calendar-module .fc .fc-daygrid-more-link:hover {
      text-decoration: underline; }
  .calendar-module .fc .fc-h-event .fc-event-title {
    font-size: .875rem; }
  .calendar-module .fc .fc-header-toolbar {
    display: none; }
  .calendar-module .fc .fc-scrollgrid {
    border: none; }
  .calendar-module .fc td,
  .calendar-module .fc th {
    border: none; }
  .calendar-module .fc .fc-scrollgrid-section:last-child td {
    border-bottom: none; }
  .calendar-module .fc .fc-popover {
    background: #fff;
    border: 1px solid #000;
    border-radius: 20px;
    -webkit-box-shadow: none;
            box-shadow: none;
    padding: 20px 40px 40px;
    min-width: 280px; }
  .calendar-module .fc .fc-popover-header {
    background: transparent;
    padding: 0 0 16px;
    font-size: 1.25rem;
    font-weight: 500;
    color: #1F2A37; }
  .calendar-module .fc .fc-popover-close {
    font-size: 1.25rem;
    color: #1F2A37;
    opacity: 1; }
  .calendar-module .fc .fc-popover-body {
    padding: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 8px; }
  .calendar-module .fc .fc-popover-body .fc-daygrid-event-harness {
    margin: 0 !important; }

/* 提示訊息 */
/* ============================================
   提示訊息 (snackbar)
   基於 Bootstrap Toast，固定左下角顯示
   ============================================ */
.snackbar-container {
  position: fixed;
  bottom: 20px;
  left: 20px;
  z-index: 1090; }

.snackbar {
  --bs-toast-max-width: 420px;
  --bs-toast-bg: #1F2A37;
  --bs-toast-border-color: #4B5563;
  --bs-toast-border-radius: 8px;
  --bs-toast-color: #fff;
  --bs-toast-font-size: 1.125rem;
  --bs-toast-spacing: 0;
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
          box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08); }
  .snackbar .toast-body {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 16px;
    padding: 16px; }
  .snackbar__content {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 8px; }
  .snackbar__icon {
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    width: 24px;
    height: 24px; }
    .snackbar__icon img {
      width: 100%;
      height: 100%; }
  .snackbar__message {
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1.5;
    color: #fff;
    white-space: nowrap; }
  .snackbar .btn-close {
    -webkit-filter: invert(1);
            filter: invert(1);
    opacity: 0.7;
    padding: 0; }
    .snackbar .btn-close:hover {
      opacity: 1; }

/* 產品卡片 */
.product-card {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  background: #F9FAFF;
  border: 1px solid #D1D5DB;
  padding: 24px;
  text-decoration: none;
  -webkit-transition: border-color 0.2s;
  transition: border-color 0.2s;
  margin: -1px 0 0 -1px; }
  .product-card:hover, .product-card:focus {
    border-color: #000;
    position: relative;
    z-index: 1; }
    .product-card:hover .product-card__link, .product-card:focus .product-card__link {
      opacity: 1; }
    .product-card:hover .product-card__body, .product-card:focus .product-card__body {
      border-bottom-color: #000; }
  .product-card__photo {
    aspect-ratio: 1;
    border-radius: 8px;
    overflow: hidden; }
    .product-card__photo img {
      width: 100%;
      height: 100%;
      -o-object-fit: contain;
         object-fit: contain; }
  .product-card--cover .product-card__photo img {
    -o-object-fit: cover;
       object-fit: cover; }
  .product-card__body {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 12px;
    margin-top: auto;
    padding-top: 72px;
    padding-bottom: 16px;
    border-bottom: 1px solid #D1D5DB; }
  .product-card__title {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.5;
    color: #1F2A37;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap; }
  .product-card__link {
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    width: 40px;
    height: 40px;
    border: 1px solid #1F2A37;
    border-radius: 50%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    @media (min-width: 1200px) {
      .product-card__link {
        opacity: 0; } }
    .product-card__link img {
      width: 20px;
      height: 20px; }

/* 密碼欄位 */
.password-field {
  position: relative; }
  .password-field .form-control {
    padding-right: 80px; }
  .password-field .form-control:invalid,
  .password-field .form-control.is-invalid {
    background-position: right 48px center !important; }
  .password-field__toggle {
    position: absolute;
    right: 16px;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 20px;
    height: 20px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer; }
    .password-field__toggle img {
      width: 20px;
      height: 20px; }
    .password-field__toggle .icon-eye-slash {
      display: none; }
    .password-field__toggle[aria-pressed="true"] .icon-eye {
      display: none; }
    .password-field__toggle[aria-pressed="true"] .icon-eye-slash {
      display: block; }

/* 噪點漸層動態 */
.grainient-container {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 1rem; }
  .grainient-container canvas {
    display: block;
    width: 100%;
    height: 100%; }
  .grainient-container .grainient-overlay {
    position: absolute;
    inset: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    z-index: 1;
    color: #fff;
    font-size: 2rem;
    font-weight: 700;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.3);
    pointer-events: none; }

/* 直播卡片 */
/* ============================================
   直播卡片 (live-card)
   容器使用 cube-block--yellow cube-block--thin
   ============================================ */
.live-card {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  text-decoration: none;
  color: inherit; }
  .live-card__media {
    display: none;
    width: 340px;
    height: 250px;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    border-radius: 16px;
    border: 1px solid var(--black, #000);
    overflow: hidden; }
    .live-card__media img {
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
         object-fit: cover; }
  .live-card__body {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  .live-card__info {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 12px; }
  .live-card__badge {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-align-self: flex-start;
        -ms-flex-item-align: start;
            align-self: flex-start;
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5;
    white-space: nowrap;
    background-color: #fff;
    border: 1px solid var(--black, #000);
    color: var(--black, #000); }
  .live-card__title {
    font-size: 18px;
    font-weight: 500;
    line-height: normal;
    color: #1F2A37;
    margin: 0; }
  @media (min-width: 768px) {
    .live-card__media {
      display: block; }
    .live-card__body {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-align: end;
      -webkit-align-items: flex-end;
          -ms-flex-align: end;
              align-items: flex-end;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between;
      width: 225px;
      height: 250px;
      -webkit-box-flex: 0;
      -webkit-flex: none;
          -ms-flex: none;
              flex: none; }
    .live-card__info {
      width: 100%; }
    .live-card__badge {
      background-color: #F05252;
      border-color: #fff;
      color: #fff; }
    .live-card__title {
      font-size: 24px;
      line-height: 1.5; } }

/* 主題分類型輪播 */
/* ============================================
   主題分類型輪播 (theme-slider)
   每頁投影片 layout：cube-block--yellow + 插圖
   ============================================ */
.theme-slider {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px; }
  @media (min-width: 768px) {
    .theme-slider {
      gap: 20px; } }
  .theme-slider__slide {
    position: relative; }
    @media (min-width: 992px) {
      .theme-slider__slide {
        height: 570px; } }
  .theme-slider__graphic {
    display: none; }
    @media (min-width: 992px) {
      .theme-slider__graphic {
        display: block;
        position: absolute;
        right: 0;
        top: 0;
        width: 704px;
        height: 548px;
        overflow: hidden;
        background: #fff;
        pointer-events: none; }
        .theme-slider__graphic img {
          width: 100%;
          height: 100%;
          -o-object-fit: contain;
             object-fit: contain; } }
  .theme-slider .cube-block {
    position: relative;
    z-index: 1; }
    @media (min-width: 992px) {
      .theme-slider .cube-block {
        width: 620px;
        top: 50%;
        -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
                transform: translateY(-50%); } }
  .theme-slider .cube-block__card {
    padding: 40px; }
  .theme-slider__content {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    min-height: 262px; }
  .theme-slider__info {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
    width: 100%; }
  .theme-slider__title {
    font-size: 2.5rem;
    font-weight: 500;
    line-height: 1.5;
    color: #1F2A37;
    margin: 0; }
  .theme-slider__desc {
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1.5;
    color: #4B5563;
    margin: 0; }
  .theme-slider .table-responsive {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .theme-slider__tabs {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 16px;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
  .theme-slider .tab-content {
    -webkit-box-ordinal-group: 1;
    -webkit-order: 0;
        -ms-flex-order: 0;
            order: 0; }
  .theme-slider__tab {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 10px;
    padding: 20px 16px;
    border: none;
    border-bottom: 2px solid #9CA3AF;
    background: none;
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1.5;
    color: #9CA3AF;
    white-space: nowrap;
    cursor: pointer;
    text-decoration: none;
    -webkit-box-flex: 0;
    -webkit-flex-grow: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto;
    -webkit-transition: flex-grow 0.3s ease, color 0.3s ease, border-color 0.3s ease, -webkit-box-flex 0.3s ease, -webkit-flex-grow 0.3s ease;
    transition: flex-grow 0.3s ease, color 0.3s ease, border-color 0.3s ease, -webkit-box-flex 0.3s ease, -webkit-flex-grow 0.3s ease;
    transition: flex-grow 0.3s ease, color 0.3s ease, border-color 0.3s ease;
    transition: flex-grow 0.3s ease, color 0.3s ease, border-color 0.3s ease, -webkit-box-flex 0.3s ease, -webkit-flex-grow 0.3s ease, -ms-flex-positive 0.3s ease; }
    .theme-slider__tab.active {
      border-color: #D03801;
      color: #1F2A37;
      -webkit-box-flex: 1;
      -webkit-flex-grow: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; }
  .theme-slider__tab-num {
    color: #9CA3AF;
    -webkit-transition: color 0.3s ease;
    transition: color 0.3s ease;
    display: none; }
    .theme-slider__tab.active .theme-slider__tab-num {
      color: #D46E2E; }
    @media (min-width: 992px) {
      .theme-slider__tab-num {
        display: inline; } }

/* 覆蓋卡片 */
/* ============================================
   覆蓋卡片 (overlay-card)
   可點擊，hover 切換遮罩/無遮罩狀態
   ============================================ */
.overlay-card {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 20px;
  overflow: hidden;
  background-color: transparent;
  height: 296px;
  text-decoration: none;
  border: 1px solid transparent;
  -webkit-transition: border-color 0.3s ease, background-color 0.3s ease;
  transition: border-color 0.3s ease, background-color 0.3s ease; }
  .overlay-card__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease; }
  .overlay-card__overlay {
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.6);
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease; }
  .overlay-card__body {
    position: relative;
    z-index: 1;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 16px;
    width: 243px;
    text-align: center;
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease; }
  .overlay-card__title {
    color: #fff;
    margin: 0;
    -webkit-transition: color 0.3s ease;
    transition: color 0.3s ease; }
  .overlay-card__desc {
    color: #fff;
    margin: 0;
    -webkit-transition: color 0.3s ease;
    transition: color 0.3s ease; }
  .overlay-card .icon-btn {
    -webkit-transition: background-color 0.3s ease, border-color 0.3s ease;
    transition: background-color 0.3s ease, border-color 0.3s ease; }
  .overlay-card:hover, .overlay-card:focus-visible {
    border-color: #000;
    background-color: #FFB180; }
    .overlay-card:hover .overlay-card__img,
    .overlay-card:hover .overlay-card__overlay, .overlay-card:focus-visible .overlay-card__img,
    .overlay-card:focus-visible .overlay-card__overlay {
      opacity: 0; }
    .overlay-card:hover .overlay-card__body, .overlay-card:focus-visible .overlay-card__body {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .overlay-card:hover .overlay-card__title,
    .overlay-card:hover .overlay-card__desc, .overlay-card:focus-visible .overlay-card__title,
    .overlay-card:focus-visible .overlay-card__desc {
      color: #000; }
    .overlay-card:hover .icon-btn, .overlay-card:focus-visible .icon-btn {
      background-color: #1F2A37;
      border-color: #1F2A37; }
      .overlay-card:hover .icon-btn img, .overlay-card:focus-visible .icon-btn img {
        -webkit-filter: brightness(0) invert(1);
                filter: brightness(0) invert(1); }

/* == Helpers == */
/* SCSS Mixin */
/* 使用 utility class 封裝 */
.text-ellipsis-1 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  text-overflow: ellipsis; }

.text-ellipsis-2 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis; }

.text-ellipsis-3 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-overflow: ellipsis; }

.object-fit-cover {
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;";
  width: 100%;
  height: 100%; }

.object-fit-contain {
  -o-object-fit: contain;
     object-fit: contain;
  font-family: "object-fit: contain;";
  width: 100%;
  height: 100%; }

.object-fit-fill {
  -o-object-fit: fill;
     object-fit: fill;
  font-family: "object-fit: fill;";
  width: 100%;
  height: 100%; }

.object-fit-none {
  -o-object-fit: none;
     object-fit: none;
  font-family: "object-fit: none;";
  width: 100%;
  height: 100%; }

.object-fit-scale-down {
  -o-object-fit: scale-down;
     object-fit: scale-down;
  font-family: "object-fit: scale-down;";
  width: 100%;
  height: 100%; }

/* scroll */
.scroll {
  overflow: auto; }
  .scroll::-webkit-scrollbar {
    width: 8px; }
  .scroll::-webkit-scrollbar-track {
    background-color: transparent;
    border-radius: 100px;
    -webkit-transition: all .5s;
    transition: all .5s; }
  .scroll::-webkit-scrollbar-thumb {
    background-color: #D1D5DB;
    border-radius: 100px; }
  .scroll:hover::-webkit-scrollbar-thumb {
    background-color: #D1D5DB; }

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

.mark,
mark {
  --bs-highlight-color: #ff5a1f;
  --bs-highlight-bg: transparent; }

/* 文字樣式 */
.text-body-1 {
  color: #4B5563;
  font-size: 18px;
  line-height: 1.6; }

/* 分隔線 */
.hr-gray {
  border-color: #D1D5DB;
  opacity: 1; }

.flex-start-end {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: .5rem; }

/* item彈性換行 flex-item-wrap */
.flex-item-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 8px; }

/* 左側寬度自適 grid-left-auto */
.grid-left-auto {
  display: grid;
  gap: 8px;
  grid-template-columns: auto 1fr; }

.grid-sm-left-auto {
  display: grid;
  gap: 8px; }
  @media (min-width: 576px) {
    .grid-sm-left-auto {
      grid-template-columns: auto 1fr; } }

.grid-md-left-auto {
  display: grid;
  gap: 8px; }
  @media (min-width: 768px) {
    .grid-md-left-auto {
      grid-template-columns: auto 1fr; } }

.grid-lg-left-auto {
  display: grid;
  gap: 8px; }
  @media (min-width: 992px) {
    .grid-lg-left-auto {
      grid-template-columns: auto 1fr; } }

.grid-xl-left-auto {
  display: grid;
  gap: 8px; }
  @media (min-width: 1200px) {
    .grid-xl-left-auto {
      grid-template-columns: auto 1fr; } }

.grid-xxl-left-auto {
  display: grid;
  gap: 8px; }
  @media (min-width: 1400px) {
    .grid-xxl-left-auto {
      grid-template-columns: auto 1fr; } }

.form-comp-date-duration .text {
  display: block;
  text-align: center;
  padding-block: 6px; }

@container (min-width: 350px) {
  .form-comp-date-duration {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 8px; } }

/* item對齊換行 grid-item-wrap */
.grid-item-wrap {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(auto-fill, minmax(var(--grid-size, 7.5em), 1fr)); }

/* checked 顯示 */
.cond-checked-container:has(.cond-checked-trigger:checked) .cond-checked-dependent {
  display: block;
  -webkit-animation: fadeIn .5s forwards;
          animation: fadeIn .5s forwards; }

.cond-checked-dependent {
  display: none; }

/* unchecked 顯示*/
.cond-checked-container.unchecked:has(.cond-checked-trigger:checked) .cond-checked-dependent {
  display: none; }

.cond-checked-container.unchecked .cond-checked-dependent {
  display: block;
  -webkit-animation: fadeIn .5s forwards;
          animation: fadeIn .5s forwards; }

/* 雙態切換 */
.cond-twin-switch-dependent:first-child {
  display: block;
  -webkit-animation: fadeIn .5s forwards;
          animation: fadeIn .5s forwards; }

.cond-twin-switch-dependent:last-child {
  display: none; }

.cond-twin-switch-container:has(.cond-twin-switch-trigger:checked) .cond-twin-switch-items .cond-twin-switch-dependent:first-child {
  display: none; }

.cond-twin-switch-container:has(.cond-twin-switch-trigger:checked) .cond-twin-switch-items .cond-twin-switch-dependent:last-child {
  display: block;
  -webkit-animation: fadeIn .5s forwards;
          animation: fadeIn .5s forwards; }

/* == Utilities == */
.text-black {
  color: #000 !important; }

.text-highlight {
  color: #8A2C0D !important; }

.text-muted {
  color: #6B7280 !important; }

.bg-section-highlight {
  background-color: #F9FAFF !important; }

.bg-footer {
  background-color: #1F2A37 !important; }

.gap-xs {
  gap: 12px !important; }

.gap-s {
  gap: 20px !important; }

.gap-ms {
  gap: 32px !important; }

.gap-m {
  gap: 40px !important; }

.gap-lg {
  gap: 60px !important; }

.gap-xl {
  gap: 80px !important; }

.gap-xxl {
  gap: 120px !important; }

.gap-xxxl {
  gap: 160px !important; }

.column-gap-xs {
  -webkit-column-gap: 12px !important;
     -moz-column-gap: 12px !important;
          column-gap: 12px !important; }

.column-gap-s {
  -webkit-column-gap: 20px !important;
     -moz-column-gap: 20px !important;
          column-gap: 20px !important; }

.column-gap-ms {
  -webkit-column-gap: 32px !important;
     -moz-column-gap: 32px !important;
          column-gap: 32px !important; }

.column-gap-m {
  -webkit-column-gap: 40px !important;
     -moz-column-gap: 40px !important;
          column-gap: 40px !important; }

.column-gap-lg {
  -webkit-column-gap: 60px !important;
     -moz-column-gap: 60px !important;
          column-gap: 60px !important; }

.column-gap-xl {
  -webkit-column-gap: 80px !important;
     -moz-column-gap: 80px !important;
          column-gap: 80px !important; }

.column-gap-xxl {
  -webkit-column-gap: 120px !important;
     -moz-column-gap: 120px !important;
          column-gap: 120px !important; }

.column-gap-xxxl {
  -webkit-column-gap: 160px !important;
     -moz-column-gap: 160px !important;
          column-gap: 160px !important; }

.row-gap-xs {
  row-gap: 12px !important; }

.row-gap-s {
  row-gap: 20px !important; }

.row-gap-ms {
  row-gap: 32px !important; }

.row-gap-m {
  row-gap: 40px !important; }

.row-gap-lg {
  row-gap: 60px !important; }

.row-gap-xl {
  row-gap: 80px !important; }

.row-gap-xxl {
  row-gap: 120px !important; }

.row-gap-xxxl {
  row-gap: 160px !important; }

.p-xs {
  padding: 12px !important; }

.p-s {
  padding: 20px !important; }

.p-ms {
  padding: 32px !important; }

.p-m {
  padding: 40px !important; }

.p-lg {
  padding: 60px !important; }

.p-xl {
  padding: 80px !important; }

.p-xxl {
  padding: 120px !important; }

.p-xxxl {
  padding: 160px !important; }

.pt-xs {
  padding-top: 12px !important; }

.pt-s {
  padding-top: 20px !important; }

.pt-ms {
  padding-top: 32px !important; }

.pt-m {
  padding-top: 40px !important; }

.pt-lg {
  padding-top: 60px !important; }

.pt-xl {
  padding-top: 80px !important; }

.pt-xxl {
  padding-top: 120px !important; }

.pt-xxxl {
  padding-top: 160px !important; }

.pb-xs {
  padding-bottom: 12px !important; }

.pb-s {
  padding-bottom: 20px !important; }

.pb-ms {
  padding-bottom: 32px !important; }

.pb-m {
  padding-bottom: 40px !important; }

.pb-lg {
  padding-bottom: 60px !important; }

.pb-xl {
  padding-bottom: 80px !important; }

.pb-xxl {
  padding-bottom: 120px !important; }

.pb-xxxl {
  padding-bottom: 160px !important; }

.px-xs {
  padding-inline: 12px !important; }

.px-s {
  padding-inline: 20px !important; }

.px-ms {
  padding-inline: 32px !important; }

.px-m {
  padding-inline: 40px !important; }

.px-lg {
  padding-inline: 60px !important; }

.px-xl {
  padding-inline: 80px !important; }

.px-xxl {
  padding-inline: 120px !important; }

.px-xxxl {
  padding-inline: 160px !important; }

.py-xs {
  padding-block: 12px !important; }

.py-s {
  padding-block: 20px !important; }

.py-ms {
  padding-block: 32px !important; }

.py-m {
  padding-block: 40px !important; }

.py-lg {
  padding-block: 60px !important; }

.py-xl {
  padding-block: 80px !important; }

.py-xxl {
  padding-block: 120px !important; }

.py-xxxl {
  padding-block: 160px !important; }

.m-xs {
  margin: 12px !important; }

.m-s {
  margin: 20px !important; }

.m-ms {
  margin: 32px !important; }

.m-m {
  margin: 40px !important; }

.m-lg {
  margin: 60px !important; }

.m-xl {
  margin: 80px !important; }

.m-xxl {
  margin: 120px !important; }

.m-xxxl {
  margin: 160px !important; }

.mt-xs {
  margin-top: 12px !important; }

.mt-s {
  margin-top: 20px !important; }

.mt-ms {
  margin-top: 32px !important; }

.mt-m {
  margin-top: 40px !important; }

.mt-lg {
  margin-top: 60px !important; }

.mt-xl {
  margin-top: 80px !important; }

.mt-xxl {
  margin-top: 120px !important; }

.mt-xxxl {
  margin-top: 160px !important; }

.mb-xs {
  margin-bottom: 12px !important; }

.mb-s {
  margin-bottom: 20px !important; }

.mb-ms {
  margin-bottom: 32px !important; }

.mb-m {
  margin-bottom: 40px !important; }

.mb-lg {
  margin-bottom: 60px !important; }

.mb-xl {
  margin-bottom: 80px !important; }

.mb-xxl {
  margin-bottom: 120px !important; }

.mb-xxxl {
  margin-bottom: 160px !important; }

.ms-xs {
  margin-left: 12px !important; }

.ms-s {
  margin-left: 20px !important; }

.ms-ms {
  margin-left: 32px !important; }

.ms-m {
  margin-left: 40px !important; }

.ms-lg {
  margin-left: 60px !important; }

.ms-xl {
  margin-left: 80px !important; }

.ms-xxl {
  margin-left: 120px !important; }

.ms-xxxl {
  margin-left: 160px !important; }

.me-xs {
  margin-left: 12px !important; }

.me-s {
  margin-left: 20px !important; }

.me-ms {
  margin-left: 32px !important; }

.me-m {
  margin-left: 40px !important; }

.me-lg {
  margin-left: 60px !important; }

.me-xl {
  margin-left: 80px !important; }

.me-xxl {
  margin-left: 120px !important; }

.me-xxxl {
  margin-left: 160px !important; }

.mx-xs {
  margin-inline: 12px !important; }

.mx-s {
  margin-inline: 20px !important; }

.mx-ms {
  margin-inline: 32px !important; }

.mx-m {
  margin-inline: 40px !important; }

.mx-lg {
  margin-inline: 60px !important; }

.mx-xl {
  margin-inline: 80px !important; }

.mx-xxl {
  margin-inline: 120px !important; }

.mx-xxxl {
  margin-inline: 160px !important; }

.my-xs {
  margin-block: 12px !important; }

.my-s {
  margin-block: 20px !important; }

.my-ms {
  margin-block: 32px !important; }

.my-m {
  margin-block: 40px !important; }

.my-lg {
  margin-block: 60px !important; }

.my-xl {
  margin-block: 80px !important; }

.my-xxl {
  margin-block: 120px !important; }

.my-xxxl {
  margin-block: 160px !important; }

.mt-n-n1 {
  margin-top: -0.25rem !important; }

.mt-n-n2 {
  margin-top: -0.5rem !important; }

.mt-n-n3 {
  margin-top: -1rem !important; }

.mt-n-n4 {
  margin-top: -1.5rem !important; }

.mt-n-n5 {
  margin-top: -3rem !important; }

.gx-xs {
  --bs-gutter-x: 12px !important; }

.gx-s {
  --bs-gutter-x: 20px !important; }

.gx-ms {
  --bs-gutter-x: 32px !important; }

.gx-m {
  --bs-gutter-x: 40px !important; }

.gx-lg {
  --bs-gutter-x: 60px !important; }

.gx-xl {
  --bs-gutter-x: 80px !important; }

.gx-xxl {
  --bs-gutter-x: 120px !important; }

.gx-xxxl {
  --bs-gutter-x: 160px !important; }

.gy-xs {
  --bs-gutter-y: 12px !important; }

.gy-s {
  --bs-gutter-y: 20px !important; }

.gy-ms {
  --bs-gutter-y: 32px !important; }

.gy-m {
  --bs-gutter-y: 40px !important; }

.gy-lg {
  --bs-gutter-y: 60px !important; }

.gy-xl {
  --bs-gutter-y: 80px !important; }

.gy-xxl {
  --bs-gutter-y: 120px !important; }

.gy-xxxl {
  --bs-gutter-y: 160px !important; }

@media (min-width: 576px) {
  .bg-sm-section-highlight {
    background-color: #F9FAFF !important; }
  .bg-sm-footer {
    background-color: #1F2A37 !important; }
  .gap-sm-xs {
    gap: 12px !important; }
  .gap-sm-s {
    gap: 20px !important; }
  .gap-sm-ms {
    gap: 32px !important; }
  .gap-sm-m {
    gap: 40px !important; }
  .gap-sm-lg {
    gap: 60px !important; }
  .gap-sm-xl {
    gap: 80px !important; }
  .gap-sm-xxl {
    gap: 120px !important; }
  .gap-sm-xxxl {
    gap: 160px !important; }
  .column-gap-sm-xs {
    -webkit-column-gap: 12px !important;
       -moz-column-gap: 12px !important;
            column-gap: 12px !important; }
  .column-gap-sm-s {
    -webkit-column-gap: 20px !important;
       -moz-column-gap: 20px !important;
            column-gap: 20px !important; }
  .column-gap-sm-ms {
    -webkit-column-gap: 32px !important;
       -moz-column-gap: 32px !important;
            column-gap: 32px !important; }
  .column-gap-sm-m {
    -webkit-column-gap: 40px !important;
       -moz-column-gap: 40px !important;
            column-gap: 40px !important; }
  .column-gap-sm-lg {
    -webkit-column-gap: 60px !important;
       -moz-column-gap: 60px !important;
            column-gap: 60px !important; }
  .column-gap-sm-xl {
    -webkit-column-gap: 80px !important;
       -moz-column-gap: 80px !important;
            column-gap: 80px !important; }
  .column-gap-sm-xxl {
    -webkit-column-gap: 120px !important;
       -moz-column-gap: 120px !important;
            column-gap: 120px !important; }
  .column-gap-sm-xxxl {
    -webkit-column-gap: 160px !important;
       -moz-column-gap: 160px !important;
            column-gap: 160px !important; }
  .row-gap-sm-xs {
    row-gap: 12px !important; }
  .row-gap-sm-s {
    row-gap: 20px !important; }
  .row-gap-sm-ms {
    row-gap: 32px !important; }
  .row-gap-sm-m {
    row-gap: 40px !important; }
  .row-gap-sm-lg {
    row-gap: 60px !important; }
  .row-gap-sm-xl {
    row-gap: 80px !important; }
  .row-gap-sm-xxl {
    row-gap: 120px !important; }
  .row-gap-sm-xxxl {
    row-gap: 160px !important; }
  .p-sm-xs {
    padding: 12px !important; }
  .p-sm-s {
    padding: 20px !important; }
  .p-sm-ms {
    padding: 32px !important; }
  .p-sm-m {
    padding: 40px !important; }
  .p-sm-lg {
    padding: 60px !important; }
  .p-sm-xl {
    padding: 80px !important; }
  .p-sm-xxl {
    padding: 120px !important; }
  .p-sm-xxxl {
    padding: 160px !important; }
  .pt-sm-xs {
    padding-top: 12px !important; }
  .pt-sm-s {
    padding-top: 20px !important; }
  .pt-sm-ms {
    padding-top: 32px !important; }
  .pt-sm-m {
    padding-top: 40px !important; }
  .pt-sm-lg {
    padding-top: 60px !important; }
  .pt-sm-xl {
    padding-top: 80px !important; }
  .pt-sm-xxl {
    padding-top: 120px !important; }
  .pt-sm-xxxl {
    padding-top: 160px !important; }
  .pb-sm-xs {
    padding-bottom: 12px !important; }
  .pb-sm-s {
    padding-bottom: 20px !important; }
  .pb-sm-ms {
    padding-bottom: 32px !important; }
  .pb-sm-m {
    padding-bottom: 40px !important; }
  .pb-sm-lg {
    padding-bottom: 60px !important; }
  .pb-sm-xl {
    padding-bottom: 80px !important; }
  .pb-sm-xxl {
    padding-bottom: 120px !important; }
  .pb-sm-xxxl {
    padding-bottom: 160px !important; }
  .px-sm-xs {
    padding-inline: 12px !important; }
  .px-sm-s {
    padding-inline: 20px !important; }
  .px-sm-ms {
    padding-inline: 32px !important; }
  .px-sm-m {
    padding-inline: 40px !important; }
  .px-sm-lg {
    padding-inline: 60px !important; }
  .px-sm-xl {
    padding-inline: 80px !important; }
  .px-sm-xxl {
    padding-inline: 120px !important; }
  .px-sm-xxxl {
    padding-inline: 160px !important; }
  .py-sm-xs {
    padding-block: 12px !important; }
  .py-sm-s {
    padding-block: 20px !important; }
  .py-sm-ms {
    padding-block: 32px !important; }
  .py-sm-m {
    padding-block: 40px !important; }
  .py-sm-lg {
    padding-block: 60px !important; }
  .py-sm-xl {
    padding-block: 80px !important; }
  .py-sm-xxl {
    padding-block: 120px !important; }
  .py-sm-xxxl {
    padding-block: 160px !important; }
  .m-sm-xs {
    margin: 12px !important; }
  .m-sm-s {
    margin: 20px !important; }
  .m-sm-ms {
    margin: 32px !important; }
  .m-sm-m {
    margin: 40px !important; }
  .m-sm-lg {
    margin: 60px !important; }
  .m-sm-xl {
    margin: 80px !important; }
  .m-sm-xxl {
    margin: 120px !important; }
  .m-sm-xxxl {
    margin: 160px !important; }
  .mt-sm-xs {
    margin-top: 12px !important; }
  .mt-sm-s {
    margin-top: 20px !important; }
  .mt-sm-ms {
    margin-top: 32px !important; }
  .mt-sm-m {
    margin-top: 40px !important; }
  .mt-sm-lg {
    margin-top: 60px !important; }
  .mt-sm-xl {
    margin-top: 80px !important; }
  .mt-sm-xxl {
    margin-top: 120px !important; }
  .mt-sm-xxxl {
    margin-top: 160px !important; }
  .mb-sm-xs {
    margin-bottom: 12px !important; }
  .mb-sm-s {
    margin-bottom: 20px !important; }
  .mb-sm-ms {
    margin-bottom: 32px !important; }
  .mb-sm-m {
    margin-bottom: 40px !important; }
  .mb-sm-lg {
    margin-bottom: 60px !important; }
  .mb-sm-xl {
    margin-bottom: 80px !important; }
  .mb-sm-xxl {
    margin-bottom: 120px !important; }
  .mb-sm-xxxl {
    margin-bottom: 160px !important; }
  .ms-sm-xs {
    margin-left: 12px !important; }
  .ms-sm-s {
    margin-left: 20px !important; }
  .ms-sm-ms {
    margin-left: 32px !important; }
  .ms-sm-m {
    margin-left: 40px !important; }
  .ms-sm-lg {
    margin-left: 60px !important; }
  .ms-sm-xl {
    margin-left: 80px !important; }
  .ms-sm-xxl {
    margin-left: 120px !important; }
  .ms-sm-xxxl {
    margin-left: 160px !important; }
  .me-sm-xs {
    margin-left: 12px !important; }
  .me-sm-s {
    margin-left: 20px !important; }
  .me-sm-ms {
    margin-left: 32px !important; }
  .me-sm-m {
    margin-left: 40px !important; }
  .me-sm-lg {
    margin-left: 60px !important; }
  .me-sm-xl {
    margin-left: 80px !important; }
  .me-sm-xxl {
    margin-left: 120px !important; }
  .me-sm-xxxl {
    margin-left: 160px !important; }
  .mx-sm-xs {
    margin-inline: 12px !important; }
  .mx-sm-s {
    margin-inline: 20px !important; }
  .mx-sm-ms {
    margin-inline: 32px !important; }
  .mx-sm-m {
    margin-inline: 40px !important; }
  .mx-sm-lg {
    margin-inline: 60px !important; }
  .mx-sm-xl {
    margin-inline: 80px !important; }
  .mx-sm-xxl {
    margin-inline: 120px !important; }
  .mx-sm-xxxl {
    margin-inline: 160px !important; }
  .my-sm-xs {
    margin-block: 12px !important; }
  .my-sm-s {
    margin-block: 20px !important; }
  .my-sm-ms {
    margin-block: 32px !important; }
  .my-sm-m {
    margin-block: 40px !important; }
  .my-sm-lg {
    margin-block: 60px !important; }
  .my-sm-xl {
    margin-block: 80px !important; }
  .my-sm-xxl {
    margin-block: 120px !important; }
  .my-sm-xxxl {
    margin-block: 160px !important; }
  .mt-n-sm-n1 {
    margin-top: -0.25rem !important; }
  .mt-n-sm-n2 {
    margin-top: -0.5rem !important; }
  .mt-n-sm-n3 {
    margin-top: -1rem !important; }
  .mt-n-sm-n4 {
    margin-top: -1.5rem !important; }
  .mt-n-sm-n5 {
    margin-top: -3rem !important; }
  .gx-sm-xs {
    --bs-gutter-x: 12px !important; }
  .gx-sm-s {
    --bs-gutter-x: 20px !important; }
  .gx-sm-ms {
    --bs-gutter-x: 32px !important; }
  .gx-sm-m {
    --bs-gutter-x: 40px !important; }
  .gx-sm-lg {
    --bs-gutter-x: 60px !important; }
  .gx-sm-xl {
    --bs-gutter-x: 80px !important; }
  .gx-sm-xxl {
    --bs-gutter-x: 120px !important; }
  .gx-sm-xxxl {
    --bs-gutter-x: 160px !important; }
  .gy-sm-xs {
    --bs-gutter-y: 12px !important; }
  .gy-sm-s {
    --bs-gutter-y: 20px !important; }
  .gy-sm-ms {
    --bs-gutter-y: 32px !important; }
  .gy-sm-m {
    --bs-gutter-y: 40px !important; }
  .gy-sm-lg {
    --bs-gutter-y: 60px !important; }
  .gy-sm-xl {
    --bs-gutter-y: 80px !important; }
  .gy-sm-xxl {
    --bs-gutter-y: 120px !important; }
  .gy-sm-xxxl {
    --bs-gutter-y: 160px !important; } }

@media (min-width: 768px) {
  .bg-md-section-highlight {
    background-color: #F9FAFF !important; }
  .bg-md-footer {
    background-color: #1F2A37 !important; }
  .gap-md-xs {
    gap: 12px !important; }
  .gap-md-s {
    gap: 20px !important; }
  .gap-md-ms {
    gap: 32px !important; }
  .gap-md-m {
    gap: 40px !important; }
  .gap-md-lg {
    gap: 60px !important; }
  .gap-md-xl {
    gap: 80px !important; }
  .gap-md-xxl {
    gap: 120px !important; }
  .gap-md-xxxl {
    gap: 160px !important; }
  .column-gap-md-xs {
    -webkit-column-gap: 12px !important;
       -moz-column-gap: 12px !important;
            column-gap: 12px !important; }
  .column-gap-md-s {
    -webkit-column-gap: 20px !important;
       -moz-column-gap: 20px !important;
            column-gap: 20px !important; }
  .column-gap-md-ms {
    -webkit-column-gap: 32px !important;
       -moz-column-gap: 32px !important;
            column-gap: 32px !important; }
  .column-gap-md-m {
    -webkit-column-gap: 40px !important;
       -moz-column-gap: 40px !important;
            column-gap: 40px !important; }
  .column-gap-md-lg {
    -webkit-column-gap: 60px !important;
       -moz-column-gap: 60px !important;
            column-gap: 60px !important; }
  .column-gap-md-xl {
    -webkit-column-gap: 80px !important;
       -moz-column-gap: 80px !important;
            column-gap: 80px !important; }
  .column-gap-md-xxl {
    -webkit-column-gap: 120px !important;
       -moz-column-gap: 120px !important;
            column-gap: 120px !important; }
  .column-gap-md-xxxl {
    -webkit-column-gap: 160px !important;
       -moz-column-gap: 160px !important;
            column-gap: 160px !important; }
  .row-gap-md-xs {
    row-gap: 12px !important; }
  .row-gap-md-s {
    row-gap: 20px !important; }
  .row-gap-md-ms {
    row-gap: 32px !important; }
  .row-gap-md-m {
    row-gap: 40px !important; }
  .row-gap-md-lg {
    row-gap: 60px !important; }
  .row-gap-md-xl {
    row-gap: 80px !important; }
  .row-gap-md-xxl {
    row-gap: 120px !important; }
  .row-gap-md-xxxl {
    row-gap: 160px !important; }
  .p-md-xs {
    padding: 12px !important; }
  .p-md-s {
    padding: 20px !important; }
  .p-md-ms {
    padding: 32px !important; }
  .p-md-m {
    padding: 40px !important; }
  .p-md-lg {
    padding: 60px !important; }
  .p-md-xl {
    padding: 80px !important; }
  .p-md-xxl {
    padding: 120px !important; }
  .p-md-xxxl {
    padding: 160px !important; }
  .pt-md-xs {
    padding-top: 12px !important; }
  .pt-md-s {
    padding-top: 20px !important; }
  .pt-md-ms {
    padding-top: 32px !important; }
  .pt-md-m {
    padding-top: 40px !important; }
  .pt-md-lg {
    padding-top: 60px !important; }
  .pt-md-xl {
    padding-top: 80px !important; }
  .pt-md-xxl {
    padding-top: 120px !important; }
  .pt-md-xxxl {
    padding-top: 160px !important; }
  .pb-md-xs {
    padding-bottom: 12px !important; }
  .pb-md-s {
    padding-bottom: 20px !important; }
  .pb-md-ms {
    padding-bottom: 32px !important; }
  .pb-md-m {
    padding-bottom: 40px !important; }
  .pb-md-lg {
    padding-bottom: 60px !important; }
  .pb-md-xl {
    padding-bottom: 80px !important; }
  .pb-md-xxl {
    padding-bottom: 120px !important; }
  .pb-md-xxxl {
    padding-bottom: 160px !important; }
  .px-md-xs {
    padding-inline: 12px !important; }
  .px-md-s {
    padding-inline: 20px !important; }
  .px-md-ms {
    padding-inline: 32px !important; }
  .px-md-m {
    padding-inline: 40px !important; }
  .px-md-lg {
    padding-inline: 60px !important; }
  .px-md-xl {
    padding-inline: 80px !important; }
  .px-md-xxl {
    padding-inline: 120px !important; }
  .px-md-xxxl {
    padding-inline: 160px !important; }
  .py-md-xs {
    padding-block: 12px !important; }
  .py-md-s {
    padding-block: 20px !important; }
  .py-md-ms {
    padding-block: 32px !important; }
  .py-md-m {
    padding-block: 40px !important; }
  .py-md-lg {
    padding-block: 60px !important; }
  .py-md-xl {
    padding-block: 80px !important; }
  .py-md-xxl {
    padding-block: 120px !important; }
  .py-md-xxxl {
    padding-block: 160px !important; }
  .m-md-xs {
    margin: 12px !important; }
  .m-md-s {
    margin: 20px !important; }
  .m-md-ms {
    margin: 32px !important; }
  .m-md-m {
    margin: 40px !important; }
  .m-md-lg {
    margin: 60px !important; }
  .m-md-xl {
    margin: 80px !important; }
  .m-md-xxl {
    margin: 120px !important; }
  .m-md-xxxl {
    margin: 160px !important; }
  .mt-md-xs {
    margin-top: 12px !important; }
  .mt-md-s {
    margin-top: 20px !important; }
  .mt-md-ms {
    margin-top: 32px !important; }
  .mt-md-m {
    margin-top: 40px !important; }
  .mt-md-lg {
    margin-top: 60px !important; }
  .mt-md-xl {
    margin-top: 80px !important; }
  .mt-md-xxl {
    margin-top: 120px !important; }
  .mt-md-xxxl {
    margin-top: 160px !important; }
  .mb-md-xs {
    margin-bottom: 12px !important; }
  .mb-md-s {
    margin-bottom: 20px !important; }
  .mb-md-ms {
    margin-bottom: 32px !important; }
  .mb-md-m {
    margin-bottom: 40px !important; }
  .mb-md-lg {
    margin-bottom: 60px !important; }
  .mb-md-xl {
    margin-bottom: 80px !important; }
  .mb-md-xxl {
    margin-bottom: 120px !important; }
  .mb-md-xxxl {
    margin-bottom: 160px !important; }
  .ms-md-xs {
    margin-left: 12px !important; }
  .ms-md-s {
    margin-left: 20px !important; }
  .ms-md-ms {
    margin-left: 32px !important; }
  .ms-md-m {
    margin-left: 40px !important; }
  .ms-md-lg {
    margin-left: 60px !important; }
  .ms-md-xl {
    margin-left: 80px !important; }
  .ms-md-xxl {
    margin-left: 120px !important; }
  .ms-md-xxxl {
    margin-left: 160px !important; }
  .me-md-xs {
    margin-left: 12px !important; }
  .me-md-s {
    margin-left: 20px !important; }
  .me-md-ms {
    margin-left: 32px !important; }
  .me-md-m {
    margin-left: 40px !important; }
  .me-md-lg {
    margin-left: 60px !important; }
  .me-md-xl {
    margin-left: 80px !important; }
  .me-md-xxl {
    margin-left: 120px !important; }
  .me-md-xxxl {
    margin-left: 160px !important; }
  .mx-md-xs {
    margin-inline: 12px !important; }
  .mx-md-s {
    margin-inline: 20px !important; }
  .mx-md-ms {
    margin-inline: 32px !important; }
  .mx-md-m {
    margin-inline: 40px !important; }
  .mx-md-lg {
    margin-inline: 60px !important; }
  .mx-md-xl {
    margin-inline: 80px !important; }
  .mx-md-xxl {
    margin-inline: 120px !important; }
  .mx-md-xxxl {
    margin-inline: 160px !important; }
  .my-md-xs {
    margin-block: 12px !important; }
  .my-md-s {
    margin-block: 20px !important; }
  .my-md-ms {
    margin-block: 32px !important; }
  .my-md-m {
    margin-block: 40px !important; }
  .my-md-lg {
    margin-block: 60px !important; }
  .my-md-xl {
    margin-block: 80px !important; }
  .my-md-xxl {
    margin-block: 120px !important; }
  .my-md-xxxl {
    margin-block: 160px !important; }
  .mt-n-md-n1 {
    margin-top: -0.25rem !important; }
  .mt-n-md-n2 {
    margin-top: -0.5rem !important; }
  .mt-n-md-n3 {
    margin-top: -1rem !important; }
  .mt-n-md-n4 {
    margin-top: -1.5rem !important; }
  .mt-n-md-n5 {
    margin-top: -3rem !important; }
  .gx-md-xs {
    --bs-gutter-x: 12px !important; }
  .gx-md-s {
    --bs-gutter-x: 20px !important; }
  .gx-md-ms {
    --bs-gutter-x: 32px !important; }
  .gx-md-m {
    --bs-gutter-x: 40px !important; }
  .gx-md-lg {
    --bs-gutter-x: 60px !important; }
  .gx-md-xl {
    --bs-gutter-x: 80px !important; }
  .gx-md-xxl {
    --bs-gutter-x: 120px !important; }
  .gx-md-xxxl {
    --bs-gutter-x: 160px !important; }
  .gy-md-xs {
    --bs-gutter-y: 12px !important; }
  .gy-md-s {
    --bs-gutter-y: 20px !important; }
  .gy-md-ms {
    --bs-gutter-y: 32px !important; }
  .gy-md-m {
    --bs-gutter-y: 40px !important; }
  .gy-md-lg {
    --bs-gutter-y: 60px !important; }
  .gy-md-xl {
    --bs-gutter-y: 80px !important; }
  .gy-md-xxl {
    --bs-gutter-y: 120px !important; }
  .gy-md-xxxl {
    --bs-gutter-y: 160px !important; } }

@media (min-width: 992px) {
  .bg-lg-section-highlight {
    background-color: #F9FAFF !important; }
  .bg-lg-footer {
    background-color: #1F2A37 !important; }
  .gap-lg-xs {
    gap: 12px !important; }
  .gap-lg-s {
    gap: 20px !important; }
  .gap-lg-ms {
    gap: 32px !important; }
  .gap-lg-m {
    gap: 40px !important; }
  .gap-lg-lg {
    gap: 60px !important; }
  .gap-lg-xl {
    gap: 80px !important; }
  .gap-lg-xxl {
    gap: 120px !important; }
  .gap-lg-xxxl {
    gap: 160px !important; }
  .column-gap-lg-xs {
    -webkit-column-gap: 12px !important;
       -moz-column-gap: 12px !important;
            column-gap: 12px !important; }
  .column-gap-lg-s {
    -webkit-column-gap: 20px !important;
       -moz-column-gap: 20px !important;
            column-gap: 20px !important; }
  .column-gap-lg-ms {
    -webkit-column-gap: 32px !important;
       -moz-column-gap: 32px !important;
            column-gap: 32px !important; }
  .column-gap-lg-m {
    -webkit-column-gap: 40px !important;
       -moz-column-gap: 40px !important;
            column-gap: 40px !important; }
  .column-gap-lg-lg {
    -webkit-column-gap: 60px !important;
       -moz-column-gap: 60px !important;
            column-gap: 60px !important; }
  .column-gap-lg-xl {
    -webkit-column-gap: 80px !important;
       -moz-column-gap: 80px !important;
            column-gap: 80px !important; }
  .column-gap-lg-xxl {
    -webkit-column-gap: 120px !important;
       -moz-column-gap: 120px !important;
            column-gap: 120px !important; }
  .column-gap-lg-xxxl {
    -webkit-column-gap: 160px !important;
       -moz-column-gap: 160px !important;
            column-gap: 160px !important; }
  .row-gap-lg-xs {
    row-gap: 12px !important; }
  .row-gap-lg-s {
    row-gap: 20px !important; }
  .row-gap-lg-ms {
    row-gap: 32px !important; }
  .row-gap-lg-m {
    row-gap: 40px !important; }
  .row-gap-lg-lg {
    row-gap: 60px !important; }
  .row-gap-lg-xl {
    row-gap: 80px !important; }
  .row-gap-lg-xxl {
    row-gap: 120px !important; }
  .row-gap-lg-xxxl {
    row-gap: 160px !important; }
  .p-lg-xs {
    padding: 12px !important; }
  .p-lg-s {
    padding: 20px !important; }
  .p-lg-ms {
    padding: 32px !important; }
  .p-lg-m {
    padding: 40px !important; }
  .p-lg-lg {
    padding: 60px !important; }
  .p-lg-xl {
    padding: 80px !important; }
  .p-lg-xxl {
    padding: 120px !important; }
  .p-lg-xxxl {
    padding: 160px !important; }
  .pt-lg-xs {
    padding-top: 12px !important; }
  .pt-lg-s {
    padding-top: 20px !important; }
  .pt-lg-ms {
    padding-top: 32px !important; }
  .pt-lg-m {
    padding-top: 40px !important; }
  .pt-lg-lg {
    padding-top: 60px !important; }
  .pt-lg-xl {
    padding-top: 80px !important; }
  .pt-lg-xxl {
    padding-top: 120px !important; }
  .pt-lg-xxxl {
    padding-top: 160px !important; }
  .pb-lg-xs {
    padding-bottom: 12px !important; }
  .pb-lg-s {
    padding-bottom: 20px !important; }
  .pb-lg-ms {
    padding-bottom: 32px !important; }
  .pb-lg-m {
    padding-bottom: 40px !important; }
  .pb-lg-lg {
    padding-bottom: 60px !important; }
  .pb-lg-xl {
    padding-bottom: 80px !important; }
  .pb-lg-xxl {
    padding-bottom: 120px !important; }
  .pb-lg-xxxl {
    padding-bottom: 160px !important; }
  .px-lg-xs {
    padding-inline: 12px !important; }
  .px-lg-s {
    padding-inline: 20px !important; }
  .px-lg-ms {
    padding-inline: 32px !important; }
  .px-lg-m {
    padding-inline: 40px !important; }
  .px-lg-lg {
    padding-inline: 60px !important; }
  .px-lg-xl {
    padding-inline: 80px !important; }
  .px-lg-xxl {
    padding-inline: 120px !important; }
  .px-lg-xxxl {
    padding-inline: 160px !important; }
  .py-lg-xs {
    padding-block: 12px !important; }
  .py-lg-s {
    padding-block: 20px !important; }
  .py-lg-ms {
    padding-block: 32px !important; }
  .py-lg-m {
    padding-block: 40px !important; }
  .py-lg-lg {
    padding-block: 60px !important; }
  .py-lg-xl {
    padding-block: 80px !important; }
  .py-lg-xxl {
    padding-block: 120px !important; }
  .py-lg-xxxl {
    padding-block: 160px !important; }
  .m-lg-xs {
    margin: 12px !important; }
  .m-lg-s {
    margin: 20px !important; }
  .m-lg-ms {
    margin: 32px !important; }
  .m-lg-m {
    margin: 40px !important; }
  .m-lg-lg {
    margin: 60px !important; }
  .m-lg-xl {
    margin: 80px !important; }
  .m-lg-xxl {
    margin: 120px !important; }
  .m-lg-xxxl {
    margin: 160px !important; }
  .mt-lg-xs {
    margin-top: 12px !important; }
  .mt-lg-s {
    margin-top: 20px !important; }
  .mt-lg-ms {
    margin-top: 32px !important; }
  .mt-lg-m {
    margin-top: 40px !important; }
  .mt-lg-lg {
    margin-top: 60px !important; }
  .mt-lg-xl {
    margin-top: 80px !important; }
  .mt-lg-xxl {
    margin-top: 120px !important; }
  .mt-lg-xxxl {
    margin-top: 160px !important; }
  .mb-lg-xs {
    margin-bottom: 12px !important; }
  .mb-lg-s {
    margin-bottom: 20px !important; }
  .mb-lg-ms {
    margin-bottom: 32px !important; }
  .mb-lg-m {
    margin-bottom: 40px !important; }
  .mb-lg-lg {
    margin-bottom: 60px !important; }
  .mb-lg-xl {
    margin-bottom: 80px !important; }
  .mb-lg-xxl {
    margin-bottom: 120px !important; }
  .mb-lg-xxxl {
    margin-bottom: 160px !important; }
  .ms-lg-xs {
    margin-left: 12px !important; }
  .ms-lg-s {
    margin-left: 20px !important; }
  .ms-lg-ms {
    margin-left: 32px !important; }
  .ms-lg-m {
    margin-left: 40px !important; }
  .ms-lg-lg {
    margin-left: 60px !important; }
  .ms-lg-xl {
    margin-left: 80px !important; }
  .ms-lg-xxl {
    margin-left: 120px !important; }
  .ms-lg-xxxl {
    margin-left: 160px !important; }
  .me-lg-xs {
    margin-left: 12px !important; }
  .me-lg-s {
    margin-left: 20px !important; }
  .me-lg-ms {
    margin-left: 32px !important; }
  .me-lg-m {
    margin-left: 40px !important; }
  .me-lg-lg {
    margin-left: 60px !important; }
  .me-lg-xl {
    margin-left: 80px !important; }
  .me-lg-xxl {
    margin-left: 120px !important; }
  .me-lg-xxxl {
    margin-left: 160px !important; }
  .mx-lg-xs {
    margin-inline: 12px !important; }
  .mx-lg-s {
    margin-inline: 20px !important; }
  .mx-lg-ms {
    margin-inline: 32px !important; }
  .mx-lg-m {
    margin-inline: 40px !important; }
  .mx-lg-lg {
    margin-inline: 60px !important; }
  .mx-lg-xl {
    margin-inline: 80px !important; }
  .mx-lg-xxl {
    margin-inline: 120px !important; }
  .mx-lg-xxxl {
    margin-inline: 160px !important; }
  .my-lg-xs {
    margin-block: 12px !important; }
  .my-lg-s {
    margin-block: 20px !important; }
  .my-lg-ms {
    margin-block: 32px !important; }
  .my-lg-m {
    margin-block: 40px !important; }
  .my-lg-lg {
    margin-block: 60px !important; }
  .my-lg-xl {
    margin-block: 80px !important; }
  .my-lg-xxl {
    margin-block: 120px !important; }
  .my-lg-xxxl {
    margin-block: 160px !important; }
  .mt-n-lg-n1 {
    margin-top: -0.25rem !important; }
  .mt-n-lg-n2 {
    margin-top: -0.5rem !important; }
  .mt-n-lg-n3 {
    margin-top: -1rem !important; }
  .mt-n-lg-n4 {
    margin-top: -1.5rem !important; }
  .mt-n-lg-n5 {
    margin-top: -3rem !important; }
  .gx-lg-xs {
    --bs-gutter-x: 12px !important; }
  .gx-lg-s {
    --bs-gutter-x: 20px !important; }
  .gx-lg-ms {
    --bs-gutter-x: 32px !important; }
  .gx-lg-m {
    --bs-gutter-x: 40px !important; }
  .gx-lg-lg {
    --bs-gutter-x: 60px !important; }
  .gx-lg-xl {
    --bs-gutter-x: 80px !important; }
  .gx-lg-xxl {
    --bs-gutter-x: 120px !important; }
  .gx-lg-xxxl {
    --bs-gutter-x: 160px !important; }
  .gy-lg-xs {
    --bs-gutter-y: 12px !important; }
  .gy-lg-s {
    --bs-gutter-y: 20px !important; }
  .gy-lg-ms {
    --bs-gutter-y: 32px !important; }
  .gy-lg-m {
    --bs-gutter-y: 40px !important; }
  .gy-lg-lg {
    --bs-gutter-y: 60px !important; }
  .gy-lg-xl {
    --bs-gutter-y: 80px !important; }
  .gy-lg-xxl {
    --bs-gutter-y: 120px !important; }
  .gy-lg-xxxl {
    --bs-gutter-y: 160px !important; } }

@media (min-width: 1200px) {
  .bg-xl-section-highlight {
    background-color: #F9FAFF !important; }
  .bg-xl-footer {
    background-color: #1F2A37 !important; }
  .gap-xl-xs {
    gap: 12px !important; }
  .gap-xl-s {
    gap: 20px !important; }
  .gap-xl-ms {
    gap: 32px !important; }
  .gap-xl-m {
    gap: 40px !important; }
  .gap-xl-lg {
    gap: 60px !important; }
  .gap-xl-xl {
    gap: 80px !important; }
  .gap-xl-xxl {
    gap: 120px !important; }
  .gap-xl-xxxl {
    gap: 160px !important; }
  .column-gap-xl-xs {
    -webkit-column-gap: 12px !important;
       -moz-column-gap: 12px !important;
            column-gap: 12px !important; }
  .column-gap-xl-s {
    -webkit-column-gap: 20px !important;
       -moz-column-gap: 20px !important;
            column-gap: 20px !important; }
  .column-gap-xl-ms {
    -webkit-column-gap: 32px !important;
       -moz-column-gap: 32px !important;
            column-gap: 32px !important; }
  .column-gap-xl-m {
    -webkit-column-gap: 40px !important;
       -moz-column-gap: 40px !important;
            column-gap: 40px !important; }
  .column-gap-xl-lg {
    -webkit-column-gap: 60px !important;
       -moz-column-gap: 60px !important;
            column-gap: 60px !important; }
  .column-gap-xl-xl {
    -webkit-column-gap: 80px !important;
       -moz-column-gap: 80px !important;
            column-gap: 80px !important; }
  .column-gap-xl-xxl {
    -webkit-column-gap: 120px !important;
       -moz-column-gap: 120px !important;
            column-gap: 120px !important; }
  .column-gap-xl-xxxl {
    -webkit-column-gap: 160px !important;
       -moz-column-gap: 160px !important;
            column-gap: 160px !important; }
  .row-gap-xl-xs {
    row-gap: 12px !important; }
  .row-gap-xl-s {
    row-gap: 20px !important; }
  .row-gap-xl-ms {
    row-gap: 32px !important; }
  .row-gap-xl-m {
    row-gap: 40px !important; }
  .row-gap-xl-lg {
    row-gap: 60px !important; }
  .row-gap-xl-xl {
    row-gap: 80px !important; }
  .row-gap-xl-xxl {
    row-gap: 120px !important; }
  .row-gap-xl-xxxl {
    row-gap: 160px !important; }
  .p-xl-xs {
    padding: 12px !important; }
  .p-xl-s {
    padding: 20px !important; }
  .p-xl-ms {
    padding: 32px !important; }
  .p-xl-m {
    padding: 40px !important; }
  .p-xl-lg {
    padding: 60px !important; }
  .p-xl-xl {
    padding: 80px !important; }
  .p-xl-xxl {
    padding: 120px !important; }
  .p-xl-xxxl {
    padding: 160px !important; }
  .pt-xl-xs {
    padding-top: 12px !important; }
  .pt-xl-s {
    padding-top: 20px !important; }
  .pt-xl-ms {
    padding-top: 32px !important; }
  .pt-xl-m {
    padding-top: 40px !important; }
  .pt-xl-lg {
    padding-top: 60px !important; }
  .pt-xl-xl {
    padding-top: 80px !important; }
  .pt-xl-xxl {
    padding-top: 120px !important; }
  .pt-xl-xxxl {
    padding-top: 160px !important; }
  .pb-xl-xs {
    padding-bottom: 12px !important; }
  .pb-xl-s {
    padding-bottom: 20px !important; }
  .pb-xl-ms {
    padding-bottom: 32px !important; }
  .pb-xl-m {
    padding-bottom: 40px !important; }
  .pb-xl-lg {
    padding-bottom: 60px !important; }
  .pb-xl-xl {
    padding-bottom: 80px !important; }
  .pb-xl-xxl {
    padding-bottom: 120px !important; }
  .pb-xl-xxxl {
    padding-bottom: 160px !important; }
  .px-xl-xs {
    padding-inline: 12px !important; }
  .px-xl-s {
    padding-inline: 20px !important; }
  .px-xl-ms {
    padding-inline: 32px !important; }
  .px-xl-m {
    padding-inline: 40px !important; }
  .px-xl-lg {
    padding-inline: 60px !important; }
  .px-xl-xl {
    padding-inline: 80px !important; }
  .px-xl-xxl {
    padding-inline: 120px !important; }
  .px-xl-xxxl {
    padding-inline: 160px !important; }
  .py-xl-xs {
    padding-block: 12px !important; }
  .py-xl-s {
    padding-block: 20px !important; }
  .py-xl-ms {
    padding-block: 32px !important; }
  .py-xl-m {
    padding-block: 40px !important; }
  .py-xl-lg {
    padding-block: 60px !important; }
  .py-xl-xl {
    padding-block: 80px !important; }
  .py-xl-xxl {
    padding-block: 120px !important; }
  .py-xl-xxxl {
    padding-block: 160px !important; }
  .m-xl-xs {
    margin: 12px !important; }
  .m-xl-s {
    margin: 20px !important; }
  .m-xl-ms {
    margin: 32px !important; }
  .m-xl-m {
    margin: 40px !important; }
  .m-xl-lg {
    margin: 60px !important; }
  .m-xl-xl {
    margin: 80px !important; }
  .m-xl-xxl {
    margin: 120px !important; }
  .m-xl-xxxl {
    margin: 160px !important; }
  .mt-xl-xs {
    margin-top: 12px !important; }
  .mt-xl-s {
    margin-top: 20px !important; }
  .mt-xl-ms {
    margin-top: 32px !important; }
  .mt-xl-m {
    margin-top: 40px !important; }
  .mt-xl-lg {
    margin-top: 60px !important; }
  .mt-xl-xl {
    margin-top: 80px !important; }
  .mt-xl-xxl {
    margin-top: 120px !important; }
  .mt-xl-xxxl {
    margin-top: 160px !important; }
  .mb-xl-xs {
    margin-bottom: 12px !important; }
  .mb-xl-s {
    margin-bottom: 20px !important; }
  .mb-xl-ms {
    margin-bottom: 32px !important; }
  .mb-xl-m {
    margin-bottom: 40px !important; }
  .mb-xl-lg {
    margin-bottom: 60px !important; }
  .mb-xl-xl {
    margin-bottom: 80px !important; }
  .mb-xl-xxl {
    margin-bottom: 120px !important; }
  .mb-xl-xxxl {
    margin-bottom: 160px !important; }
  .ms-xl-xs {
    margin-left: 12px !important; }
  .ms-xl-s {
    margin-left: 20px !important; }
  .ms-xl-ms {
    margin-left: 32px !important; }
  .ms-xl-m {
    margin-left: 40px !important; }
  .ms-xl-lg {
    margin-left: 60px !important; }
  .ms-xl-xl {
    margin-left: 80px !important; }
  .ms-xl-xxl {
    margin-left: 120px !important; }
  .ms-xl-xxxl {
    margin-left: 160px !important; }
  .me-xl-xs {
    margin-left: 12px !important; }
  .me-xl-s {
    margin-left: 20px !important; }
  .me-xl-ms {
    margin-left: 32px !important; }
  .me-xl-m {
    margin-left: 40px !important; }
  .me-xl-lg {
    margin-left: 60px !important; }
  .me-xl-xl {
    margin-left: 80px !important; }
  .me-xl-xxl {
    margin-left: 120px !important; }
  .me-xl-xxxl {
    margin-left: 160px !important; }
  .mx-xl-xs {
    margin-inline: 12px !important; }
  .mx-xl-s {
    margin-inline: 20px !important; }
  .mx-xl-ms {
    margin-inline: 32px !important; }
  .mx-xl-m {
    margin-inline: 40px !important; }
  .mx-xl-lg {
    margin-inline: 60px !important; }
  .mx-xl-xl {
    margin-inline: 80px !important; }
  .mx-xl-xxl {
    margin-inline: 120px !important; }
  .mx-xl-xxxl {
    margin-inline: 160px !important; }
  .my-xl-xs {
    margin-block: 12px !important; }
  .my-xl-s {
    margin-block: 20px !important; }
  .my-xl-ms {
    margin-block: 32px !important; }
  .my-xl-m {
    margin-block: 40px !important; }
  .my-xl-lg {
    margin-block: 60px !important; }
  .my-xl-xl {
    margin-block: 80px !important; }
  .my-xl-xxl {
    margin-block: 120px !important; }
  .my-xl-xxxl {
    margin-block: 160px !important; }
  .mt-n-xl-n1 {
    margin-top: -0.25rem !important; }
  .mt-n-xl-n2 {
    margin-top: -0.5rem !important; }
  .mt-n-xl-n3 {
    margin-top: -1rem !important; }
  .mt-n-xl-n4 {
    margin-top: -1.5rem !important; }
  .mt-n-xl-n5 {
    margin-top: -3rem !important; }
  .gx-xl-xs {
    --bs-gutter-x: 12px !important; }
  .gx-xl-s {
    --bs-gutter-x: 20px !important; }
  .gx-xl-ms {
    --bs-gutter-x: 32px !important; }
  .gx-xl-m {
    --bs-gutter-x: 40px !important; }
  .gx-xl-lg {
    --bs-gutter-x: 60px !important; }
  .gx-xl-xl {
    --bs-gutter-x: 80px !important; }
  .gx-xl-xxl {
    --bs-gutter-x: 120px !important; }
  .gx-xl-xxxl {
    --bs-gutter-x: 160px !important; }
  .gy-xl-xs {
    --bs-gutter-y: 12px !important; }
  .gy-xl-s {
    --bs-gutter-y: 20px !important; }
  .gy-xl-ms {
    --bs-gutter-y: 32px !important; }
  .gy-xl-m {
    --bs-gutter-y: 40px !important; }
  .gy-xl-lg {
    --bs-gutter-y: 60px !important; }
  .gy-xl-xl {
    --bs-gutter-y: 80px !important; }
  .gy-xl-xxl {
    --bs-gutter-y: 120px !important; }
  .gy-xl-xxxl {
    --bs-gutter-y: 160px !important; } }

@media (min-width: 1400px) {
  .bg-xxl-section-highlight {
    background-color: #F9FAFF !important; }
  .bg-xxl-footer {
    background-color: #1F2A37 !important; }
  .gap-xxl-xs {
    gap: 12px !important; }
  .gap-xxl-s {
    gap: 20px !important; }
  .gap-xxl-ms {
    gap: 32px !important; }
  .gap-xxl-m {
    gap: 40px !important; }
  .gap-xxl-lg {
    gap: 60px !important; }
  .gap-xxl-xl {
    gap: 80px !important; }
  .gap-xxl-xxl {
    gap: 120px !important; }
  .gap-xxl-xxxl {
    gap: 160px !important; }
  .column-gap-xxl-xs {
    -webkit-column-gap: 12px !important;
       -moz-column-gap: 12px !important;
            column-gap: 12px !important; }
  .column-gap-xxl-s {
    -webkit-column-gap: 20px !important;
       -moz-column-gap: 20px !important;
            column-gap: 20px !important; }
  .column-gap-xxl-ms {
    -webkit-column-gap: 32px !important;
       -moz-column-gap: 32px !important;
            column-gap: 32px !important; }
  .column-gap-xxl-m {
    -webkit-column-gap: 40px !important;
       -moz-column-gap: 40px !important;
            column-gap: 40px !important; }
  .column-gap-xxl-lg {
    -webkit-column-gap: 60px !important;
       -moz-column-gap: 60px !important;
            column-gap: 60px !important; }
  .column-gap-xxl-xl {
    -webkit-column-gap: 80px !important;
       -moz-column-gap: 80px !important;
            column-gap: 80px !important; }
  .column-gap-xxl-xxl {
    -webkit-column-gap: 120px !important;
       -moz-column-gap: 120px !important;
            column-gap: 120px !important; }
  .column-gap-xxl-xxxl {
    -webkit-column-gap: 160px !important;
       -moz-column-gap: 160px !important;
            column-gap: 160px !important; }
  .row-gap-xxl-xs {
    row-gap: 12px !important; }
  .row-gap-xxl-s {
    row-gap: 20px !important; }
  .row-gap-xxl-ms {
    row-gap: 32px !important; }
  .row-gap-xxl-m {
    row-gap: 40px !important; }
  .row-gap-xxl-lg {
    row-gap: 60px !important; }
  .row-gap-xxl-xl {
    row-gap: 80px !important; }
  .row-gap-xxl-xxl {
    row-gap: 120px !important; }
  .row-gap-xxl-xxxl {
    row-gap: 160px !important; }
  .p-xxl-xs {
    padding: 12px !important; }
  .p-xxl-s {
    padding: 20px !important; }
  .p-xxl-ms {
    padding: 32px !important; }
  .p-xxl-m {
    padding: 40px !important; }
  .p-xxl-lg {
    padding: 60px !important; }
  .p-xxl-xl {
    padding: 80px !important; }
  .p-xxl-xxl {
    padding: 120px !important; }
  .p-xxl-xxxl {
    padding: 160px !important; }
  .pt-xxl-xs {
    padding-top: 12px !important; }
  .pt-xxl-s {
    padding-top: 20px !important; }
  .pt-xxl-ms {
    padding-top: 32px !important; }
  .pt-xxl-m {
    padding-top: 40px !important; }
  .pt-xxl-lg {
    padding-top: 60px !important; }
  .pt-xxl-xl {
    padding-top: 80px !important; }
  .pt-xxl-xxl {
    padding-top: 120px !important; }
  .pt-xxl-xxxl {
    padding-top: 160px !important; }
  .pb-xxl-xs {
    padding-bottom: 12px !important; }
  .pb-xxl-s {
    padding-bottom: 20px !important; }
  .pb-xxl-ms {
    padding-bottom: 32px !important; }
  .pb-xxl-m {
    padding-bottom: 40px !important; }
  .pb-xxl-lg {
    padding-bottom: 60px !important; }
  .pb-xxl-xl {
    padding-bottom: 80px !important; }
  .pb-xxl-xxl {
    padding-bottom: 120px !important; }
  .pb-xxl-xxxl {
    padding-bottom: 160px !important; }
  .px-xxl-xs {
    padding-inline: 12px !important; }
  .px-xxl-s {
    padding-inline: 20px !important; }
  .px-xxl-ms {
    padding-inline: 32px !important; }
  .px-xxl-m {
    padding-inline: 40px !important; }
  .px-xxl-lg {
    padding-inline: 60px !important; }
  .px-xxl-xl {
    padding-inline: 80px !important; }
  .px-xxl-xxl {
    padding-inline: 120px !important; }
  .px-xxl-xxxl {
    padding-inline: 160px !important; }
  .py-xxl-xs {
    padding-block: 12px !important; }
  .py-xxl-s {
    padding-block: 20px !important; }
  .py-xxl-ms {
    padding-block: 32px !important; }
  .py-xxl-m {
    padding-block: 40px !important; }
  .py-xxl-lg {
    padding-block: 60px !important; }
  .py-xxl-xl {
    padding-block: 80px !important; }
  .py-xxl-xxl {
    padding-block: 120px !important; }
  .py-xxl-xxxl {
    padding-block: 160px !important; }
  .m-xxl-xs {
    margin: 12px !important; }
  .m-xxl-s {
    margin: 20px !important; }
  .m-xxl-ms {
    margin: 32px !important; }
  .m-xxl-m {
    margin: 40px !important; }
  .m-xxl-lg {
    margin: 60px !important; }
  .m-xxl-xl {
    margin: 80px !important; }
  .m-xxl-xxl {
    margin: 120px !important; }
  .m-xxl-xxxl {
    margin: 160px !important; }
  .mt-xxl-xs {
    margin-top: 12px !important; }
  .mt-xxl-s {
    margin-top: 20px !important; }
  .mt-xxl-ms {
    margin-top: 32px !important; }
  .mt-xxl-m {
    margin-top: 40px !important; }
  .mt-xxl-lg {
    margin-top: 60px !important; }
  .mt-xxl-xl {
    margin-top: 80px !important; }
  .mt-xxl-xxl {
    margin-top: 120px !important; }
  .mt-xxl-xxxl {
    margin-top: 160px !important; }
  .mb-xxl-xs {
    margin-bottom: 12px !important; }
  .mb-xxl-s {
    margin-bottom: 20px !important; }
  .mb-xxl-ms {
    margin-bottom: 32px !important; }
  .mb-xxl-m {
    margin-bottom: 40px !important; }
  .mb-xxl-lg {
    margin-bottom: 60px !important; }
  .mb-xxl-xl {
    margin-bottom: 80px !important; }
  .mb-xxl-xxl {
    margin-bottom: 120px !important; }
  .mb-xxl-xxxl {
    margin-bottom: 160px !important; }
  .ms-xxl-xs {
    margin-left: 12px !important; }
  .ms-xxl-s {
    margin-left: 20px !important; }
  .ms-xxl-ms {
    margin-left: 32px !important; }
  .ms-xxl-m {
    margin-left: 40px !important; }
  .ms-xxl-lg {
    margin-left: 60px !important; }
  .ms-xxl-xl {
    margin-left: 80px !important; }
  .ms-xxl-xxl {
    margin-left: 120px !important; }
  .ms-xxl-xxxl {
    margin-left: 160px !important; }
  .me-xxl-xs {
    margin-left: 12px !important; }
  .me-xxl-s {
    margin-left: 20px !important; }
  .me-xxl-ms {
    margin-left: 32px !important; }
  .me-xxl-m {
    margin-left: 40px !important; }
  .me-xxl-lg {
    margin-left: 60px !important; }
  .me-xxl-xl {
    margin-left: 80px !important; }
  .me-xxl-xxl {
    margin-left: 120px !important; }
  .me-xxl-xxxl {
    margin-left: 160px !important; }
  .mx-xxl-xs {
    margin-inline: 12px !important; }
  .mx-xxl-s {
    margin-inline: 20px !important; }
  .mx-xxl-ms {
    margin-inline: 32px !important; }
  .mx-xxl-m {
    margin-inline: 40px !important; }
  .mx-xxl-lg {
    margin-inline: 60px !important; }
  .mx-xxl-xl {
    margin-inline: 80px !important; }
  .mx-xxl-xxl {
    margin-inline: 120px !important; }
  .mx-xxl-xxxl {
    margin-inline: 160px !important; }
  .my-xxl-xs {
    margin-block: 12px !important; }
  .my-xxl-s {
    margin-block: 20px !important; }
  .my-xxl-ms {
    margin-block: 32px !important; }
  .my-xxl-m {
    margin-block: 40px !important; }
  .my-xxl-lg {
    margin-block: 60px !important; }
  .my-xxl-xl {
    margin-block: 80px !important; }
  .my-xxl-xxl {
    margin-block: 120px !important; }
  .my-xxl-xxxl {
    margin-block: 160px !important; }
  .mt-n-xxl-n1 {
    margin-top: -0.25rem !important; }
  .mt-n-xxl-n2 {
    margin-top: -0.5rem !important; }
  .mt-n-xxl-n3 {
    margin-top: -1rem !important; }
  .mt-n-xxl-n4 {
    margin-top: -1.5rem !important; }
  .mt-n-xxl-n5 {
    margin-top: -3rem !important; }
  .gx-xxl-xs {
    --bs-gutter-x: 12px !important; }
  .gx-xxl-s {
    --bs-gutter-x: 20px !important; }
  .gx-xxl-ms {
    --bs-gutter-x: 32px !important; }
  .gx-xxl-m {
    --bs-gutter-x: 40px !important; }
  .gx-xxl-lg {
    --bs-gutter-x: 60px !important; }
  .gx-xxl-xl {
    --bs-gutter-x: 80px !important; }
  .gx-xxl-xxl {
    --bs-gutter-x: 120px !important; }
  .gx-xxl-xxxl {
    --bs-gutter-x: 160px !important; }
  .gy-xxl-xs {
    --bs-gutter-y: 12px !important; }
  .gy-xxl-s {
    --bs-gutter-y: 20px !important; }
  .gy-xxl-ms {
    --bs-gutter-y: 32px !important; }
  .gy-xxl-m {
    --bs-gutter-y: 40px !important; }
  .gy-xxl-lg {
    --bs-gutter-y: 60px !important; }
  .gy-xxl-xl {
    --bs-gutter-y: 80px !important; }
  .gy-xxl-xxl {
    --bs-gutter-y: 120px !important; }
  .gy-xxl-xxxl {
    --bs-gutter-y: 160px !important; } }

@media (min-width: 1920px) {
  .bg-xxxl-section-highlight {
    background-color: #F9FAFF !important; }
  .bg-xxxl-footer {
    background-color: #1F2A37 !important; }
  .gap-xxxl-xs {
    gap: 12px !important; }
  .gap-xxxl-s {
    gap: 20px !important; }
  .gap-xxxl-ms {
    gap: 32px !important; }
  .gap-xxxl-m {
    gap: 40px !important; }
  .gap-xxxl-lg {
    gap: 60px !important; }
  .gap-xxxl-xl {
    gap: 80px !important; }
  .gap-xxxl-xxl {
    gap: 120px !important; }
  .gap-xxxl-xxxl {
    gap: 160px !important; }
  .column-gap-xxxl-xs {
    -webkit-column-gap: 12px !important;
       -moz-column-gap: 12px !important;
            column-gap: 12px !important; }
  .column-gap-xxxl-s {
    -webkit-column-gap: 20px !important;
       -moz-column-gap: 20px !important;
            column-gap: 20px !important; }
  .column-gap-xxxl-ms {
    -webkit-column-gap: 32px !important;
       -moz-column-gap: 32px !important;
            column-gap: 32px !important; }
  .column-gap-xxxl-m {
    -webkit-column-gap: 40px !important;
       -moz-column-gap: 40px !important;
            column-gap: 40px !important; }
  .column-gap-xxxl-lg {
    -webkit-column-gap: 60px !important;
       -moz-column-gap: 60px !important;
            column-gap: 60px !important; }
  .column-gap-xxxl-xl {
    -webkit-column-gap: 80px !important;
       -moz-column-gap: 80px !important;
            column-gap: 80px !important; }
  .column-gap-xxxl-xxl {
    -webkit-column-gap: 120px !important;
       -moz-column-gap: 120px !important;
            column-gap: 120px !important; }
  .column-gap-xxxl-xxxl {
    -webkit-column-gap: 160px !important;
       -moz-column-gap: 160px !important;
            column-gap: 160px !important; }
  .row-gap-xxxl-xs {
    row-gap: 12px !important; }
  .row-gap-xxxl-s {
    row-gap: 20px !important; }
  .row-gap-xxxl-ms {
    row-gap: 32px !important; }
  .row-gap-xxxl-m {
    row-gap: 40px !important; }
  .row-gap-xxxl-lg {
    row-gap: 60px !important; }
  .row-gap-xxxl-xl {
    row-gap: 80px !important; }
  .row-gap-xxxl-xxl {
    row-gap: 120px !important; }
  .row-gap-xxxl-xxxl {
    row-gap: 160px !important; }
  .p-xxxl-xs {
    padding: 12px !important; }
  .p-xxxl-s {
    padding: 20px !important; }
  .p-xxxl-ms {
    padding: 32px !important; }
  .p-xxxl-m {
    padding: 40px !important; }
  .p-xxxl-lg {
    padding: 60px !important; }
  .p-xxxl-xl {
    padding: 80px !important; }
  .p-xxxl-xxl {
    padding: 120px !important; }
  .p-xxxl-xxxl {
    padding: 160px !important; }
  .pt-xxxl-xs {
    padding-top: 12px !important; }
  .pt-xxxl-s {
    padding-top: 20px !important; }
  .pt-xxxl-ms {
    padding-top: 32px !important; }
  .pt-xxxl-m {
    padding-top: 40px !important; }
  .pt-xxxl-lg {
    padding-top: 60px !important; }
  .pt-xxxl-xl {
    padding-top: 80px !important; }
  .pt-xxxl-xxl {
    padding-top: 120px !important; }
  .pt-xxxl-xxxl {
    padding-top: 160px !important; }
  .pb-xxxl-xs {
    padding-bottom: 12px !important; }
  .pb-xxxl-s {
    padding-bottom: 20px !important; }
  .pb-xxxl-ms {
    padding-bottom: 32px !important; }
  .pb-xxxl-m {
    padding-bottom: 40px !important; }
  .pb-xxxl-lg {
    padding-bottom: 60px !important; }
  .pb-xxxl-xl {
    padding-bottom: 80px !important; }
  .pb-xxxl-xxl {
    padding-bottom: 120px !important; }
  .pb-xxxl-xxxl {
    padding-bottom: 160px !important; }
  .px-xxxl-xs {
    padding-inline: 12px !important; }
  .px-xxxl-s {
    padding-inline: 20px !important; }
  .px-xxxl-ms {
    padding-inline: 32px !important; }
  .px-xxxl-m {
    padding-inline: 40px !important; }
  .px-xxxl-lg {
    padding-inline: 60px !important; }
  .px-xxxl-xl {
    padding-inline: 80px !important; }
  .px-xxxl-xxl {
    padding-inline: 120px !important; }
  .px-xxxl-xxxl {
    padding-inline: 160px !important; }
  .py-xxxl-xs {
    padding-block: 12px !important; }
  .py-xxxl-s {
    padding-block: 20px !important; }
  .py-xxxl-ms {
    padding-block: 32px !important; }
  .py-xxxl-m {
    padding-block: 40px !important; }
  .py-xxxl-lg {
    padding-block: 60px !important; }
  .py-xxxl-xl {
    padding-block: 80px !important; }
  .py-xxxl-xxl {
    padding-block: 120px !important; }
  .py-xxxl-xxxl {
    padding-block: 160px !important; }
  .m-xxxl-xs {
    margin: 12px !important; }
  .m-xxxl-s {
    margin: 20px !important; }
  .m-xxxl-ms {
    margin: 32px !important; }
  .m-xxxl-m {
    margin: 40px !important; }
  .m-xxxl-lg {
    margin: 60px !important; }
  .m-xxxl-xl {
    margin: 80px !important; }
  .m-xxxl-xxl {
    margin: 120px !important; }
  .m-xxxl-xxxl {
    margin: 160px !important; }
  .mt-xxxl-xs {
    margin-top: 12px !important; }
  .mt-xxxl-s {
    margin-top: 20px !important; }
  .mt-xxxl-ms {
    margin-top: 32px !important; }
  .mt-xxxl-m {
    margin-top: 40px !important; }
  .mt-xxxl-lg {
    margin-top: 60px !important; }
  .mt-xxxl-xl {
    margin-top: 80px !important; }
  .mt-xxxl-xxl {
    margin-top: 120px !important; }
  .mt-xxxl-xxxl {
    margin-top: 160px !important; }
  .mb-xxxl-xs {
    margin-bottom: 12px !important; }
  .mb-xxxl-s {
    margin-bottom: 20px !important; }
  .mb-xxxl-ms {
    margin-bottom: 32px !important; }
  .mb-xxxl-m {
    margin-bottom: 40px !important; }
  .mb-xxxl-lg {
    margin-bottom: 60px !important; }
  .mb-xxxl-xl {
    margin-bottom: 80px !important; }
  .mb-xxxl-xxl {
    margin-bottom: 120px !important; }
  .mb-xxxl-xxxl {
    margin-bottom: 160px !important; }
  .ms-xxxl-xs {
    margin-left: 12px !important; }
  .ms-xxxl-s {
    margin-left: 20px !important; }
  .ms-xxxl-ms {
    margin-left: 32px !important; }
  .ms-xxxl-m {
    margin-left: 40px !important; }
  .ms-xxxl-lg {
    margin-left: 60px !important; }
  .ms-xxxl-xl {
    margin-left: 80px !important; }
  .ms-xxxl-xxl {
    margin-left: 120px !important; }
  .ms-xxxl-xxxl {
    margin-left: 160px !important; }
  .me-xxxl-xs {
    margin-left: 12px !important; }
  .me-xxxl-s {
    margin-left: 20px !important; }
  .me-xxxl-ms {
    margin-left: 32px !important; }
  .me-xxxl-m {
    margin-left: 40px !important; }
  .me-xxxl-lg {
    margin-left: 60px !important; }
  .me-xxxl-xl {
    margin-left: 80px !important; }
  .me-xxxl-xxl {
    margin-left: 120px !important; }
  .me-xxxl-xxxl {
    margin-left: 160px !important; }
  .mx-xxxl-xs {
    margin-inline: 12px !important; }
  .mx-xxxl-s {
    margin-inline: 20px !important; }
  .mx-xxxl-ms {
    margin-inline: 32px !important; }
  .mx-xxxl-m {
    margin-inline: 40px !important; }
  .mx-xxxl-lg {
    margin-inline: 60px !important; }
  .mx-xxxl-xl {
    margin-inline: 80px !important; }
  .mx-xxxl-xxl {
    margin-inline: 120px !important; }
  .mx-xxxl-xxxl {
    margin-inline: 160px !important; }
  .my-xxxl-xs {
    margin-block: 12px !important; }
  .my-xxxl-s {
    margin-block: 20px !important; }
  .my-xxxl-ms {
    margin-block: 32px !important; }
  .my-xxxl-m {
    margin-block: 40px !important; }
  .my-xxxl-lg {
    margin-block: 60px !important; }
  .my-xxxl-xl {
    margin-block: 80px !important; }
  .my-xxxl-xxl {
    margin-block: 120px !important; }
  .my-xxxl-xxxl {
    margin-block: 160px !important; }
  .mt-n-xxxl-n1 {
    margin-top: -0.25rem !important; }
  .mt-n-xxxl-n2 {
    margin-top: -0.5rem !important; }
  .mt-n-xxxl-n3 {
    margin-top: -1rem !important; }
  .mt-n-xxxl-n4 {
    margin-top: -1.5rem !important; }
  .mt-n-xxxl-n5 {
    margin-top: -3rem !important; }
  .gx-xxxl-xs {
    --bs-gutter-x: 12px !important; }
  .gx-xxxl-s {
    --bs-gutter-x: 20px !important; }
  .gx-xxxl-ms {
    --bs-gutter-x: 32px !important; }
  .gx-xxxl-m {
    --bs-gutter-x: 40px !important; }
  .gx-xxxl-lg {
    --bs-gutter-x: 60px !important; }
  .gx-xxxl-xl {
    --bs-gutter-x: 80px !important; }
  .gx-xxxl-xxl {
    --bs-gutter-x: 120px !important; }
  .gx-xxxl-xxxl {
    --bs-gutter-x: 160px !important; }
  .gy-xxxl-xs {
    --bs-gutter-y: 12px !important; }
  .gy-xxxl-s {
    --bs-gutter-y: 20px !important; }
  .gy-xxxl-ms {
    --bs-gutter-y: 32px !important; }
  .gy-xxxl-m {
    --bs-gutter-y: 40px !important; }
  .gy-xxxl-lg {
    --bs-gutter-y: 60px !important; }
  .gy-xxxl-xl {
    --bs-gutter-y: 80px !important; }
  .gy-xxxl-xxl {
    --bs-gutter-y: 120px !important; }
  .gy-xxxl-xxxl {
    --bs-gutter-y: 160px !important; } }

/*# sourceMappingURL=main.css.map */
