@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Marcellus&family=Noto+Sans+TC:wght@100..900&display=swap");
/* ==========
  #CONFIG
  ========== */
:root {
  --font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
    Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif,
    Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
    Liberation Mono, Courier New, monospace;
  --font-serif: ui-serif, Georgia, Cambria, Times New Roman, Times, serif;
}

body {
  font-family: var(--font-sans);
  line-height: 1.5;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  -moz-tab-size: 4;
  -o-tab-size: 4;
  tab-size: 4;
}

code,
kbd,
samp {
  font-family: var(--font-mono);
}

b,
strong {
  font-weight: bolder;
}

*,
::before,
::after {
  box-sizing: border-box;
}

* {
  text-rendering: geometricPrecision;
  border: 0 solid;
}

body,
blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
button,
optgroup,
select,
textarea,
pre {
  margin: 0;
}

td,
legend,
textarea,
input,
fieldset {
  padding: 0;
}

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block;
}

ul,
ol {
  margin: 0;
  padding: 0;
}

ul {
  list-style: none;
}

hr {
  height: 0;
  color: inherit;
}

small {
  font-size: 80%;
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  margin: 0;
  padding: 0;
  color: inherit;
  background-color: transparent;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

abbr[title] {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}

table {
  text-indent: 0;
  border-color: inherit;
}

button,
select {
  text-transform: none;
}

a,
[type=button],
[role=button],
button {
  cursor: pointer;
}

::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

:-moz-ui-invalid {
  box-shadow: none;
}

progress {
  vertical-align: baseline;
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

summary {
  display: list-item;
}

progress {
  vertical-align: baseline;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

img,
video {
  max-width: 100%;
  height: auto;
}

:root {
  --cr-main-1: #54ABC3;
  --cr-main-2: #E8F8FF;
  --cr-1: color-mix(in srgb, var(--cr-main-1), var(--cr-main-2) 20%);
  --cr-2: color-mix(in srgb, var(--cr-main-1), var(--cr-main-2) 35%);
  --cr-3: color-mix(in srgb, var(--cr-main-1), var(--cr-main-2) 50%);
  --cr-4: color-mix(in srgb, var(--cr-main-1), var(--cr-main-2) 65%);
  --cr-5: color-mix(in srgb, var(--cr-main-1), var(--cr-main-2) 80%);
}

input:focus,
select:focus,
textarea:focus,
button:focus {
  outline: none;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
}
select::-ms-expand {
  display: none;
}

input.error,
select.error,
textarea.error {
  border-color: #ed6d34;
}

label.error {
  display: inline-block;
  padding: 0.25rem 0.625rem;
  margin: 0.5rem 0 0;
  font-size: 1rem;
  color: #ffffff;
  background-color: #ed6d34;
  border-radius: 0.25rem;
}

@keyframes rotate1 {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(30deg);
  }
}
@keyframes rotate2 {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(-30deg);
  }
}
@keyframes headerDown {
  0% {
    opacity: 0;
    transform: translateY(-100%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes upDown {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(1.25rem);
  }
}
@keyframes progress {
  from {
    stroke-dashoffset: 360;
  }
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes bounceInLeft {
  0%, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-187.5rem, 0, 0) scaleX(3);
    transform: translate3d(-187.5rem, 0, 0) scaleX(3);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(1.5625rem, 0, 0) scaleX(1);
    transform: translate3d(1.5625rem, 0, 0) scaleX(1);
  }
  75% {
    -webkit-transform: translate3d(-0.625rem, 0, 0) scaleX(0.98);
    transform: translate3d(-0.625rem, 0, 0) scaleX(0.98);
  }
  90% {
    -webkit-transform: translate3d(0.3125rem, 0, 0) scaleX(0.995);
    transform: translate3d(0.3125rem, 0, 0) scaleX(0.995);
  }
  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}
@keyframes fadeOutRight {
  0% {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
@keyframes fadeOutLeft {
  0% {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}
@keyframes arrow-right {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(0.625rem, 0, 0);
    transform: translate3d(0.625rem, 0, 0);
  }
}
@keyframes arrow-left {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(-0.625rem, 0, 0);
    transform: translate3d(-0.625rem, 0, 0);
  }
}
@keyframes arrow-up {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    -webkit-transform: translate3d(0, -0.625rem, 0);
    transform: translate3d(0, -0.625rem, 0);
  }
}
@keyframes rotate360 {
  0% {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 20%, 0);
    transform: translate3d(0, 20%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeDown {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -20%, 0);
    transform: translate3d(0, -20%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInUp-2 {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 3.125rem, 0);
    transform: translate3d(0, 3.125rem, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fade {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fade-left {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(6.25rem, 0, 0);
    transform: translate3d(6.25rem, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fade-right {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-6.25rem, 0, 0);
    transform: translate3d(-6.25rem, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes call {
  0% {
    transform: translateY(0) rotate(0deg);
  }
  10% {
    transform: translateY(-5px) rotate(0deg);
  }
  20% {
    transform: translateY(-5px) rotate(5deg);
  }
  30% {
    transform: translateY(-5px) rotate(0deg);
  }
  40% {
    transform: translateY(-5px) rotate(-5deg);
  }
  50% {
    transform: translateY(-5px) rotate(0deg);
  }
  60% {
    transform: translateY(-5px) rotate(5deg);
  }
  70% {
    transform: translateY(-5px) rotate(0deg);
  }
  80% {
    transform: translateY(-5px) rotate(-5deg);
  }
  90% {
    transform: translateY(-5px) rotate(0deg);
  }
  100% {
    transform: translateY(0) rotate(0deg);
  }
}
@keyframes dot_scale {
  0% {
    opacity: 1;
    transform: scale(1);
  }
  90% {
    opacity: 0;
    transform: scale(2);
  }
  100% {
    opacity: 0;
    transform: scale(2);
  }
}
@keyframes banner-scale-2 {
  0% {
    opacity: 0;
    transform: scale(1.1);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  100% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    opacity: 1;
  }
}
@keyframes flipInY {
  0% {
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
    -webkit-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
  }
  40% {
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    -webkit-transform: perspective(400px) rotateY(-20deg);
    transform: perspective(400px) rotateY(-20deg);
  }
  60% {
    opacity: 1;
    -webkit-transform: perspective(400px) rotateY(10deg);
    transform: perspective(400px) rotateY(10deg);
  }
  80% {
    -webkit-transform: perspective(400px) rotateY(-5deg);
    transform: perspective(400px) rotateY(-5deg);
  }
  to {
    opacity: 1;
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
@keyframes bird01 {
  0% {
    transform: skew(0deg) rotateX(0deg);
  }
  50% {
    transform: skew(27deg) rotateX(19deg);
  }
  100% {
    transform: skew(0deg) rotateX(0deg);
  }
}
@keyframes splitting_rotate3d {
  from {
    transform: rotate3d(1, -0.5, 0, 90deg);
  }
  to {
    transform: rotate3d(0, 0, 0, 0deg);
  }
}
@keyframes slide-in2 {
  0% {
    transform: translateY(-1em) rotate(-0.5turn) scale(0.5);
  }
  20%, 100% {
    transform: translateY(0) rotate(0deg) scale(1);
  }
}
@keyframes arrowLeft {
  0% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
  to {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
}
@keyframes cloud-1 {
  0% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(1.25rem);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes r-cloud-1 {
  0% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(-1.875rem);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes cloud-2 {
  0% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(-1.25rem) scale(0.95);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes cloud-3 {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-1.25rem) scale(0.95);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes cloud-4 {
  0% {
    transform: translate(0);
  }
  50% {
    transform: translate(0.8rem, 1.5rem);
  }
  100% {
    transform: translate(0);
  }
}
@keyframes cloud-5 {
  0% {
    transform: translate(0);
  }
  50% {
    transform: translate(0.8rem, 1.5rem) rotate(5deg);
  }
  100% {
    transform: translate(0);
  }
}
@keyframes cloud-6 {
  0% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(10%);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes cloud-7 {
  0% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(-10%);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes tree-1 {
  0% {
    transform: rotate(5deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
@keyframes tree-2 {
  0% {
    transform: rotate(-5deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
@keyframes car {
  0% {
    transform: translateX(100%);
  }
  25% {
    transform: translateX(75%) rotate(8deg);
  }
  50% {
    transform: translateX(50%) rotate(0deg);
  }
  75% {
    transform: translateX(25%) rotate(-3deg);
  }
  100% {
    transform: translateX(0%);
  }
}
@keyframes banner-scale {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.1);
  }
}
@keyframes round-scale {
  0% {
    transform: scale(1) rotate(0);
  }
  100% {
    transform: scale(0.5) rotate(360deg);
  }
}
@keyframes fade_scale {
  0% {
    opacity: 1;
    transform: scale(1);
  }
  100% {
    opacity: 0;
    transform: scale(1.3);
  }
}
@keyframes rotate_360 {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes dot-scale {
  0% {
    transform: scaleX(0);
  }
  100% {
    transform: scaleX(1);
  }
}
@keyframes moving {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(5%);
    transform: translateY(5%);
  }
}
@keyframes a-marquee-right {
  0% {
    transform: translateX(-125rem);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes a-marquee-left {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-125rem);
  }
}
@keyframes quartet-img-1 {
  0% {
    transform: translateY(-50%);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes quartet-img-2 {
  0% {
    transform: translateX(50%);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes quartet-img-3 {
  0% {
    transform: translateX(-50%);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes quartet-img-4 {
  0% {
    transform: translateY(50%);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes scrollDown4 {
  0% {
    -webkit-transform-origin: top;
    transform-origin: top;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
  }
  45% {
    -webkit-transform-origin: top;
    transform-origin: top;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
  }
  55% {
    -webkit-transform-origin: bottom;
    transform-origin: bottom;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
  }
  100% {
    -webkit-transform-origin: bottom;
    transform-origin: bottom;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
  }
}
@keyframes title-mask {
  0% {
    transform: scaleX(0);
    transform-origin: left;
  }
  20% {
    transform: scaleX(1);
    transform-origin: left;
  }
  50% {
    transform: scaleX(1);
    transform-origin: right;
  }
  70% {
    transform: scaleX(0);
    transform-origin: right;
  }
  100% {
    transform: scaleX(0) translateX(100%);
    transform-origin: right;
  }
}
@keyframes line-x {
  0% {
    transform: scaleX(0);
    transform-origin: left;
  }
  100% {
    transform: scaleX(1);
    transform-origin: left;
  }
}
.fade-up,
.fade,
.fade-down,
.fade-left,
.fade-right,
.fade:not(.show),
.flipInX,
.flipInY,
.banner-animate,
.l-fade,
.fadeDown,
.l-fade-left,
.g-fade,
.g-fade-up,
.g-fade-left,
.g-fade-right,
.g-fadeDown {
  opacity: 0;
}

.g-line-x {
  transform: scaleX(0);
}

.no-js .l-fade,
.no-js .fade-up,
.no-js .fade,
.no-js .fade-left,
.no-js .fade-right,
.no-js .fade:not(.show),
.no-js .flipInX,
.no-js .flipInY,
.no-js .banner-animate,
.no-js .fadeDown,
.no-js .l-fade-left,
.no-js .g-fade,
.no-js .g-fade-up,
.no-js .g-fade-left,
.no-js .g-fade-right,
.no-js .g-fadeDown {
  opacity: 1;
}
.no-js .img-mask-anime .img-mask {
  transform: translateY(0);
}
.no-js .img-mask-anime .img-mask::after {
  display: none;
}
.no-js .g-line-x {
  transform: scaleX(1);
}

.img-mask-anime {
  overflow: hidden;
  display: block;
}
.img-mask-anime .img-mask {
  overflow: hidden;
  transition-timing-function: 0.4s cubic-bezier(0.55, 0.085, 0.68, 0.53);
  transition-duration: 1.3s;
  transform: translateY(100%);
  transform-origin: left top;
  position: relative;
  display: block;
}
.img-mask-anime .img-mask::after {
  content: "";
  background-color: #DADADA;
  position: absolute;
  width: 101%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transition-duration: 1.3s;
  transform: scaleY(1);
  transition-timing-function: 1s cubic-bezier(0.55, 0.085, 0.68, 0.53);
  transform-origin: top;
  transition-delay: 0.2s;
}
.img-mask-anime.a-play .img-mask {
  transform: translateY(0);
}
.img-mask-anime.a-play .img-mask::after {
  transform: scaleY(0);
}

.g-animate .g-fade,
.g-animate .g-fade-up,
.g-animate .g-fade-left,
.g-animate .g-fade-right,
.g-animate .g-fadeDown,
.g-animate .g-line-x {
  animation-duration: 1.2s;
  animation-fill-mode: forwards;
  animation-timing-function: ease;
  animation-iteration-count: 1;
}

.g-animate.a-play .g-fade {
  animation-name: fade;
}
.g-animate.a-play .g-fade-up {
  animation-name: fadeInUp;
}
.g-animate.a-play .g-fade-left {
  animation-name: fade-left;
}
.g-animate.a-play .g-fade-right {
  animation-name: fade-right;
}
.g-animate.a-play .g-fadeDown {
  animation-name: fadeDown;
}
.g-animate.a-play .g-line-x {
  animation-name: line-x;
}

.fade-up.a-play,
.fade-up.is-inview {
  animation-name: fadeInUp;
}

.fade.a-play,
.l-fade.is-inview {
  animation-name: fade;
}

.fade-left.a-play,
.fade-left.is-inview,
.l-fade-left.is-inview {
  animation-name: fade-left;
}

.fade-right.a-play,
.fade-right.is-inview {
  animation-name: fade-right;
}

.banner-animate.a-play,
.banner-animate.is-inview {
  animation-name: banner-scale;
}

.flipInX.a-play,
.flipInX.is-inview {
  animation-name: flipInX;
}

.flipInY.a-play,
.flipInY.is-inview {
  animation-name: flipInY;
}

.fade-down,
.fadeDown.is-inview {
  animation-name: fadeDown;
}

.a-play {
  animation-duration: 1s;
  animation-fill-mode: forwards;
  animation-timing-function: ease;
  animation-iteration-count: 1;
}

.is-inview {
  animation-duration: 1s;
  animation-fill-mode: forwards;
  animation-timing-function: ease;
  animation-iteration-count: 1;
}

.a-duration-13 {
  animation-duration: 1.3s;
}

.a-duration-15 {
  animation-duration: 1.5s;
}

.a-delay-1 {
  animation-delay: 0.1s;
}

.a-delay-2 {
  animation-delay: 0.2s;
}

.a-delay-3 {
  animation-delay: 0.3s;
}

.a-delay-4 {
  animation-delay: 0.4s;
}

.a-delay-5 {
  animation-delay: 0.5s;
}

.a-delay-6 {
  animation-delay: 0.6s;
}

.a-delay-7 {
  animation-delay: 0.7s;
}

.a-delay-8 {
  animation-delay: 0.8s;
}

.a-delay-9 {
  animation-delay: 0.9s;
}

.a-delay-10 {
  animation-delay: 0.1s;
}

.a-delay-11 {
  animation-delay: 0.11s;
}

.a-delay-12 {
  animation-delay: 0.12s;
}

.hover-scale img {
  transition: all 0.5s;
}
.hover-scale:hover img {
  transform: scale(1.1);
}

.hover-boxshadow {
  transition: all 0.5s;
}
.hover-boxshadow:hover {
  box-shadow: 0 0 9px rgba(0, 0, 0, 0.4);
}

@media (min-width: 768px) {
  .scroll-animate img {
    width: 125% !important;
    max-width: initial;
  }
  .scroll-animate.a-play img {
    animation: scroll-animate 8s linear 1 forwards;
  }
}

.s-scroll-animate img {
  width: 125% !important;
  max-width: initial;
}
.s-scroll-animate.a-play img {
  animation: scroll-animate 4s linear 1 forwards;
}

@keyframes scroll-animate {
  0% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
  to {
    -webkit-transform: translateX(0%);
    transform: translateX(-20%);
  }
}
@keyframes fade {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes flash {
  0%, 50%, to {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}
@keyframes heart {
  0% {
    transform: scale(1);
  }
  14% {
    transform: scale(1.3);
  }
  28% {
    transform: scale(1);
  }
  42% {
    transform: scale(1.3);
  }
  70% {
    transform: scale(1);
  }
}
@keyframes jump {
  0%, to {
    animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
    transform: translateY(-25%);
  }
  50% {
    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
    transform: translateY(0);
  }
}
@keyframes pulse {
  0% {
    transform: none;
  }
  50% {
    transform: scale(1.05);
  }
  to {
    transform: none;
  }
}
@keyframes rotate {
  0% {
    transform: rotate(-1turn);
  }
  to {
    transform: none;
  }
}
@keyframes shake {
  0% {
    transform: none;
  }
  6.5% {
    transform: translateX(-6px) rotateY(-9deg);
  }
  18.5% {
    transform: translateX(5px) rotateY(7deg);
  }
  31.5% {
    transform: translateX(-3px) rotateY(-5deg);
  }
  43.5% {
    transform: translateX(2px) rotateY(3deg);
  }
  50% {
    transform: none;
  }
}
@keyframes zoom {
  0% {
    transform: scale(0);
  }
  to {
    transform: none;
  }
}
@keyframes ping {
  75%, to {
    opacity: 0;
    transform: scale(2);
  }
}
@keyframes float {
  0% {
    transform: none;
  }
  50% {
    transform: translateY(-1.25rem);
  }
  to {
    transform: none;
  }
}
@keyframes circleAround {
  0% {
    transform: rotate(0deg) translateX(3px) rotate(0deg); /* 初始位置 */
  }
  100% {
    transform: rotate(360deg) translateX(3px) rotate(-360deg); /* 终止位置 */
  }
}
@keyframes circleAroundBig {
  0% {
    transform: rotate(0deg) translateX(10px) rotate(0deg); /* 初始位置 */
  }
  100% {
    transform: rotate(360deg) translateX(10px) rotate(-360deg);
  } /* 终止位置 */
}
@keyframes btnhovermaskstart {
  0% {
    transform: translate3d(-110%, 0, 1px);
  }
  to {
    transform: translateZ(1px);
  }
}
@keyframes btnHoverMaskEnd {
  0% {
    transform: translateZ(1px);
  }
  to {
    transform: translate3d(110%, 0, 1px);
  }
}
@keyframes btn_hover_mask_end {
  0% {
    transform: translateZ(1px);
  }
  to {
    transform: translate3d(110%, 0, 1px);
  }
}
@keyframes linkHoverArrow {
  0% {
    transform: translate3d(-150%, 0, 1px);
  }
  30% {
    transform: translate3d(-150%, 0, 1px);
  }
  to {
    transform: translateZ(1px);
  }
}
@keyframes bounceScaleDown02 {
  0% {
    transform: matrix(1.2, 0, 0, 1.2, 0, 0);
  }
  3.4% {
    transform: matrix(1.137, 0, 0, 1.119, 0, 0);
  }
  4.7% {
    transform: matrix(1.11, 0, 0, 1.08, 0, 0);
  }
  6.81% {
    transform: matrix(1.068, 0, 0, 1.021, 0, 0);
  }
  9.41% {
    transform: matrix(1.023, 0, 0, 0.966, 0, 0);
  }
  10.21% {
    transform: matrix(1.012, 0, 0, 0.955, 0, 0);
  }
  13.61% {
    transform: matrix(0.975, 0, 0, 0.934, 0, 0);
  }
  14.11% {
    transform: matrix(0.972, 0, 0, 0.934, 0, 0);
  }
  17.52% {
    transform: matrix(0.958, 0, 0, 0.952, 0, 0);
  }
  18.72% {
    transform: matrix(0.958, 0, 0, 0.963, 0, 0);
  }
  21.32% {
    transform: matrix(0.961, 0, 0, 0.986, 0, 0);
  }
  24.32% {
    transform: matrix(0.97, 0, 0, 1.008, 0, 0);
  }
  25.23% {
    transform: matrix(0.973, 0, 0, 1.012, 0, 0);
  }
  29.03% {
    transform: matrix(0.987, 0, 0, 1.021, 0, 0);
  }
  29.93% {
    transform: matrix(0.99, 0, 0, 1.02, 0, 0);
  }
  35.54% {
    transform: matrix(1.004, 0, 0, 1.008, 0, 0);
  }
  36.74% {
    transform: matrix(1.006, 0, 0, 1.004, 0, 0);
  }
  41.04% {
    transform: matrix(1.008, 0, 0, 0.996, 0, 0);
  }
  44.44% {
    transform: matrix(1.007, 0, 0, 0.994, 0, 0);
  }
  52.15% {
    transform: matrix(1.002, 0, 0, 0.999, 0, 0);
  }
  59.86% {
    transform: matrix(0.999, 0, 0, 1.002, 0, 0);
  }
  63.26% {
    transform: matrix(0.999, 0, 0, 1.002, 0, 0);
  }
  75.28% {
    transform: matrix(1, 0, 0, 0.999, 0, 0);
  }
  85.49% {
    transform: matrix(1, 0, 0, 1, 0, 0);
  }
  90.69% {
    transform: matrix(1, 0, 0, 1, 0, 0);
  }
  to {
    transform: matrix(1, 0, 0, 1, 0, 0);
  }
}
@keyframes bounceScaleDown05 {
  0% {
    transform: matrix(1.5, 0, 0, 1.5, 0, 0);
  }
  3.4% {
    transform: matrix(1.342, 0, 0, 1.297, 0, 0);
  }
  4.7% {
    transform: matrix(1.275, 0, 0, 1.2, 0, 0);
  }
  6.81% {
    transform: matrix(1.17, 0, 0, 1.054, 0, 0);
  }
  9.41% {
    transform: matrix(1.058, 0, 0, 0.916, 0, 0);
  }
  10.21% {
    transform: matrix(1.029, 0, 0, 0.887, 0, 0);
  }
  13.61% {
    transform: matrix(0.938, 0, 0, 0.834, 0, 0);
  }
  14.11% {
    transform: matrix(0.93, 0, 0, 0.835, 0, 0);
  }
  17.52% {
    transform: matrix(0.896, 0, 0, 0.88, 0, 0);
  }
  18.72% {
    transform: matrix(0.894, 0, 0, 0.906, 0, 0);
  }
  21.32% {
    transform: matrix(0.902, 0, 0, 0.965, 0, 0);
  }
  24.32% {
    transform: matrix(0.925, 0, 0, 1.02, 0, 0);
  }
  25.23% {
    transform: matrix(0.933, 0, 0, 1.031, 0, 0);
  }
  29.03% {
    transform: matrix(0.969, 0, 0, 1.052, 0, 0);
  }
  29.93% {
    transform: matrix(0.976, 0, 0, 1.051, 0, 0);
  }
  35.54% {
    transform: matrix(1.01, 0, 0, 1.019, 0, 0);
  }
  36.74% {
    transform: matrix(1.014, 0, 0, 1.011, 0, 0);
  }
  41.04% {
    transform: matrix(1.02, 0, 0, 0.989, 0, 0);
  }
  44.44% {
    transform: matrix(1.017, 0, 0, 0.984, 0, 0);
  }
  52.15% {
    transform: matrix(1.004, 0, 0, 0.997, 0, 0);
  }
  59.86% {
    transform: matrix(0.997, 0, 0, 1.005, 0, 0);
  }
  63.26% {
    transform: matrix(0.996, 0, 0, 1.004, 0, 0);
  }
  75.28% {
    transform: matrix(0.999, 0, 0, 0.998, 0, 0);
  }
  85.49% {
    transform: matrix(1.001, 0, 0, 1, 0, 0);
  }
  90.69% {
    transform: matrix(1, 0, 0, 1, 0, 0);
  }
  to {
    transform: matrix(1, 0, 0, 1, 0, 0);
  }
}
@keyframes bounceScaleUp02 {
  0% {
    transform: matrix(1, 0, 0, 1, 0, 0);
  }
  3.4% {
    transform: matrix(1.063, 0, 0, 1.081, 0, 0);
  }
  4.7% {
    transform: matrix(1.09, 0, 0, 1.12, 0, 0);
  }
  6.81% {
    transform: matrix(1.132, 0, 0, 1.179, 0, 0);
  }
  9.41% {
    transform: matrix(1.177, 0, 0, 1.234, 0, 0);
  }
  10.21% {
    transform: matrix(1.188, 0, 0, 1.245, 0, 0);
  }
  13.61% {
    transform: matrix(1.225, 0, 0, 1.266, 0, 0);
  }
  14.11% {
    transform: matrix(1.228, 0, 0, 1.266, 0, 0);
  }
  17.52% {
    transform: matrix(1.242, 0, 0, 1.248, 0, 0);
  }
  18.72% {
    transform: matrix(1.242, 0, 0, 1.237, 0, 0);
  }
  21.32% {
    transform: matrix(1.239, 0, 0, 1.214, 0, 0);
  }
  24.32% {
    transform: matrix(1.23, 0, 0, 1.192, 0, 0);
  }
  25.23% {
    transform: matrix(1.227, 0, 0, 1.188, 0, 0);
  }
  29.03% {
    transform: matrix(1.213, 0, 0, 1.179, 0, 0);
  }
  29.93% {
    transform: matrix(1.21, 0, 0, 1.18, 0, 0);
  }
  35.54% {
    transform: matrix(1.196, 0, 0, 1.192, 0, 0);
  }
  36.74% {
    transform: matrix(1.194, 0, 0, 1.196, 0, 0);
  }
  41.04% {
    transform: matrix(1.192, 0, 0, 1.204, 0, 0);
  }
  44.44% {
    transform: matrix(1.193, 0, 0, 1.206, 0, 0);
  }
  52.15% {
    transform: matrix(1.198, 0, 0, 1.201, 0, 0);
  }
  59.86% {
    transform: matrix(1.201, 0, 0, 1.198, 0, 0);
  }
  63.26% {
    transform: matrix(1.201, 0, 0, 1.198, 0, 0);
  }
  75.28% {
    transform: matrix(1.2, 0, 0, 1.201, 0, 0);
  }
  85.49% {
    transform: matrix(1.2, 0, 0, 1.2, 0, 0);
  }
  90.69% {
    transform: matrix(1.2, 0, 0, 1.2, 0, 0);
  }
  to {
    transform: matrix(1.2, 0, 0, 1.2, 0, 0);
  }
}
@keyframes bounceScaleUp05 {
  0% {
    transform: matrix(1, 0, 0, 1, 0, 0);
  }
  3.4% {
    transform: matrix(1.158, 0, 0, 1.203, 0, 0);
  }
  4.7% {
    transform: matrix(1.225, 0, 0, 1.3, 0, 0);
  }
  6.81% {
    transform: matrix(1.33, 0, 0, 1.446, 0, 0);
  }
  9.41% {
    transform: matrix(1.442, 0, 0, 1.584, 0, 0);
  }
  10.21% {
    transform: matrix(1.471, 0, 0, 1.613, 0, 0);
  }
  13.61% {
    transform: matrix(1.562, 0, 0, 1.666, 0, 0);
  }
  14.11% {
    transform: matrix(1.57, 0, 0, 1.665, 0, 0);
  }
  17.52% {
    transform: matrix(1.604, 0, 0, 1.62, 0, 0);
  }
  18.72% {
    transform: matrix(1.606, 0, 0, 1.594, 0, 0);
  }
  21.32% {
    transform: matrix(1.598, 0, 0, 1.535, 0, 0);
  }
  24.32% {
    transform: matrix(1.575, 0, 0, 1.48, 0, 0);
  }
  25.23% {
    transform: matrix(1.567, 0, 0, 1.469, 0, 0);
  }
  29.03% {
    transform: matrix(1.531, 0, 0, 1.448, 0, 0);
  }
  29.93% {
    transform: matrix(1.524, 0, 0, 1.449, 0, 0);
  }
  35.54% {
    transform: matrix(1.49, 0, 0, 1.481, 0, 0);
  }
  36.74% {
    transform: matrix(1.486, 0, 0, 1.489, 0, 0);
  }
  41.04% {
    transform: matrix(1.48, 0, 0, 1.511, 0, 0);
  }
  44.44% {
    transform: matrix(1.483, 0, 0, 1.516, 0, 0);
  }
  52.15% {
    transform: matrix(1.496, 0, 0, 1.503, 0, 0);
  }
  59.86% {
    transform: matrix(1.503, 0, 0, 1.495, 0, 0);
  }
  63.26% {
    transform: matrix(1.504, 0, 0, 1.496, 0, 0);
  }
  75.28% {
    transform: matrix(1.501, 0, 0, 1.502, 0, 0);
  }
  85.49% {
    transform: matrix(1.499, 0, 0, 1.5, 0, 0);
  }
  90.69% {
    transform: matrix(1.5, 0, 0, 1.5, 0, 0);
  }
  to {
    transform: matrix(1.5, 0, 0, 1.5, 0, 0);
  }
}
@keyframes naviActiveIcon {
  0% {
    transform: scale(0);
  }
  3.33333% {
    transform: scale(0.49);
  }
  6.66667% {
    transform: scale(0.92);
  }
  10% {
    transform: scale(1.14);
  }
  13.33333% {
    transform: scale(1.18);
  }
  16.66667% {
    transform: scale(1.12);
  }
  20% {
    transform: scale(1.04);
  }
  23.33333% {
    transform: scale(0.99);
  }
  26.66667% {
    transform: scale(0.97);
  }
  30% {
    transform: scale(0.98);
  }
  33.33333% {
    transform: scale(0.99);
  }
  36.66667% {
    transform: scale(1);
  }
  40% {
    transform: scale(1);
  }
  43.33333% {
    transform: scale(1);
  }
  46.66667% {
    transform: scale(1);
  }
  50% {
    transform: scale(1);
  }
  53.33333% {
    transform: scale(1);
  }
  56.66667% {
    transform: scale(1);
  }
  60% {
    transform: scale(1);
  }
  63.33333% {
    transform: scale(1);
  }
  66.66667% {
    transform: scale(1);
  }
  70% {
    transform: scale(1);
  }
  73.33333% {
    transform: scale(1);
  }
  76.66667% {
    transform: scale(1);
  }
  80% {
    transform: scale(1);
  }
  83.33333% {
    transform: scale(1);
  }
  86.66667% {
    transform: scale(1);
  }
  90% {
    transform: scale(1);
  }
  93.33333% {
    transform: scale(1);
  }
  96.66667% {
    transform: scale(1);
  }
  to {
    transform: scale(1);
  }
}
@keyframes itemActive {
  0% {
    transform: translate3d(0, 25%, 0);
  }
  3.33333% {
    transform: translate3d(0, 12.64%, 0);
  }
  6.66667% {
    transform: translate3d(0, 1.89%, 0);
  }
  10% {
    transform: translate3d(0, -3.59%, 0);
  }
  13.33333% {
    transform: translate3d(0, -4.45%, 0);
  }
  16.66667% {
    transform: translate3d(0, -2.94%, 0);
  }
  20% {
    transform: translate3d(0, -1.03%, 0);
  }
  23.33333% {
    transform: translate3d(0, 0.24%, 0);
  }
  26.66667% {
    transform: translate3d(0, 0.69%, 0);
  }
  30% {
    transform: translate3d(0, 0.59%, 0);
  }
  33.33333% {
    transform: translate3d(0, 0.3%, 0);
  }
  36.66667% {
    transform: translate3d(0, 0.04%, 0);
  }
  40% {
    transform: translate3d(0, -0.09%, 0);
  }
  43.33333% {
    transform: translate3d(0, -0.11%, 0);
  }
  46.66667% {
    transform: translate3d(0, -0.07%, 0);
  }
  50% {
    transform: translate3d(0, -0.02%, 0);
  }
  53.33333% {
    transform: translate3d(0, 0.01%, 0);
  }
  56.66667% {
    transform: translate3d(0, 0.02%, 0);
  }
  60% {
    transform: translate3d(0, 0.01%, 0);
  }
  63.33333% {
    transform: translate3d(0, 0.01%, 0);
  }
  66.66667% {
    transform: translateZ(0);
  }
  70% {
    transform: translateZ(0);
  }
  73.33333% {
    transform: translateZ(0);
  }
  76.66667% {
    transform: translateZ(0);
  }
  80% {
    transform: translateZ(0);
  }
  83.33333% {
    transform: translateZ(0);
  }
  86.66667% {
    transform: translateZ(0);
  }
  90% {
    transform: translateZ(0);
  }
  93.33333% {
    transform: translateZ(0);
  }
  96.66667% {
    transform: translateZ(0);
  }
  to {
    transform: translateZ(0);
  }
}
html {
  font-size: clamp(16px, 0.8333333333vw, 21px);
  color: #222222;
}
@media (max-width: 1440px) {
  html {
    font-size: 16px;
  }
}

body {
  line-height: 1.75;
}
body {
  font-family: "Noto Sans TC", serif;
}

.edit-img {
  text-align: center;
}
.edit-img img {
  display: inline-block;
}

.img {
  position: relative;
  font-size: 0;
}

.img > span {
  width: 100%;
  height: 100%;
  position: absolute;
}

.clear:after {
  display: block;
  height: 0;
  clear: both;
  content: "";
  visibility: hidden;
}

.relative {
  position: relative;
}

.absolute {
  position: absolute;
}

.o-hidden {
  overflow: hidden;
}

.x-hidden {
  overflow-x: hidden;
}

.o-auto {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.clear:after {
  display: block;
  height: 0;
  clear: both;
  content: "";
  visibility: hidden;
}

.img-object {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.page-link-box {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.lang-list-box {
  display: block;
  opacity: 0;
  pointer-events: none;
  transition: all 0.5s ease;
  position: absolute;
  background-color: rgb(255, 255, 255);
  width: 100%;
  max-width: 100%;
  text-align: center;
  padding: 0.625rem 0;
  z-index: 2;
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.3);
  top: 100%;
}
.lang-list-box .lang-list {
  display: block;
  width: 100%;
  padding: 5px 0;
  font-weight: 500;
}
.lang-list-box .lang-list:hover, .lang-list-box .lang-list.active {
  color: #92983b;
}
.lang-list-box:after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 6px 7px 6px;
  border-color: transparent transparent rgb(255, 255, 255) transparent;
  position: absolute;
  left: 50%;
  top: -7px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.lang-list-box.active {
  opacity: 1;
  pointer-events: auto;
}

.table-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.table-col {
  -ms-flex-preferred-size: 0;
  flex-basis: 0;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  max-width: 100%;
}

@media (min-width: 40rem) {
  .edit-box .row {
    margin-left: -1rem;
    margin-right: -1rem;
  }
}
.radius-20 {
  border-radius: 1.25rem;
  overflow: hidden;
}

.overview-table {
  width: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.border-collapse table,
.border-collapse th,
.border-collapse td {
  border-collapse: collapse;
}

.img-full img,
.img-full svg {
  width: 100%;
}
.img-full svg {
  height: auto;
}

/* The container must be positioned relative: */
.custom-select {
  position: relative;
  display: flex;
  flex-direction: column;
}
.custom-select #xsubject-error {
  order: 4;
  width: max-content;
}

.custom-select select {
  opacity: 0;
  position: absolute;
}

.youtube-box {
  position: relative;
}
.youtube-box span {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.youtube-box span iframe {
  width: 100%;
  height: 100%;
}

.trs {
  transition: all 0.5s;
}

.svg-hover-fff path {
  transition: all 0.5s;
}
.svg-hover-fff:hover path {
  stroke: #fff !important;
}

.edit-box ul {
  list-style: disc;
  padding-left: 1.5rem;
}
.edit-box ol {
  padding-left: 1.5rem;
}

.dot-54ABC3 {
  list-style: disc;
}
.dot-54ABC3 li::marker {
  color: #54abc3;
}

.fs-en {
  font-family: "Inter", serif;
}

.fs-en-des {
  font-family: "Inter", sans-serif;
}

.default-dot ul {
  margin-left: 0;
}
.default-dot li {
  padding-left: 1rem;
  position: relative;
}
.default-dot li:before {
  content: "";
  position: absolute;
  width: 0.25rem;
  height: 0.25rem;
  border-radius: 0.125rem;
  left: 0;
  top: 0.375rem;
  background-color: #92983b;
}
.default-dot li:not(:last-child) {
  margin-bottom: 0.625rem;
}

.line-grow {
  display: block;
  width: 1px;
  height: 0;
  background: #dddddd;
}

ol {
  margin-left: 15px !important;
  list-style: decimal !important;
}
ol li {
  padding-left: 5px !important;
}

ul li::marker {
  font-size: 1rem;
  color: #92983b !important;
  left: -1px;
  position: relative;
}

.edit-outer {
  overflow: visible;
}
.edit-outer li::marker {
  background-color: #92983b;
  width: 6px !important;
  height: 6px !important;
  border-radius: 3px !important;
}
@media (min-width: 640px) {
  .edit-outer {
    margin-right: -1rem;
    margin-left: -1rem;
  }
}
@media (hover: hover) {
  .edit-outer a {
    color: #92983b;
    text-decoration: underline;
    transition: all 0.3s;
  }
  .edit-outer a:hover {
    text-decoration: none;
  }
}
@media (hover: none) {
  .edit-outer a {
    color: #92983b;
  }
}
.edit-outer img {
  margin: 0 auto;
}

.column {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media (min-width: 640px) {
  .column {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

/* ==========
  #MODAL
  ========== */
.c-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  -ms-overflow-style: none;
  z-index: 1000;
}
.c-modal::-webkit-scrollbar {
  display: none;
}

.c-modal__overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
}

.c-modal__main {
  display: flex;
  align-items: center;
  max-width: 1152px;
}
@media screen and (orientation: portrait) {
  .c-modal__main {
    margin: 0 1.875rem;
  }
}
@media screen and (orientation: landscape) {
  .c-modal__main {
    margin: 3.75rem 1.875rem;
  }
}
@media (min-width: 1280px) {
  .c-modal__main {
    margin-left: 0;
    margin-right: 0;
    margin: 0 auto;
  }
}
.c-modal__main:before {
  display: block;
  height: 100vh;
  content: "";
}

.c-modal__content {
  position: relative;
  width: 100%;
}

.c-modal__btn {
  position: absolute;
  width: 1.875rem;
  height: 1.875rem;
  transition: transform 0.3s ease;
  right: 1.875rem;
  top: 1.875rem;
}
@media (min-width: 1024px) {
  .c-modal__btn {
    width: 2.5rem;
    height: 2.5rem;
  }
}
.c-modal__btn:before, .c-modal__btn:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.75rem;
  height: 0.125rem;
  background: #ffffff;
  transition: background-color 0.3s ease;
}
@media (min-width: 768px) {
  .c-modal__btn:before, .c-modal__btn:after {
    width: 1.25rem;
  }
}
.c-modal__btn:before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.c-modal__btn:after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
@media (hover: hover), (-ms-high-contrast: none) {
  .c-modal__btn:hover {
    transform: rotate(90deg);
  }
}

.video-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

.video-container iframe,
.video-container object,
.video-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* ==========
  #BREADCRUMB
  ========== */
.c-breadcrumb {
  position: relative;
  line-height: 1.5;
  z-index: 3;
  padding: 0 1.875rem;
  display: none;
}
.c-breadcrumb ul {
  margin: 0;
}
.c-breadcrumb li {
  font-size: 0.875rem;
}
@media (min-width: 1024px) {
  .c-breadcrumb {
    padding: 0 3.75rem;
  }
}

.c-breadcrumb__list {
  display: flex;
  align-items: center;
  padding: 1.125rem 0;
  white-space: nowrap;
  overflow-x: auto;
  margin: 0;
  list-style: none;
}
.c-breadcrumb__list li:first-child {
  cursor: pointer;
}
.c-breadcrumb__list li:first-child .c-breadcrumb__link {
  padding-left: 0;
}

.c-breadcrumb__item a {
  color: #999;
  transition: 0.2s;
}
.c-breadcrumb__item a:hover {
  color: #92983b;
  transition: 0.2s;
}
.c-breadcrumb__item {
  color: #999;
}
.c-breadcrumb__item .c-breadcrumb__link:after,
.c-breadcrumb__item .c-breadcrumb__text:after {
  content: "";
  position: absolute;
  top: 8px;
  right: -6px;
  width: 0.5rem;
  height: 0.75rem;
  color: #999;
  background: url(../img/icon/i-bread-next.svg) no-repeat left top;
}
.c-breadcrumb__item:last-child a {
  color: #92983b;
}
.c-breadcrumb__item:last-child .c-breadcrumb__link {
  cursor: default;
}
.c-breadcrumb__item:last-child .c-breadcrumb__link:after {
  display: none;
}
@media (min-width: 1024px) {
  .c-breadcrumb__item:last-child {
    padding-right: 0;
  }
  .c-breadcrumb__item:last-child .c-breadcrumb__link {
    padding-right: 0;
  }
}

.c-breadcrumb__link {
  position: relative;
  display: block;
  padding: 0 1.25rem;
  transition: color 0.2s ease;
}
@media (hover: hover), (-ms-high-contrast: none) {
  .c-breadcrumb__link:hover {
    color: #92983b;
  }
}
.c-breadcrumb__link img {
  display: block;
}

.c-breadcrumb__text {
  position: relative;
  display: block;
  padding: 0 1rem 0 0;
}

/* ==========
  #PLUGIN
  ========== */
[data-aos][data-aos][data-aos-duration="50"],
body[data-aos-duration="50"] [data-aos] {
  transition-duration: 50ms;
}

[data-aos][data-aos][data-aos-delay="50"],
body[data-aos-delay="50"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="50"].aos-animate,
body[data-aos-delay="50"] [data-aos].aos-animate {
  transition-delay: 50ms;
}

[data-aos][data-aos][data-aos-duration="100"],
body[data-aos-duration="100"] [data-aos] {
  transition-duration: 0.1s;
}

[data-aos][data-aos][data-aos-delay="100"],
body[data-aos-delay="100"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="100"].aos-animate,
body[data-aos-delay="100"] [data-aos].aos-animate {
  transition-delay: 0.1s;
}

[data-aos][data-aos][data-aos-duration="150"],
body[data-aos-duration="150"] [data-aos] {
  transition-duration: 0.15s;
}

[data-aos][data-aos][data-aos-delay="150"],
body[data-aos-delay="150"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="150"].aos-animate,
body[data-aos-delay="150"] [data-aos].aos-animate {
  transition-delay: 0.15s;
}

[data-aos][data-aos][data-aos-duration="200"],
body[data-aos-duration="200"] [data-aos] {
  transition-duration: 0.2s;
}

[data-aos][data-aos][data-aos-delay="200"],
body[data-aos-delay="200"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="200"].aos-animate,
body[data-aos-delay="200"] [data-aos].aos-animate {
  transition-delay: 0.2s;
}

[data-aos][data-aos][data-aos-duration="250"],
body[data-aos-duration="250"] [data-aos] {
  transition-duration: 0.25s;
}

[data-aos][data-aos][data-aos-delay="250"],
body[data-aos-delay="250"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="250"].aos-animate,
body[data-aos-delay="250"] [data-aos].aos-animate {
  transition-delay: 0.25s;
}

[data-aos][data-aos][data-aos-duration="300"],
body[data-aos-duration="300"] [data-aos] {
  transition-duration: 0.3s;
}

[data-aos][data-aos][data-aos-delay="300"],
body[data-aos-delay="300"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="300"].aos-animate,
body[data-aos-delay="300"] [data-aos].aos-animate {
  transition-delay: 0.3s;
}

[data-aos][data-aos][data-aos-duration="350"],
body[data-aos-duration="350"] [data-aos] {
  transition-duration: 0.35s;
}

[data-aos][data-aos][data-aos-delay="350"],
body[data-aos-delay="350"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="350"].aos-animate,
body[data-aos-delay="350"] [data-aos].aos-animate {
  transition-delay: 0.35s;
}

[data-aos][data-aos][data-aos-duration="400"],
body[data-aos-duration="400"] [data-aos] {
  transition-duration: 0.4s;
}

[data-aos][data-aos][data-aos-delay="400"],
body[data-aos-delay="400"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="400"].aos-animate,
body[data-aos-delay="400"] [data-aos].aos-animate {
  transition-delay: 0.4s;
}

[data-aos][data-aos][data-aos-duration="450"],
body[data-aos-duration="450"] [data-aos] {
  transition-duration: 0.45s;
}

[data-aos][data-aos][data-aos-delay="450"],
body[data-aos-delay="450"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="450"].aos-animate,
body[data-aos-delay="450"] [data-aos].aos-animate {
  transition-delay: 0.45s;
}

[data-aos][data-aos][data-aos-duration="500"],
body[data-aos-duration="500"] [data-aos] {
  transition-duration: 0.5s;
}

[data-aos][data-aos][data-aos-delay="500"],
body[data-aos-delay="500"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="500"].aos-animate,
body[data-aos-delay="500"] [data-aos].aos-animate {
  transition-delay: 0.5s;
}

[data-aos][data-aos][data-aos-duration="550"],
body[data-aos-duration="550"] [data-aos] {
  transition-duration: 0.55s;
}

[data-aos][data-aos][data-aos-delay="550"],
body[data-aos-delay="550"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="550"].aos-animate,
body[data-aos-delay="550"] [data-aos].aos-animate {
  transition-delay: 0.55s;
}

[data-aos][data-aos][data-aos-duration="600"],
body[data-aos-duration="600"] [data-aos] {
  transition-duration: 0.6s;
}

[data-aos][data-aos][data-aos-delay="600"],
body[data-aos-delay="600"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="600"].aos-animate,
body[data-aos-delay="600"] [data-aos].aos-animate {
  transition-delay: 0.6s;
}

[data-aos][data-aos][data-aos-duration="650"],
body[data-aos-duration="650"] [data-aos] {
  transition-duration: 0.65s;
}

[data-aos][data-aos][data-aos-delay="650"],
body[data-aos-delay="650"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="650"].aos-animate,
body[data-aos-delay="650"] [data-aos].aos-animate {
  transition-delay: 0.65s;
}

[data-aos][data-aos][data-aos-duration="700"],
body[data-aos-duration="700"] [data-aos] {
  transition-duration: 0.7s;
}

[data-aos][data-aos][data-aos-delay="700"],
body[data-aos-delay="700"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="700"].aos-animate,
body[data-aos-delay="700"] [data-aos].aos-animate {
  transition-delay: 0.7s;
}

[data-aos][data-aos][data-aos-duration="750"],
body[data-aos-duration="750"] [data-aos] {
  transition-duration: 0.75s;
}

[data-aos][data-aos][data-aos-delay="750"],
body[data-aos-delay="750"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="750"].aos-animate,
body[data-aos-delay="750"] [data-aos].aos-animate {
  transition-delay: 0.75s;
}

[data-aos][data-aos][data-aos-duration="800"],
body[data-aos-duration="800"] [data-aos] {
  transition-duration: 0.8s;
}

[data-aos][data-aos][data-aos-delay="800"],
body[data-aos-delay="800"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="800"].aos-animate,
body[data-aos-delay="800"] [data-aos].aos-animate {
  transition-delay: 0.8s;
}

[data-aos][data-aos][data-aos-duration="850"],
body[data-aos-duration="850"] [data-aos] {
  transition-duration: 0.85s;
}

[data-aos][data-aos][data-aos-delay="850"],
body[data-aos-delay="850"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="850"].aos-animate,
body[data-aos-delay="850"] [data-aos].aos-animate {
  transition-delay: 0.85s;
}

[data-aos][data-aos][data-aos-duration="900"],
body[data-aos-duration="900"] [data-aos] {
  transition-duration: 0.9s;
}

[data-aos][data-aos][data-aos-delay="900"],
body[data-aos-delay="900"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="900"].aos-animate,
body[data-aos-delay="900"] [data-aos].aos-animate {
  transition-delay: 0.9s;
}

[data-aos][data-aos][data-aos-duration="950"],
body[data-aos-duration="950"] [data-aos] {
  transition-duration: 0.95s;
}

[data-aos][data-aos][data-aos-delay="950"],
body[data-aos-delay="950"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="950"].aos-animate,
body[data-aos-delay="950"] [data-aos].aos-animate {
  transition-delay: 0.95s;
}

[data-aos][data-aos][data-aos-duration="1000"],
body[data-aos-duration="1000"] [data-aos] {
  transition-duration: 1s;
}

[data-aos][data-aos][data-aos-delay="1000"],
body[data-aos-delay="1000"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="1000"].aos-animate,
body[data-aos-delay="1000"] [data-aos].aos-animate {
  transition-delay: 1s;
}

[data-aos][data-aos][data-aos-duration="1050"],
body[data-aos-duration="1050"] [data-aos] {
  transition-duration: 1.05s;
}

[data-aos][data-aos][data-aos-delay="1050"],
body[data-aos-delay="1050"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="1050"].aos-animate,
body[data-aos-delay="1050"] [data-aos].aos-animate {
  transition-delay: 1.05s;
}

[data-aos][data-aos][data-aos-duration="1100"],
body[data-aos-duration="1100"] [data-aos] {
  transition-duration: 1.1s;
}

[data-aos][data-aos][data-aos-delay="1100"],
body[data-aos-delay="1100"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="1100"].aos-animate,
body[data-aos-delay="1100"] [data-aos].aos-animate {
  transition-delay: 1.1s;
}

[data-aos][data-aos][data-aos-duration="1150"],
body[data-aos-duration="1150"] [data-aos] {
  transition-duration: 1.15s;
}

[data-aos][data-aos][data-aos-delay="1150"],
body[data-aos-delay="1150"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="1150"].aos-animate,
body[data-aos-delay="1150"] [data-aos].aos-animate {
  transition-delay: 1.15s;
}

[data-aos][data-aos][data-aos-duration="1200"],
body[data-aos-duration="1200"] [data-aos] {
  transition-duration: 1.2s;
}

[data-aos][data-aos][data-aos-delay="1200"],
body[data-aos-delay="1200"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="1200"].aos-animate,
body[data-aos-delay="1200"] [data-aos].aos-animate {
  transition-delay: 1.2s;
}

[data-aos][data-aos][data-aos-duration="1250"],
body[data-aos-duration="1250"] [data-aos] {
  transition-duration: 1.25s;
}

[data-aos][data-aos][data-aos-delay="1250"],
body[data-aos-delay="1250"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="1250"].aos-animate,
body[data-aos-delay="1250"] [data-aos].aos-animate {
  transition-delay: 1.25s;
}

[data-aos][data-aos][data-aos-duration="1300"],
body[data-aos-duration="1300"] [data-aos] {
  transition-duration: 1.3s;
}

[data-aos][data-aos][data-aos-delay="1300"],
body[data-aos-delay="1300"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="1300"].aos-animate,
body[data-aos-delay="1300"] [data-aos].aos-animate {
  transition-delay: 1.3s;
}

[data-aos][data-aos][data-aos-duration="1350"],
body[data-aos-duration="1350"] [data-aos] {
  transition-duration: 1.35s;
}

[data-aos][data-aos][data-aos-delay="1350"],
body[data-aos-delay="1350"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="1350"].aos-animate,
body[data-aos-delay="1350"] [data-aos].aos-animate {
  transition-delay: 1.35s;
}

[data-aos][data-aos][data-aos-duration="1400"],
body[data-aos-duration="1400"] [data-aos] {
  transition-duration: 1.4s;
}

[data-aos][data-aos][data-aos-delay="1400"],
body[data-aos-delay="1400"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="1400"].aos-animate,
body[data-aos-delay="1400"] [data-aos].aos-animate {
  transition-delay: 1.4s;
}

[data-aos][data-aos][data-aos-duration="1450"],
body[data-aos-duration="1450"] [data-aos] {
  transition-duration: 1.45s;
}

[data-aos][data-aos][data-aos-delay="1450"],
body[data-aos-delay="1450"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="1450"].aos-animate,
body[data-aos-delay="1450"] [data-aos].aos-animate {
  transition-delay: 1.45s;
}

[data-aos][data-aos][data-aos-duration="1500"],
body[data-aos-duration="1500"] [data-aos] {
  transition-duration: 1.5s;
}

[data-aos][data-aos][data-aos-delay="1500"],
body[data-aos-delay="1500"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="1500"].aos-animate,
body[data-aos-delay="1500"] [data-aos].aos-animate {
  transition-delay: 1.5s;
}

[data-aos][data-aos][data-aos-duration="1550"],
body[data-aos-duration="1550"] [data-aos] {
  transition-duration: 1.55s;
}

[data-aos][data-aos][data-aos-delay="1550"],
body[data-aos-delay="1550"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="1550"].aos-animate,
body[data-aos-delay="1550"] [data-aos].aos-animate {
  transition-delay: 1.55s;
}

[data-aos][data-aos][data-aos-duration="1600"],
body[data-aos-duration="1600"] [data-aos] {
  transition-duration: 1.6s;
}

[data-aos][data-aos][data-aos-delay="1600"],
body[data-aos-delay="1600"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="1600"].aos-animate,
body[data-aos-delay="1600"] [data-aos].aos-animate {
  transition-delay: 1.6s;
}

[data-aos][data-aos][data-aos-duration="1650"],
body[data-aos-duration="1650"] [data-aos] {
  transition-duration: 1.65s;
}

[data-aos][data-aos][data-aos-delay="1650"],
body[data-aos-delay="1650"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="1650"].aos-animate,
body[data-aos-delay="1650"] [data-aos].aos-animate {
  transition-delay: 1.65s;
}

[data-aos][data-aos][data-aos-duration="1700"],
body[data-aos-duration="1700"] [data-aos] {
  transition-duration: 1.7s;
}

[data-aos][data-aos][data-aos-delay="1700"],
body[data-aos-delay="1700"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="1700"].aos-animate,
body[data-aos-delay="1700"] [data-aos].aos-animate {
  transition-delay: 1.7s;
}

[data-aos][data-aos][data-aos-duration="1750"],
body[data-aos-duration="1750"] [data-aos] {
  transition-duration: 1.75s;
}

[data-aos][data-aos][data-aos-delay="1750"],
body[data-aos-delay="1750"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="1750"].aos-animate,
body[data-aos-delay="1750"] [data-aos].aos-animate {
  transition-delay: 1.75s;
}

[data-aos][data-aos][data-aos-duration="1800"],
body[data-aos-duration="1800"] [data-aos] {
  transition-duration: 1.8s;
}

[data-aos][data-aos][data-aos-delay="1800"],
body[data-aos-delay="1800"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="1800"].aos-animate,
body[data-aos-delay="1800"] [data-aos].aos-animate {
  transition-delay: 1.8s;
}

[data-aos][data-aos][data-aos-duration="1850"],
body[data-aos-duration="1850"] [data-aos] {
  transition-duration: 1.85s;
}

[data-aos][data-aos][data-aos-delay="1850"],
body[data-aos-delay="1850"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="1850"].aos-animate,
body[data-aos-delay="1850"] [data-aos].aos-animate {
  transition-delay: 1.85s;
}

[data-aos][data-aos][data-aos-duration="1900"],
body[data-aos-duration="1900"] [data-aos] {
  transition-duration: 1.9s;
}

[data-aos][data-aos][data-aos-delay="1900"],
body[data-aos-delay="1900"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="1900"].aos-animate,
body[data-aos-delay="1900"] [data-aos].aos-animate {
  transition-delay: 1.9s;
}

[data-aos][data-aos][data-aos-duration="1950"],
body[data-aos-duration="1950"] [data-aos] {
  transition-duration: 1.95s;
}

[data-aos][data-aos][data-aos-delay="1950"],
body[data-aos-delay="1950"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="1950"].aos-animate,
body[data-aos-delay="1950"] [data-aos].aos-animate {
  transition-delay: 1.95s;
}

[data-aos][data-aos][data-aos-duration="2000"],
body[data-aos-duration="2000"] [data-aos] {
  transition-duration: 2s;
}

[data-aos][data-aos][data-aos-delay="2000"],
body[data-aos-delay="2000"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="2000"].aos-animate,
body[data-aos-delay="2000"] [data-aos].aos-animate {
  transition-delay: 2s;
}

[data-aos][data-aos][data-aos-duration="2050"],
body[data-aos-duration="2050"] [data-aos] {
  transition-duration: 2.05s;
}

[data-aos][data-aos][data-aos-delay="2050"],
body[data-aos-delay="2050"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="2050"].aos-animate,
body[data-aos-delay="2050"] [data-aos].aos-animate {
  transition-delay: 2.05s;
}

[data-aos][data-aos][data-aos-duration="2100"],
body[data-aos-duration="2100"] [data-aos] {
  transition-duration: 2.1s;
}

[data-aos][data-aos][data-aos-delay="2100"],
body[data-aos-delay="2100"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="2100"].aos-animate,
body[data-aos-delay="2100"] [data-aos].aos-animate {
  transition-delay: 2.1s;
}

[data-aos][data-aos][data-aos-duration="2150"],
body[data-aos-duration="2150"] [data-aos] {
  transition-duration: 2.15s;
}

[data-aos][data-aos][data-aos-delay="2150"],
body[data-aos-delay="2150"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="2150"].aos-animate,
body[data-aos-delay="2150"] [data-aos].aos-animate {
  transition-delay: 2.15s;
}

[data-aos][data-aos][data-aos-duration="2200"],
body[data-aos-duration="2200"] [data-aos] {
  transition-duration: 2.2s;
}

[data-aos][data-aos][data-aos-delay="2200"],
body[data-aos-delay="2200"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="2200"].aos-animate,
body[data-aos-delay="2200"] [data-aos].aos-animate {
  transition-delay: 2.2s;
}

[data-aos][data-aos][data-aos-duration="2250"],
body[data-aos-duration="2250"] [data-aos] {
  transition-duration: 2.25s;
}

[data-aos][data-aos][data-aos-delay="2250"],
body[data-aos-delay="2250"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="2250"].aos-animate,
body[data-aos-delay="2250"] [data-aos].aos-animate {
  transition-delay: 2.25s;
}

[data-aos][data-aos][data-aos-duration="2300"],
body[data-aos-duration="2300"] [data-aos] {
  transition-duration: 2.3s;
}

[data-aos][data-aos][data-aos-delay="2300"],
body[data-aos-delay="2300"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="2300"].aos-animate,
body[data-aos-delay="2300"] [data-aos].aos-animate {
  transition-delay: 2.3s;
}

[data-aos][data-aos][data-aos-duration="2350"],
body[data-aos-duration="2350"] [data-aos] {
  transition-duration: 2.35s;
}

[data-aos][data-aos][data-aos-delay="2350"],
body[data-aos-delay="2350"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="2350"].aos-animate,
body[data-aos-delay="2350"] [data-aos].aos-animate {
  transition-delay: 2.35s;
}

[data-aos][data-aos][data-aos-duration="2400"],
body[data-aos-duration="2400"] [data-aos] {
  transition-duration: 2.4s;
}

[data-aos][data-aos][data-aos-delay="2400"],
body[data-aos-delay="2400"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="2400"].aos-animate,
body[data-aos-delay="2400"] [data-aos].aos-animate {
  transition-delay: 2.4s;
}

[data-aos][data-aos][data-aos-duration="2450"],
body[data-aos-duration="2450"] [data-aos] {
  transition-duration: 2.45s;
}

[data-aos][data-aos][data-aos-delay="2450"],
body[data-aos-delay="2450"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="2450"].aos-animate,
body[data-aos-delay="2450"] [data-aos].aos-animate {
  transition-delay: 2.45s;
}

[data-aos][data-aos][data-aos-duration="2500"],
body[data-aos-duration="2500"] [data-aos] {
  transition-duration: 2.5s;
}

[data-aos][data-aos][data-aos-delay="2500"],
body[data-aos-delay="2500"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="2500"].aos-animate,
body[data-aos-delay="2500"] [data-aos].aos-animate {
  transition-delay: 2.5s;
}

[data-aos][data-aos][data-aos-duration="2550"],
body[data-aos-duration="2550"] [data-aos] {
  transition-duration: 2.55s;
}

[data-aos][data-aos][data-aos-delay="2550"],
body[data-aos-delay="2550"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="2550"].aos-animate,
body[data-aos-delay="2550"] [data-aos].aos-animate {
  transition-delay: 2.55s;
}

[data-aos][data-aos][data-aos-duration="2600"],
body[data-aos-duration="2600"] [data-aos] {
  transition-duration: 2.6s;
}

[data-aos][data-aos][data-aos-delay="2600"],
body[data-aos-delay="2600"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="2600"].aos-animate,
body[data-aos-delay="2600"] [data-aos].aos-animate {
  transition-delay: 2.6s;
}

[data-aos][data-aos][data-aos-duration="2650"],
body[data-aos-duration="2650"] [data-aos] {
  transition-duration: 2.65s;
}

[data-aos][data-aos][data-aos-delay="2650"],
body[data-aos-delay="2650"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="2650"].aos-animate,
body[data-aos-delay="2650"] [data-aos].aos-animate {
  transition-delay: 2.65s;
}

[data-aos][data-aos][data-aos-duration="2700"],
body[data-aos-duration="2700"] [data-aos] {
  transition-duration: 2.7s;
}

[data-aos][data-aos][data-aos-delay="2700"],
body[data-aos-delay="2700"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="2700"].aos-animate,
body[data-aos-delay="2700"] [data-aos].aos-animate {
  transition-delay: 2.7s;
}

[data-aos][data-aos][data-aos-duration="2750"],
body[data-aos-duration="2750"] [data-aos] {
  transition-duration: 2.75s;
}

[data-aos][data-aos][data-aos-delay="2750"],
body[data-aos-delay="2750"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="2750"].aos-animate,
body[data-aos-delay="2750"] [data-aos].aos-animate {
  transition-delay: 2.75s;
}

[data-aos][data-aos][data-aos-duration="2800"],
body[data-aos-duration="2800"] [data-aos] {
  transition-duration: 2.8s;
}

[data-aos][data-aos][data-aos-delay="2800"],
body[data-aos-delay="2800"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="2800"].aos-animate,
body[data-aos-delay="2800"] [data-aos].aos-animate {
  transition-delay: 2.8s;
}

[data-aos][data-aos][data-aos-duration="2850"],
body[data-aos-duration="2850"] [data-aos] {
  transition-duration: 2.85s;
}

[data-aos][data-aos][data-aos-delay="2850"],
body[data-aos-delay="2850"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="2850"].aos-animate,
body[data-aos-delay="2850"] [data-aos].aos-animate {
  transition-delay: 2.85s;
}

[data-aos][data-aos][data-aos-duration="2900"],
body[data-aos-duration="2900"] [data-aos] {
  transition-duration: 2.9s;
}

[data-aos][data-aos][data-aos-delay="2900"],
body[data-aos-delay="2900"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="2900"].aos-animate,
body[data-aos-delay="2900"] [data-aos].aos-animate {
  transition-delay: 2.9s;
}

[data-aos][data-aos][data-aos-duration="2950"],
body[data-aos-duration="2950"] [data-aos] {
  transition-duration: 2.95s;
}

[data-aos][data-aos][data-aos-delay="2950"],
body[data-aos-delay="2950"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="2950"].aos-animate,
body[data-aos-delay="2950"] [data-aos].aos-animate {
  transition-delay: 2.95s;
}

[data-aos][data-aos][data-aos-duration="3000"],
body[data-aos-duration="3000"] [data-aos] {
  transition-duration: 3s;
}

[data-aos][data-aos][data-aos-delay="3000"],
body[data-aos-delay="3000"] [data-aos] {
  transition-delay: 0s;
}

[data-aos][data-aos][data-aos-delay="3000"].aos-animate,
body[data-aos-delay="3000"] [data-aos].aos-animate {
  transition-delay: 3s;
}

[data-aos] {
  pointer-events: none;
}

[data-aos].aos-animate {
  pointer-events: auto;
}

[data-aos][data-aos][data-aos-easing=linear],
body[data-aos-easing=linear] [data-aos] {
  transition-timing-function: cubic-bezier(0.25, 0.25, 0.75, 0.75);
}

[data-aos][data-aos][data-aos-easing=ease],
body[data-aos-easing=ease] [data-aos] {
  transition-timing-function: ease;
}

[data-aos][data-aos][data-aos-easing=ease-in],
body[data-aos-easing=ease-in] [data-aos] {
  transition-timing-function: ease-in;
}

[data-aos][data-aos][data-aos-easing=ease-out],
body[data-aos-easing=ease-out] [data-aos] {
  transition-timing-function: ease-out;
}

[data-aos][data-aos][data-aos-easing=ease-in-out],
body[data-aos-easing=ease-in-out] [data-aos] {
  transition-timing-function: ease-in-out;
}

[data-aos][data-aos][data-aos-easing=ease-in-back],
body[data-aos-easing=ease-in-back] [data-aos] {
  transition-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045);
}

[data-aos][data-aos][data-aos-easing=ease-out-back],
body[data-aos-easing=ease-out-back] [data-aos] {
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

[data-aos][data-aos][data-aos-easing=ease-in-out-back],
body[data-aos-easing=ease-in-out-back] [data-aos] {
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

[data-aos][data-aos][data-aos-easing=ease-in-sine],
body[data-aos-easing=ease-in-sine] [data-aos] {
  transition-timing-function: cubic-bezier(0.47, 0, 0.745, 0.715);
}

[data-aos][data-aos][data-aos-easing=ease-out-sine],
body[data-aos-easing=ease-out-sine] [data-aos] {
  transition-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);
}

[data-aos][data-aos][data-aos-easing=ease-in-out-sine],
body[data-aos-easing=ease-in-out-sine] [data-aos] {
  transition-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95);
}

[data-aos][data-aos][data-aos-easing=ease-in-quad],
body[data-aos-easing=ease-in-quad] [data-aos] {
  transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
}

[data-aos][data-aos][data-aos-easing=ease-out-quad],
body[data-aos-easing=ease-out-quad] [data-aos] {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

[data-aos][data-aos][data-aos-easing=ease-in-out-quad],
body[data-aos-easing=ease-in-out-quad] [data-aos] {
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

[data-aos][data-aos][data-aos-easing=ease-in-cubic],
body[data-aos-easing=ease-in-cubic] [data-aos] {
  transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
}

[data-aos][data-aos][data-aos-easing=ease-out-cubic],
body[data-aos-easing=ease-out-cubic] [data-aos] {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

[data-aos][data-aos][data-aos-easing=ease-in-out-cubic],
body[data-aos-easing=ease-in-out-cubic] [data-aos] {
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

[data-aos][data-aos][data-aos-easing=ease-in-quart],
body[data-aos-easing=ease-in-quart] [data-aos] {
  transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
}

[data-aos][data-aos][data-aos-easing=ease-out-quart],
body[data-aos-easing=ease-out-quart] [data-aos] {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

[data-aos][data-aos][data-aos-easing=ease-in-out-quart],
body[data-aos-easing=ease-in-out-quart] [data-aos] {
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

@media screen {
  html:not(.no-js) [data-aos^=fade][data-aos^=fade] {
    opacity: 0;
    transition-property: opacity, -webkit-transform;
    transition-property: opacity, transform;
    transition-property: opacity, transform, -webkit-transform;
  }
  html:not(.no-js) [data-aos^=fade][data-aos^=fade].aos-animate {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
  html:not(.no-js) [data-aos=fade-up] {
    -webkit-transform: translate3d(0, 100px, 0);
    transform: translate3d(0, 100px, 0);
  }
  html:not(.no-js) [data-aos=fade-down] {
    -webkit-transform: translate3d(0, -100px, 0);
    transform: translate3d(0, -100px, 0);
  }
  html:not(.no-js) [data-aos=fade-right] {
    -webkit-transform: translate3d(-100px, 0, 0);
    transform: translate3d(-100px, 0, 0);
  }
  html:not(.no-js) [data-aos=fade-left] {
    -webkit-transform: translate3d(100px, 0, 0);
    transform: translate3d(100px, 0, 0);
  }
  html:not(.no-js) [data-aos=fade-up-right] {
    -webkit-transform: translate3d(-100px, 100px, 0);
    transform: translate3d(-100px, 100px, 0);
  }
  html:not(.no-js) [data-aos=fade-up-left] {
    -webkit-transform: translate3d(100px, 100px, 0);
    transform: translate3d(100px, 100px, 0);
  }
  html:not(.no-js) [data-aos=fade-down-right] {
    -webkit-transform: translate3d(-100px, -100px, 0);
    transform: translate3d(-100px, -100px, 0);
  }
  html:not(.no-js) [data-aos=fade-down-left] {
    -webkit-transform: translate3d(100px, -100px, 0);
    transform: translate3d(100px, -100px, 0);
  }
  html:not(.no-js) [data-aos^=zoom][data-aos^=zoom] {
    opacity: 0;
    transition-property: opacity, -webkit-transform;
    transition-property: opacity, transform;
    transition-property: opacity, transform, -webkit-transform;
  }
  html:not(.no-js) [data-aos^=zoom][data-aos^=zoom].aos-animate {
    opacity: 1;
    -webkit-transform: translateZ(0) scale(1);
    transform: translateZ(0) scale(1);
  }
  html:not(.no-js) [data-aos=zoom-in] {
    -webkit-transform: scale(0.6);
    transform: scale(0.6);
  }
  html:not(.no-js) [data-aos=zoom-in-up] {
    -webkit-transform: translate3d(0, 100px, 0) scale(0.6);
    transform: translate3d(0, 100px, 0) scale(0.6);
  }
  html:not(.no-js) [data-aos=zoom-in-down] {
    -webkit-transform: translate3d(0, -100px, 0) scale(0.6);
    transform: translate3d(0, -100px, 0) scale(0.6);
  }
  html:not(.no-js) [data-aos=zoom-in-right] {
    -webkit-transform: translate3d(-100px, 0, 0) scale(0.6);
    transform: translate3d(-100px, 0, 0) scale(0.6);
  }
  html:not(.no-js) [data-aos=zoom-in-left] {
    -webkit-transform: translate3d(100px, 0, 0) scale(0.6);
    transform: translate3d(100px, 0, 0) scale(0.6);
  }
  html:not(.no-js) [data-aos=zoom-out] {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
  }
  html:not(.no-js) [data-aos=zoom-out-up] {
    -webkit-transform: translate3d(0, 100px, 0) scale(1.2);
    transform: translate3d(0, 100px, 0) scale(1.2);
  }
  html:not(.no-js) [data-aos=zoom-out-down] {
    -webkit-transform: translate3d(0, -100px, 0) scale(1.2);
    transform: translate3d(0, -100px, 0) scale(1.2);
  }
  html:not(.no-js) [data-aos=zoom-out-right] {
    -webkit-transform: translate3d(-100px, 0, 0) scale(1.2);
    transform: translate3d(-100px, 0, 0) scale(1.2);
  }
  html:not(.no-js) [data-aos=zoom-out-left] {
    -webkit-transform: translate3d(100px, 0, 0) scale(1.2);
    transform: translate3d(100px, 0, 0) scale(1.2);
  }
  html:not(.no-js) [data-aos^=slide][data-aos^=slide] {
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    visibility: hidden;
  }
  html:not(.no-js) [data-aos^=slide][data-aos^=slide].aos-animate {
    visibility: visible;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
  html:not(.no-js) [data-aos=slide-up] {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
  html:not(.no-js) [data-aos=slide-down] {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
  html:not(.no-js) [data-aos=slide-right] {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  html:not(.no-js) [data-aos=slide-left] {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
  html:not(.no-js) [data-aos^=flip][data-aos^=flip] {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
  }
  html:not(.no-js) [data-aos=flip-left] {
    -webkit-transform: perspective(2500px) rotateY(-100deg);
    transform: perspective(2500px) rotateY(-100deg);
  }
  html:not(.no-js) [data-aos=flip-left].aos-animate {
    -webkit-transform: perspective(2500px) rotateY(0);
    transform: perspective(2500px) rotateY(0);
  }
  html:not(.no-js) [data-aos=flip-right] {
    -webkit-transform: perspective(2500px) rotateY(100deg);
    transform: perspective(2500px) rotateY(100deg);
  }
  html:not(.no-js) [data-aos=flip-right].aos-animate {
    -webkit-transform: perspective(2500px) rotateY(0);
    transform: perspective(2500px) rotateY(0);
  }
  html:not(.no-js) [data-aos=flip-up] {
    -webkit-transform: perspective(2500px) rotateX(-100deg);
    transform: perspective(2500px) rotateX(-100deg);
  }
  html:not(.no-js) [data-aos=flip-up].aos-animate {
    -webkit-transform: perspective(2500px) rotateX(0);
    transform: perspective(2500px) rotateX(0);
  }
  html:not(.no-js) [data-aos=flip-down] {
    -webkit-transform: perspective(2500px) rotateX(100deg);
    transform: perspective(2500px) rotateX(100deg);
  }
  html:not(.no-js) [data-aos=flip-down].aos-animate {
    -webkit-transform: perspective(2500px) rotateX(0);
    transform: perspective(2500px) rotateX(0);
  }
}
@font-face {
  font-family: "swiper-icons";
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA") format("woff");
  font-weight: 400;
  font-style: normal;
}
.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-pointer-events {
  touch-action: pan-y;
}
.swiper-pointer-events.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}
.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* 3D Effects */
.swiper-3d, .swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}
.swiper-3d .swiper-wrapper,
.swiper-3d .swiper-slide,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}
.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}
.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none; /* For Firefox */
  -ms-overflow-style: none; /* For Internet Explorer and Edge */
}
.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}
.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-horizontal.swiper-css-mode > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-vertical.swiper-css-mode > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}
.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}
.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  width: var(--swiper-centered-offset-after);
}
.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}
.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  height: var(--swiper-centered-offset-after);
}
.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
}

.swiper-button-lock {
  display: none;
}

.swiper-pagination-lock {
  display: none;
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/* Slider */
.slick-loading .slick-list {
  background: #fff url("./ajax-loader.gif") center center no-repeat;
}

/* Icons */
@font-face {
  font-family: "slick";
  src: url("./fonts/slick.eot");
  src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal;
}
/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none;
}
.slick-prev:hover, .slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  outline: none;
  background: transparent;
  color: transparent;
}
.slick-prev:hover:before, .slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}
.slick-prev:before,
.slick-next:before {
  font-family: "slick";
  font-size: 20px;
  line-height: 1;
  color: white;
  opacity: 0.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  left: -25px;
}
[dir=rtl] .slick-prev {
  left: auto;
  right: -25px;
}
.slick-prev:before {
  content: "←";
}
[dir=rtl] .slick-prev:before {
  content: "→";
}

.slick-next {
  right: -25px;
}
[dir=rtl] .slick-next {
  left: -25px;
  right: auto;
}
.slick-next:before {
  content: "→";
}
[dir=rtl] .slick-next:before {
  content: "←";
}

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px;
}

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%;
}
.slick-dots li {
  position: relative;
  display: inline-block;
  height: 20px;
  width: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}
.slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  height: 20px;
  width: 20px;
  outline: none;
  line-height: 0px;
  font-size: 0px;
  color: transparent;
  padding: 5px;
  cursor: pointer;
}
.slick-dots li button:hover, .slick-dots li button:focus {
  outline: none;
}
.slick-dots li button:hover:before, .slick-dots li button:focus:before {
  opacity: 1;
}
.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "•";
  width: 20px;
  height: 20px;
  font-family: "slick";
  font-size: 6px;
  line-height: 20px;
  text-align: center;
  color: black;
  opacity: 0.25;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before {
  color: black;
  opacity: 0.75;
}

@font-face {
  font-family: "lg";
  src: url("fonts/lg.woff2?io9a6k") format("woff2"), url("fonts/lg.ttf?io9a6k") format("truetype"), url("fonts/lg.woff?io9a6k") format("woff"), url("fonts/lg.svg?io9a6k#lg") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
.lg-icon {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "lg" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.lg-container {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

.lg-next,
.lg-prev {
  background-color: rgba(0, 0, 0, 0.45);
  border-radius: 2px;
  color: #999;
  cursor: pointer;
  display: block;
  font-size: 22px;
  margin-top: -10px;
  padding: 8px 10px 9px;
  position: absolute;
  top: 50%;
  z-index: 1084;
  outline: none;
  border: none;
}

.lg-next.disabled,
.lg-prev.disabled {
  opacity: 0 !important;
  cursor: default;
}

.lg-next:hover:not(.disabled),
.lg-prev:hover:not(.disabled) {
  color: #fff;
}

.lg-single-item .lg-next, .lg-single-item .lg-prev {
  display: none;
}

.lg-next {
  right: 20px;
}

.lg-next:before {
  content: "\e095";
}

.lg-prev {
  left: 20px;
}

.lg-prev:after {
  content: "\e094";
}

@-webkit-keyframes lg-right-end {
  0% {
    left: 0;
  }
  50% {
    left: -30px;
  }
  100% {
    left: 0;
  }
}
@-moz-keyframes lg-right-end {
  0% {
    left: 0;
  }
  50% {
    left: -30px;
  }
  100% {
    left: 0;
  }
}
@-ms-keyframes lg-right-end {
  0% {
    left: 0;
  }
  50% {
    left: -30px;
  }
  100% {
    left: 0;
  }
}
@keyframes lg-right-end {
  0% {
    left: 0;
  }
  50% {
    left: -30px;
  }
  100% {
    left: 0;
  }
}
@-webkit-keyframes lg-left-end {
  0% {
    left: 0;
  }
  50% {
    left: 30px;
  }
  100% {
    left: 0;
  }
}
@-moz-keyframes lg-left-end {
  0% {
    left: 0;
  }
  50% {
    left: 30px;
  }
  100% {
    left: 0;
  }
}
@-ms-keyframes lg-left-end {
  0% {
    left: 0;
  }
  50% {
    left: 30px;
  }
  100% {
    left: 0;
  }
}
@keyframes lg-left-end {
  0% {
    left: 0;
  }
  50% {
    left: 30px;
  }
  100% {
    left: 0;
  }
}
.lg-outer.lg-right-end .lg-object {
  -webkit-animation: lg-right-end 0.3s;
  -o-animation: lg-right-end 0.3s;
  animation: lg-right-end 0.3s;
  position: relative;
}

.lg-outer.lg-left-end .lg-object {
  -webkit-animation: lg-left-end 0.3s;
  -o-animation: lg-left-end 0.3s;
  animation: lg-left-end 0.3s;
  position: relative;
}

.lg-toolbar {
  z-index: 1082;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.lg-media-overlap .lg-toolbar {
  background-image: linear-gradient(0deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.4));
}

.lg-toolbar .lg-icon {
  color: #999;
  cursor: pointer;
  float: right;
  font-size: 24px;
  height: 47px;
  line-height: 27px;
  padding: 10px 0;
  text-align: center;
  width: 50px;
  text-decoration: none !important;
  outline: medium none;
  will-change: color;
  -webkit-transition: color 0.2s linear;
  -o-transition: color 0.2s linear;
  transition: color 0.2s linear;
  background: none;
  border: none;
  box-shadow: none;
}

.lg-toolbar .lg-icon.lg-icon-18 {
  font-size: 18px;
}

.lg-toolbar .lg-icon:hover {
  color: #fff;
}

.lg-toolbar .lg-close:after {
  content: "\e070";
}

.lg-toolbar .lg-maximize {
  font-size: 22px;
}

.lg-toolbar .lg-maximize:after {
  content: "\e90a";
}

.lg-toolbar .lg-download:after {
  content: "\e0f2";
}

.lg-sub-html {
  color: #eee;
  font-size: 16px;
  padding: 10px 40px;
  text-align: center;
  z-index: 1080;
  opacity: 0;
  -webkit-transition: opacity 0.2s ease-out 0s;
  -o-transition: opacity 0.2s ease-out 0s;
  transition: opacity 0.2s ease-out 0s;
}

.lg-sub-html h4 {
  margin: 0;
  font-size: 13px;
  font-weight: bold;
}

.lg-sub-html p {
  font-size: 12px;
  margin: 5px 0 0;
}

.lg-sub-html a {
  color: inherit;
}

.lg-sub-html a:hover {
  text-decoration: underline;
}

.lg-media-overlap .lg-sub-html {
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.6));
}

.lg-item .lg-sub-html {
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
}

.lg-error-msg {
  font-size: 14px;
  color: #999;
}

.lg-counter {
  color: #999;
  display: inline-block;
  font-size: 16px;
  padding-left: 20px;
  padding-top: 12px;
  height: 47px;
  vertical-align: middle;
}

.lg-closing .lg-toolbar,
.lg-closing .lg-prev,
.lg-closing .lg-next,
.lg-closing .lg-sub-html {
  opacity: 0;
  -webkit-transition: -webkit-transform 0.08 cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.08 cubic-bezier(0, 0, 0.25, 1) 0s, color 0.08 linear;
  -moz-transition: -moz-transform 0.08 cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.08 cubic-bezier(0, 0, 0.25, 1) 0s, color 0.08 linear;
  -o-transition: -o-transform 0.08 cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.08 cubic-bezier(0, 0, 0.25, 1) 0s, color 0.08 linear;
  transition: transform 0.08 cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.08 cubic-bezier(0, 0, 0.25, 1) 0s, color 0.08 linear;
}

body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item:not(.lg-zoomable) .lg-img-wrap,
body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item:not(.lg-zoomable) .lg-video-cont {
  opacity: 0;
  -moz-transform: scale3d(0.5, 0.5, 0.5);
  -o-transform: scale3d(0.5, 0.5, 0.5);
  -ms-transform: scale3d(0.5, 0.5, 0.5);
  -webkit-transform: scale3d(0.5, 0.5, 0.5);
  transform: scale3d(0.5, 0.5, 0.5);
  will-change: transform, opacity;
  -webkit-transition: -webkit-transform 250ms cubic-bezier(0, 0, 0.25, 1) 0s, opacity 250ms cubic-bezier(0, 0, 0.25, 1) !important;
  -moz-transition: -moz-transform 250ms cubic-bezier(0, 0, 0.25, 1) 0s, opacity 250ms cubic-bezier(0, 0, 0.25, 1) !important;
  -o-transition: -o-transform 250ms cubic-bezier(0, 0, 0.25, 1) 0s, opacity 250ms cubic-bezier(0, 0, 0.25, 1) !important;
  transition: transform 250ms cubic-bezier(0, 0, 0.25, 1) 0s, opacity 250ms cubic-bezier(0, 0, 0.25, 1) !important;
}

body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item:not(.lg-zoomable).lg-complete .lg-img-wrap,
body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item:not(.lg-zoomable).lg-complete .lg-video-cont {
  opacity: 1;
  -moz-transform: scale3d(1, 1, 1);
  -o-transform: scale3d(1, 1, 1);
  -ms-transform: scale3d(1, 1, 1);
  -webkit-transform: scale3d(1, 1, 1);
  transform: scale3d(1, 1, 1);
}

.lg-icon:focus-visible {
  color: #fff;
  border-radius: 3px;
  outline: 1px dashed rgba(255, 255, 255, 0.6);
}

.lg-toolbar .lg-icon:focus-visible {
  border-radius: 8px;
  outline-offset: -5px;
}

.lg-outer .lg-thumb-outer {
  background-color: #0d0a0a;
  width: 100%;
  max-height: 350px;
  overflow: hidden;
  float: left;
}

.lg-outer .lg-thumb-outer.lg-grab .lg-thumb-item {
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: -o-grab;
  cursor: -ms-grab;
  cursor: grab;
}

.lg-outer .lg-thumb-outer.lg-grabbing .lg-thumb-item {
  cursor: move;
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: -o-grabbing;
  cursor: -ms-grabbing;
  cursor: grabbing;
}

.lg-outer .lg-thumb-outer.lg-dragging .lg-thumb {
  -webkit-transition-duration: 0s !important;
  transition-duration: 0s !important;
}

.lg-outer .lg-thumb-outer.lg-rebuilding-thumbnails .lg-thumb {
  -webkit-transition-duration: 0s !important;
  transition-duration: 0s !important;
}

.lg-outer .lg-thumb-outer.lg-thumb-align-middle {
  text-align: center;
}

.lg-outer .lg-thumb-outer.lg-thumb-align-left {
  text-align: left;
}

.lg-outer .lg-thumb-outer.lg-thumb-align-right {
  text-align: right;
}

.lg-outer.lg-single-item .lg-thumb-outer {
  display: none;
}

.lg-outer .lg-thumb {
  padding: 5px 0;
  height: 100%;
  margin-bottom: -5px;
  display: inline-block;
  vertical-align: middle;
}

@media (min-width: 768px) {
  .lg-outer .lg-thumb {
    padding: 10px 0;
  }
}
.lg-outer .lg-thumb-item {
  cursor: pointer;
  float: left;
  overflow: hidden;
  height: 100%;
  border-radius: 2px;
  margin-bottom: 5px;
  will-change: border-color;
}

@media (min-width: 768px) {
  .lg-outer .lg-thumb-item {
    border-radius: 4px;
    border: 2px solid #fff;
    -webkit-transition: border-color 0.25s ease;
    -o-transition: border-color 0.25s ease;
    transition: border-color 0.25s ease;
  }
}
.lg-outer .lg-thumb-item.active, .lg-outer .lg-thumb-item:hover {
  border-color: #a90707;
}

.lg-outer .lg-thumb-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.lg-outer.lg-can-toggle .lg-item {
  padding-bottom: 0;
}

.lg-outer .lg-toggle-thumb:after {
  content: "\e1ff";
}

.lg-outer.lg-animate-thumb .lg-thumb {
  -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.lg-outer .lg-video-cont {
  text-align: center;
  display: inline-block;
  vertical-align: middle;
  position: relative;
}

.lg-outer .lg-video-cont .lg-object {
  width: 100% !important;
  height: 100% !important;
}

.lg-outer .lg-has-iframe .lg-video-cont {
  -webkit-overflow-scrolling: touch;
  overflow: auto;
}

.lg-outer .lg-video-object {
  position: absolute;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  top: 0;
  bottom: 0;
  z-index: 3;
}

.lg-outer .lg-video-poster {
  z-index: 1;
}

.lg-outer .lg-has-video .lg-video-object {
  opacity: 0;
  will-change: opacity;
  -webkit-transition: opacity 0.3s ease-in;
  -o-transition: opacity 0.3s ease-in;
  transition: opacity 0.3s ease-in;
}

.lg-outer .lg-has-video.lg-video-loaded .lg-video-poster,
.lg-outer .lg-has-video.lg-video-loaded .lg-video-play-button {
  opacity: 0 !important;
}

.lg-outer .lg-has-video.lg-video-loaded .lg-video-object {
  opacity: 1;
}

@keyframes lg-play-stroke {
  0% {
    stroke-dasharray: 1, 200;
    stroke-dashoffset: 0;
  }
  50% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -35px;
  }
  100% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -124px;
  }
}
@keyframes lg-play-rotate {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
.lg-video-play-button {
  width: 18%;
  max-width: 140px;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  cursor: pointer;
  transform: translate(-50%, -50%) scale(1);
  will-change: opacity, transform;
  -webkit-transition: -webkit-transform 0.25s cubic-bezier(0.17, 0.88, 0.32, 1.28), opacity 0.1s;
  -moz-transition: -moz-transform 0.25s cubic-bezier(0.17, 0.88, 0.32, 1.28), opacity 0.1s;
  -o-transition: -o-transform 0.25s cubic-bezier(0.17, 0.88, 0.32, 1.28), opacity 0.1s;
  transition: transform 0.25s cubic-bezier(0.17, 0.88, 0.32, 1.28), opacity 0.1s;
}

.lg-video-play-button:hover .lg-video-play-icon-bg,
.lg-video-play-button:hover .lg-video-play-icon {
  opacity: 1;
}

.lg-video-play-icon-bg {
  fill: none;
  stroke-width: 3%;
  stroke: #fcfcfc;
  opacity: 0.6;
  will-change: opacity;
  -webkit-transition: opacity 0.12s ease-in;
  -o-transition: opacity 0.12s ease-in;
  transition: opacity 0.12s ease-in;
}

.lg-video-play-icon-circle {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  fill: none;
  stroke-width: 3%;
  stroke: rgba(30, 30, 30, 0.9);
  stroke-opacity: 1;
  stroke-linecap: round;
  stroke-dasharray: 200;
  stroke-dashoffset: 200;
}

.lg-video-play-icon {
  position: absolute;
  width: 25%;
  max-width: 120px;
  left: 50%;
  top: 50%;
  transform: translate3d(-50%, -50%, 0);
  opacity: 0.6;
  will-change: opacity;
  -webkit-transition: opacity 0.12s ease-in;
  -o-transition: opacity 0.12s ease-in;
  transition: opacity 0.12s ease-in;
}

.lg-video-play-icon .lg-video-play-icon-inner {
  fill: #fcfcfc;
}

.lg-video-loading .lg-video-play-icon-circle {
  animation: lg-play-rotate 2s linear 0.25s infinite, lg-play-stroke 1.5s ease-in-out 0.25s infinite;
}

.lg-video-loaded .lg-video-play-button {
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.7);
}

.lg-progress-bar {
  background-color: #333;
  height: 5px;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1083;
  opacity: 0;
  will-change: opacity;
  -webkit-transition: opacity 0.08s ease 0s;
  -moz-transition: opacity 0.08s ease 0s;
  -o-transition: opacity 0.08s ease 0s;
  transition: opacity 0.08s ease 0s;
}

.lg-progress-bar .lg-progress {
  background-color: #a90707;
  height: 5px;
  width: 0;
}

.lg-progress-bar.lg-start .lg-progress {
  width: 100%;
}

.lg-show-autoplay .lg-progress-bar {
  opacity: 1;
}

.lg-autoplay-button:after {
  content: "\e01d";
}

.lg-show-autoplay .lg-autoplay-button:after {
  content: "\e01a";
}

.lg-single-item .lg-autoplay-button {
  opacity: 0.75;
  pointer-events: none;
}

.lg-outer.lg-css3.lg-zoom-dragging .lg-item.lg-complete.lg-zoomable .lg-img-wrap,
.lg-outer.lg-css3.lg-zoom-dragging .lg-item.lg-complete.lg-zoomable .lg-image {
  -webkit-transition-duration: 0ms !important;
  transition-duration: 0ms !important;
}

.lg-outer.lg-use-transition-for-zoom .lg-item.lg-complete.lg-zoomable .lg-img-wrap {
  will-change: transform;
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.12, 0.415, 0.01, 1.19) 0s;
  -moz-transition: -moz-transform 0.5s cubic-bezier(0.12, 0.415, 0.01, 1.19) 0s;
  -o-transition: -o-transform 0.5s cubic-bezier(0.12, 0.415, 0.01, 1.19) 0s;
  transition: transform 0.5s cubic-bezier(0.12, 0.415, 0.01, 1.19) 0s;
}

.lg-outer.lg-use-transition-for-zoom.lg-zoom-drag-transition .lg-item.lg-complete.lg-zoomable .lg-img-wrap {
  will-change: transform;
  -webkit-transition: -webkit-transform 0.8s cubic-bezier(0, 0, 0.25, 1) 0s;
  -moz-transition: -moz-transform 0.8s cubic-bezier(0, 0, 0.25, 1) 0s;
  -o-transition: -o-transform 0.8s cubic-bezier(0, 0, 0.25, 1) 0s;
  transition: transform 0.8s cubic-bezier(0, 0, 0.25, 1) 0s;
}

.lg-outer .lg-item.lg-complete.lg-zoomable .lg-img-wrap {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
}

.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image,
.lg-outer .lg-item.lg-complete.lg-zoomable .lg-dummy-img {
  -webkit-transform: scale3d(1, 1, 1);
  transform: scale3d(1, 1, 1);
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.12, 0.415, 0.01, 1.19) 0s, opacity 0.15s !important;
  -moz-transition: -moz-transform 0.5s cubic-bezier(0.12, 0.415, 0.01, 1.19) 0s, opacity 0.15s !important;
  -o-transition: -o-transform 0.5s cubic-bezier(0.12, 0.415, 0.01, 1.19) 0s, opacity 0.15s !important;
  transition: transform 0.5s cubic-bezier(0.12, 0.415, 0.01, 1.19) 0s, opacity 0.15s !important;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
}

.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image.no-transition,
.lg-outer .lg-item.lg-complete.lg-zoomable .lg-dummy-img.no-transition {
  transition: none !important;
}

.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image.reset-transition,
.lg-outer .lg-item.lg-complete.lg-zoomable .lg-dummy-img.reset-transition {
  transform: scale3d(1, 1, 1) translate3d(-50%, -50%, 0px) !important;
  max-width: none !important;
  max-height: none !important;
  top: 50% !important;
  left: 50% !important;
}

.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image.reset-transition-x,
.lg-outer .lg-item.lg-complete.lg-zoomable .lg-dummy-img.reset-transition-x {
  transform: scale3d(1, 1, 1) translate3d(-50%, 0, 0px) !important;
  top: 0 !important;
  left: 50% !important;
  max-width: none !important;
  max-height: none !important;
}

.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image.reset-transition-y,
.lg-outer .lg-item.lg-complete.lg-zoomable .lg-dummy-img.reset-transition-y {
  transform: scale3d(1, 1, 1) translate3d(0, -50%, 0px) !important;
  top: 50% !important;
  left: 0% !important;
  max-width: none !important;
  max-height: none !important;
}

.lg-icon.lg-zoom-in:after {
  content: "\e311";
}

.lg-actual-size .lg-icon.lg-zoom-in {
  opacity: 0.5;
  pointer-events: none;
}

.lg-icon.lg-actual-size {
  font-size: 20px;
}

.lg-icon.lg-actual-size:after {
  content: "\e033";
}

.lg-icon.lg-zoom-out {
  opacity: 0.5;
  pointer-events: none;
}

.lg-icon.lg-zoom-out:after {
  content: "\e312";
}

.lg-zoomed .lg-icon.lg-zoom-out {
  opacity: 1;
  pointer-events: auto;
}

.lg-outer[data-lg-slide-type=video] .lg-zoom-in,
.lg-outer[data-lg-slide-type=video] .lg-actual-size,
.lg-outer[data-lg-slide-type=video] .lg-zoom-out, .lg-outer[data-lg-slide-type=iframe] .lg-zoom-in,
.lg-outer[data-lg-slide-type=iframe] .lg-actual-size,
.lg-outer[data-lg-slide-type=iframe] .lg-zoom-out, .lg-outer.lg-first-slide-loading .lg-zoom-in,
.lg-outer.lg-first-slide-loading .lg-actual-size,
.lg-outer.lg-first-slide-loading .lg-zoom-out {
  opacity: 0.75;
  pointer-events: none;
}

.lg-outer .lg-pager-outer {
  text-align: center;
  z-index: 1080;
  height: 10px;
  margin-bottom: 10px;
}

.lg-outer .lg-pager-outer.lg-pager-hover .lg-pager-cont {
  overflow: visible;
}

.lg-outer.lg-single-item .lg-pager-outer {
  display: none;
}

.lg-outer .lg-pager-cont {
  cursor: pointer;
  display: inline-block;
  overflow: hidden;
  position: relative;
  vertical-align: top;
  margin: 0 5px;
}

.lg-outer .lg-pager-cont:hover .lg-pager-thumb-cont {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.lg-outer .lg-pager-cont.lg-pager-active .lg-pager {
  box-shadow: 0 0 0 2px white inset;
}

.lg-outer .lg-pager-thumb-cont {
  background-color: #fff;
  color: #fff;
  bottom: 100%;
  height: 83px;
  left: 0;
  margin-bottom: 20px;
  margin-left: -60px;
  opacity: 0;
  padding: 5px;
  position: absolute;
  width: 120px;
  border-radius: 3px;
  will-change: transform, opacity;
  -webkit-transition: opacity 0.15s ease 0s, -webkit-transform 0.15s ease 0s;
  -moz-transition: opacity 0.15s ease 0s, -moz-transform 0.15s ease 0s;
  -o-transition: opacity 0.15s ease 0s, -o-transform 0.15s ease 0s;
  transition: opacity 0.15s ease 0s, transform 0.15s ease 0s;
  -webkit-transform: translate3d(0, 5px, 0);
  transform: translate3d(0, 5px, 0);
}

.lg-outer .lg-pager-thumb-cont img {
  width: 100%;
  height: 100%;
}

.lg-outer .lg-pager {
  background-color: rgba(255, 255, 255, 0.5);
  border-radius: 50%;
  box-shadow: 0 0 0 8px rgba(255, 255, 255, 0.7) inset;
  display: block;
  height: 12px;
  -webkit-transition: box-shadow 0.3s ease 0s;
  -o-transition: box-shadow 0.3s ease 0s;
  transition: box-shadow 0.3s ease 0s;
  width: 12px;
}

.lg-outer .lg-pager:hover, .lg-outer .lg-pager:focus {
  box-shadow: 0 0 0 8px white inset;
}

.lg-outer .lg-caret {
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 10px dashed;
  bottom: -10px;
  display: inline-block;
  height: 0;
  left: 50%;
  margin-left: -5px;
  position: absolute;
  vertical-align: middle;
  width: 0;
}

.lg-fullscreen:after {
  content: "\e20c";
}

.lg-fullscreen-on .lg-fullscreen:after {
  content: "\e20d";
}

.lg-outer .lg-dropdown-overlay {
  background-color: rgba(0, 0, 0, 0.25);
  bottom: 0;
  cursor: default;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1081;
  opacity: 0;
  visibility: hidden;
  will-change: visibility, opacity;
  -webkit-transition: visibility 0s linear 0.18s, opacity 0.18s linear 0s;
  -o-transition: visibility 0s linear 0.18s, opacity 0.18s linear 0s;
  transition: visibility 0s linear 0.18s, opacity 0.18s linear 0s;
}

.lg-outer.lg-dropdown-active .lg-dropdown,
.lg-outer.lg-dropdown-active .lg-dropdown-overlay {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  -moz-transform: translate3d(0, 0px, 0);
  -o-transform: translate3d(0, 0px, 0);
  -ms-transform: translate3d(0, 0px, 0);
  -webkit-transform: translate3d(0, 0px, 0);
  transform: translate3d(0, 0px, 0);
  opacity: 1;
  visibility: visible;
}

.lg-outer.lg-dropdown-active .lg-share {
  color: #fff;
}

.lg-outer .lg-dropdown {
  background-color: #fff;
  border-radius: 2px;
  font-size: 14px;
  list-style-type: none;
  margin: 0;
  padding: 10px 0;
  position: absolute;
  right: 0;
  text-align: left;
  top: 50px;
  opacity: 0;
  visibility: hidden;
  -moz-transform: translate3d(0, 5px, 0);
  -o-transform: translate3d(0, 5px, 0);
  -ms-transform: translate3d(0, 5px, 0);
  -webkit-transform: translate3d(0, 5px, 0);
  transform: translate3d(0, 5px, 0);
  will-change: visibility, opacity, transform;
  -webkit-transition: -webkit-transform 0.18s linear 0s, visibility 0s linear 0.5s, opacity 0.18s linear 0s;
  -moz-transition: -moz-transform 0.18s linear 0s, visibility 0s linear 0.5s, opacity 0.18s linear 0s;
  -o-transition: -o-transform 0.18s linear 0s, visibility 0s linear 0.5s, opacity 0.18s linear 0s;
  transition: transform 0.18s linear 0s, visibility 0s linear 0.5s, opacity 0.18s linear 0s;
}

.lg-outer .lg-dropdown:after {
  content: "";
  display: block;
  height: 0;
  width: 0;
  position: absolute;
  border: 8px solid transparent;
  border-bottom-color: #fff;
  right: 16px;
  top: -16px;
}

.lg-outer .lg-dropdown > li:last-child {
  margin-bottom: 0px;
}

.lg-outer .lg-dropdown > li:hover a {
  color: #333;
}

.lg-outer .lg-dropdown a {
  color: #333;
  display: block;
  white-space: pre;
  padding: 4px 12px;
  font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 12px;
}

.lg-outer .lg-dropdown a:hover {
  background-color: rgba(0, 0, 0, 0.07);
}

.lg-outer .lg-dropdown .lg-dropdown-text {
  display: inline-block;
  line-height: 1;
  margin-top: -3px;
  vertical-align: middle;
}

.lg-outer .lg-dropdown .lg-icon {
  color: #333;
  display: inline-block;
  float: none;
  font-size: 20px;
  height: auto;
  line-height: 1;
  margin-right: 8px;
  padding: 0;
  vertical-align: middle;
  width: auto;
}

.lg-outer .lg-share {
  position: relative;
}

.lg-outer .lg-share:after {
  content: "\e80d";
}

.lg-outer .lg-share-facebook .lg-icon {
  color: #3b5998;
}

.lg-outer .lg-share-facebook .lg-icon:after {
  content: "\e904";
}

.lg-outer .lg-share-twitter .lg-icon {
  color: #00aced;
}

.lg-outer .lg-share-twitter .lg-icon:after {
  content: "\e907";
}

.lg-outer .lg-share-pinterest .lg-icon {
  color: #cb2027;
}

.lg-outer .lg-share-pinterest .lg-icon:after {
  content: "\e906";
}

.lg-comment-box {
  width: 420px;
  max-width: 100%;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 9999;
  background-color: #fff;
  will-change: transform;
  -moz-transform: translate3d(100%, 0, 0);
  -o-transform: translate3d(100%, 0, 0);
  -ms-transform: translate3d(100%, 0, 0);
  -webkit-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0);
  -webkit-transition: -webkit-transform 0.4s cubic-bezier(0, 0, 0.25, 1) 0s;
  -moz-transition: -moz-transform 0.4s cubic-bezier(0, 0, 0.25, 1) 0s;
  -o-transition: -o-transform 0.4s cubic-bezier(0, 0, 0.25, 1) 0s;
  transition: transform 0.4s cubic-bezier(0, 0, 0.25, 1) 0s;
}

.lg-comment-box .lg-comment-title {
  margin: 0;
  color: #fff;
  font-size: 18px;
}

.lg-comment-box .lg-comment-header {
  background-color: #000;
  padding: 12px 20px;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
}

.lg-comment-box .lg-comment-body {
  height: 100% !important;
  padding-top: 43px !important;
  width: 100% !important;
}

.lg-comment-box .fb-comments {
  height: 100%;
  width: 100%;
  background: url("../images/loading.gif") no-repeat scroll center center #fff;
  overflow-y: auto;
  display: inline-block;
}

.lg-comment-box .fb-comments[fb-xfbml-state=rendered] {
  background-image: none;
}

.lg-comment-box .fb-comments > span {
  max-width: 100%;
}

.lg-comment-box .lg-comment-close {
  position: absolute;
  right: 5px;
  top: 12px;
  cursor: pointer;
  font-size: 20px;
  color: #999;
  will-change: color;
  -webkit-transition: color 0.2s linear;
  -o-transition: color 0.2s linear;
  transition: color 0.2s linear;
}

.lg-comment-box .lg-comment-close:hover {
  color: #fff;
}

.lg-comment-box .lg-comment-close:after {
  content: "\e070";
}

.lg-comment-box iframe {
  max-width: 100% !important;
  width: 100% !important;
}

.lg-comment-box #disqus_thread {
  padding: 0 20px;
}

.lg-outer .lg-comment-overlay {
  background-color: rgba(0, 0, 0, 0.25);
  bottom: 0;
  cursor: default;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 1081;
  opacity: 0;
  visibility: hidden;
  will-change: visibility, opacity;
  -webkit-transition: visibility 0s linear 0.18s, opacity 0.18s linear 0s;
  -o-transition: visibility 0s linear 0.18s, opacity 0.18s linear 0s;
  transition: visibility 0s linear 0.18s, opacity 0.18s linear 0s;
}

.lg-outer .lg-comment-toggle:after {
  content: "\e908";
}

.lg-outer.lg-comment-active .lg-comment-overlay {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  -moz-transform: translate3d(0, 0px, 0);
  -o-transform: translate3d(0, 0px, 0);
  -ms-transform: translate3d(0, 0px, 0);
  -webkit-transform: translate3d(0, 0px, 0);
  transform: translate3d(0, 0px, 0);
  opacity: 1;
  visibility: visible;
}

.lg-outer.lg-comment-active .lg-comment-toggle {
  color: #fff;
}

.lg-outer.lg-comment-active .lg-comment-box {
  -moz-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.lg-outer .lg-img-rotate {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  -webkit-transition: -webkit-transform 0.4s cubic-bezier(0, 0, 0.25, 1) 0s;
  -moz-transition: -moz-transform 0.4s cubic-bezier(0, 0, 0.25, 1) 0s;
  -o-transition: -o-transform 0.4s cubic-bezier(0, 0, 0.25, 1) 0s;
  transition: transform 0.4s cubic-bezier(0, 0, 0.25, 1) 0s;
}

.lg-outer[data-lg-slide-type=video] .lg-rotate-left,
.lg-outer[data-lg-slide-type=video] .lg-rotate-right,
.lg-outer[data-lg-slide-type=video] .lg-flip-ver,
.lg-outer[data-lg-slide-type=video] .lg-flip-hor, .lg-outer[data-lg-slide-type=iframe] .lg-rotate-left,
.lg-outer[data-lg-slide-type=iframe] .lg-rotate-right,
.lg-outer[data-lg-slide-type=iframe] .lg-flip-ver,
.lg-outer[data-lg-slide-type=iframe] .lg-flip-hor {
  opacity: 0.75;
  pointer-events: none;
}

.lg-outer .lg-img-rotate:before {
  content: "";
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}

.lg-rotate-left:after {
  content: "\e900";
}

.lg-rotate-right:after {
  content: "\e901";
}

.lg-icon.lg-flip-hor, .lg-icon.lg-flip-ver {
  font-size: 26px;
}

.lg-flip-ver:after {
  content: "\e903";
}

.lg-flip-hor:after {
  content: "\e902";
}

.lg-medium-zoom-item {
  cursor: zoom-in;
}

.lg-medium-zoom .lg-outer {
  cursor: zoom-out;
}

.lg-medium-zoom .lg-outer.lg-grab img.lg-object {
  cursor: zoom-out;
}

.lg-medium-zoom .lg-outer.lg-grabbing img.lg-object {
  cursor: zoom-out;
}

.lg-relative-caption .lg-outer .lg-sub-html {
  white-space: normal;
  bottom: auto;
  padding: 0;
  background-image: none;
}

.lg-relative-caption .lg-outer .lg-relative-caption-item {
  opacity: 0;
  padding: 16px 0;
  transition: 0.5s opacity ease;
}

.lg-relative-caption .lg-outer .lg-show-caption .lg-relative-caption-item {
  opacity: 1;
}

.lg-group:after {
  content: "";
  display: table;
  clear: both;
}

.lg-container {
  display: none;
  outline: none;
}

.lg-container.lg-show {
  display: block;
}

.lg-on {
  scroll-behavior: unset;
}

.lg-overlay-open {
  overflow: hidden;
}

.lg-toolbar,
.lg-prev,
.lg-next,
.lg-pager-outer,
.lg-hide-sub-html .lg-sub-html {
  opacity: 0;
  will-change: transform, opacity;
  -webkit-transition: -webkit-transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.25s cubic-bezier(0, 0, 0.25, 1) 0s;
  -moz-transition: -moz-transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.25s cubic-bezier(0, 0, 0.25, 1) 0s;
  -o-transition: -o-transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.25s cubic-bezier(0, 0, 0.25, 1) 0s;
  transition: transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.25s cubic-bezier(0, 0, 0.25, 1) 0s;
}

.lg-show-in .lg-toolbar,
.lg-show-in .lg-prev,
.lg-show-in .lg-next,
.lg-show-in .lg-pager-outer {
  opacity: 1;
}

.lg-show-in.lg-hide-sub-html .lg-sub-html {
  opacity: 1;
}

.lg-show-in .lg-hide-items .lg-prev {
  opacity: 0;
  -webkit-transform: translate3d(-10px, 0, 0);
  transform: translate3d(-10px, 0, 0);
}

.lg-show-in .lg-hide-items .lg-next {
  opacity: 0;
  -webkit-transform: translate3d(10px, 0, 0);
  transform: translate3d(10px, 0, 0);
}

.lg-show-in .lg-hide-items .lg-toolbar {
  opacity: 0;
  -webkit-transform: translate3d(0, -10px, 0);
  transform: translate3d(0, -10px, 0);
}

.lg-show-in .lg-hide-items.lg-hide-sub-html .lg-sub-html {
  opacity: 0;
  -webkit-transform: translate3d(0, 20px, 0);
  transform: translate3d(0, 20px, 0);
}

.lg-outer {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1050;
  text-align: left;
  opacity: 0.001;
  outline: none;
  will-change: auto;
  overflow: hidden;
  -webkit-transition: opacity 0.15s ease 0s;
  -o-transition: opacity 0.15s ease 0s;
  transition: opacity 0.15s ease 0s;
}

.lg-outer * {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.lg-outer.lg-zoom-from-image {
  opacity: 1;
}

.lg-outer.lg-visible {
  opacity: 1;
}

.lg-outer.lg-css3 .lg-item:not(.lg-start-end-progress).lg-prev-slide, .lg-outer.lg-css3 .lg-item:not(.lg-start-end-progress).lg-next-slide, .lg-outer.lg-css3 .lg-item:not(.lg-start-end-progress).lg-current {
  -webkit-transition-duration: inherit !important;
  transition-duration: inherit !important;
  -webkit-transition-timing-function: inherit !important;
  transition-timing-function: inherit !important;
}

.lg-outer.lg-css3.lg-dragging .lg-item.lg-prev-slide, .lg-outer.lg-css3.lg-dragging .lg-item.lg-next-slide, .lg-outer.lg-css3.lg-dragging .lg-item.lg-current {
  -webkit-transition-duration: 0s !important;
  transition-duration: 0s !important;
  opacity: 1;
}

.lg-outer.lg-grab img.lg-object {
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: -o-grab;
  cursor: -ms-grab;
  cursor: grab;
}

.lg-outer.lg-grabbing img.lg-object {
  cursor: move;
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: -o-grabbing;
  cursor: -ms-grabbing;
  cursor: grabbing;
}

.lg-outer .lg-content {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.lg-outer .lg-inner {
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  -webkit-transition: opacity 0s;
  -o-transition: opacity 0s;
  transition: opacity 0s;
  white-space: nowrap;
}

.lg-outer .lg-item {
  display: none !important;
}

.lg-outer .lg-item:not(.lg-start-end-progress) {
  background: url("../images/loading.gif") no-repeat scroll center center transparent;
}

.lg-outer.lg-css3 .lg-prev-slide,
.lg-outer.lg-css3 .lg-current,
.lg-outer.lg-css3 .lg-next-slide {
  display: inline-block !important;
}

.lg-outer.lg-css .lg-current {
  display: inline-block !important;
}

.lg-outer .lg-item,
.lg-outer .lg-img-wrap {
  display: inline-block;
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
}

.lg-outer .lg-item:before,
.lg-outer .lg-img-wrap:before {
  content: "";
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}

.lg-outer .lg-img-wrap {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  white-space: nowrap;
  font-size: 0;
}

.lg-outer .lg-item.lg-complete {
  background-image: none;
}

.lg-outer .lg-item.lg-current {
  z-index: 1060;
}

.lg-outer .lg-object {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  position: relative;
}

.lg-outer .lg-empty-html.lg-sub-html,
.lg-outer .lg-empty-html .lg-sub-html {
  display: none;
}

.lg-outer.lg-hide-download .lg-download {
  opacity: 0.75;
  pointer-events: none;
}

.lg-outer .lg-first-slide .lg-dummy-img {
  position: absolute;
  top: 50%;
  left: 50%;
}

.lg-outer.lg-components-open:not(.lg-zoomed) .lg-components {
  -webkit-transform: translate3d(0, 0%, 0);
  transform: translate3d(0, 0%, 0);
  opacity: 1;
}

.lg-outer.lg-components-open:not(.lg-zoomed) .lg-sub-html {
  opacity: 1;
  transition: opacity 0.2s ease-out 0.15s;
}

.lg-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1040;
  background-color: #000;
  opacity: 0;
  will-change: auto;
  -webkit-transition: opacity 333ms ease-in 0s;
  -o-transition: opacity 333ms ease-in 0s;
  transition: opacity 333ms ease-in 0s;
}

.lg-backdrop.in {
  opacity: 1;
}

.lg-css3.lg-no-trans .lg-prev-slide,
.lg-css3.lg-no-trans .lg-next-slide,
.lg-css3.lg-no-trans .lg-current {
  -webkit-transition: none 0s ease 0s !important;
  -moz-transition: none 0s ease 0s !important;
  -o-transition: none 0s ease 0s !important;
  transition: none 0s ease 0s !important;
}

.lg-css3.lg-use-css3 .lg-item {
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
}

.lg-css3.lg-fade .lg-item {
  opacity: 0;
}

.lg-css3.lg-fade .lg-item.lg-current {
  opacity: 1;
}

.lg-css3.lg-fade .lg-item.lg-prev-slide, .lg-css3.lg-fade .lg-item.lg-next-slide, .lg-css3.lg-fade .lg-item.lg-current {
  -webkit-transition: opacity 0.1s ease 0s;
  -moz-transition: opacity 0.1s ease 0s;
  -o-transition: opacity 0.1s ease 0s;
  transition: opacity 0.1s ease 0s;
}

.lg-css3.lg-use-css3 .lg-item.lg-start-progress {
  -webkit-transition: -webkit-transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0s;
  -moz-transition: -moz-transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0s;
  -o-transition: -o-transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0s;
  transition: transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0s;
}

.lg-css3.lg-use-css3 .lg-item.lg-start-end-progress {
  -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s;
  -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s;
  -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s;
  transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s;
}

.lg-css3.lg-slide.lg-use-css3 .lg-item {
  opacity: 0;
}

.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-prev-slide {
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
}

.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-next-slide {
  -webkit-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0);
}

.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-current {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-prev-slide, .lg-css3.lg-slide.lg-use-css3 .lg-item.lg-next-slide, .lg-css3.lg-slide.lg-use-css3 .lg-item.lg-current {
  -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s;
  -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s;
  -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s;
  transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s;
}

.lg-container {
  display: none;
}

.lg-container.lg-show {
  display: block;
}

.lg-container.lg-dragging-vertical .lg-backdrop {
  -webkit-transition-duration: 0s !important;
  transition-duration: 0s !important;
}

.lg-container.lg-dragging-vertical .lg-css3 .lg-item.lg-current {
  -webkit-transition-duration: 0s !important;
  transition-duration: 0s !important;
  opacity: 1;
}

.lg-inline .lg-backdrop,
.lg-inline .lg-outer {
  position: absolute;
}

.lg-inline .lg-backdrop {
  z-index: 1;
}

.lg-inline .lg-outer {
  z-index: 2;
}

.lg-inline .lg-maximize:after {
  content: "\e909";
}

.lg-components {
  -webkit-transform: translate3d(0, 100%, 0);
  transform: translate3d(0, 100%, 0);
  will-change: transform;
  -webkit-transition: -webkit-transform 0.35s ease-out 0s;
  -moz-transition: -moz-transform 0.35s ease-out 0s;
  -o-transition: -o-transform 0.35s ease-out 0s;
  transition: transform 0.35s ease-out 0s;
  z-index: 1080;
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
}

header {
  transition: padding 0.5s;
}
header.withblack .nav-title {
  color: #ffffff;
}

@media (min-width: 1280px) {
  .scrollDown header::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: saturate(200%) blur(30px);
    -webkit-backdrop-filter: saturate(200%) blur(30px);
    z-index: -1;
  }
  .scrollDown header.withblack .nav-title {
    color: #222222;
  }
  .scrollDown .header-block {
    box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.08);
  }
}
body.scrollDown nav.mb-navi {
  background-color: #ffffff;
  background: rgba(255, 255, 255, 0.15); /* 降低透明度，增加毛玻璃感 */
  backdrop-filter: saturate(200%) blur(30px); /* 增加饱和度和模糊度 */
  -webkit-backdrop-filter: saturate(200%) blur(30px); /* Safari 兼容 */
}
body.scrollDown nav {
  border-bottom: 1px solid #dddddd;
}

.mobile-nav-outer {
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-color: white;
  transform: translateX(100%);
  transition: height 0.5s ease, top 0.5s ease, transform 0.5s ease;
  opacity: 0;
  z-index: 1;
  padding: 4rem 0 0 0;
  overflow-y: auto;
  overflow-x: hidden;
}
@media (min-width: 1280px) {
  .mobile-nav-outer {
    display: none;
  }
}
.mobile-nav-outer.is-active {
  transform: translateX(0);
  opacity: 1;
  border-bottom: 1px solid #dddddd;
}

.mobile-nav-outer__item.hasthird {
  border-bottom: 1px solid #dddddd;
  margin: 0 1.875rem;
}
.mobile-nav-outer__item.hasthird > ul {
  display: none;
}
.mobile-nav-outer__item.hasthird .mobile-nav-outer__header {
  color: #555046;
}
.mobile-nav-outer__item.hasthird .mobile-nav-outer__header .mobile-nav-outer__collapse {
  background: url("../img/layout/i-menu-down.svg") no-repeat left top;
  width: 1rem;
  height: 0.75rem;
  display: block;
}
.mobile-nav-outer__item.hasthird .mobile-nav-outer__header.is-active .mobile-nav-outer__collapse {
  background: url("../img/layout/i-menu-up.svg") no-repeat left top;
}
.mobile-nav-outer__item.hasthird > .third-level {
  padding-top: 0;
  padding-bottom: 1.5rem;
}
.mobile-nav-outer__item.hasthird > .third-level a.is-active {
  color: #fc0;
}
.mobile-nav-outer__item.hasthird > .third-level::before {
  display: none;
}

.mobile-nav-outer__panel {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  transform: translateX(100%);
  transition: transform 0.3s ease;
  overflow-y: auto;
  font-size: 1rem;
  padding-top: 4rem;
  background-color: #fff;
  height: 100%;
}
.mobile-nav-outer__panel ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.mobile-nav-outer__panel a {
  display: block;
}
.mobile-nav-outer__panel.is-active {
  transform: translateX(0);
}

.mobile-nav-outer__link {
  padding: 0 40px 10px 40px;
}
.mobile-nav-outer__link:not(:last-child) {
  border: unset !important;
}
.mobile-nav-outer__link:last-child {
  padding: 0 2.5rem 1rem 2.5rem;
}

/* 共用線條設定 */
.hamburger .line {
  position: absolute;
  left: 50%;
  width: 100%;
  transform: translateX(-50%);
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s ease;
}

/* 初始位置 */
.hamburger .line-1 {
  top: 3px;
}

.hamburger .line-2 {
  top: 50%;
  transform: translate(-50%, -50%);
}

.hamburger .line-3 {
  top: calc(100% - 3px);
}

/* ===== is-active 狀態 ===== */
/* 上線：先下來再旋轉 */
.hamburger.is-active .line-1 {
  top: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}

/* 中線：淡出 */
.hamburger.is-active .line-2 {
  opacity: 0;
}

/* 下線：先上來再旋轉 */
.hamburger.is-active .line-3 {
  top: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
}

/* hamburger 有 is-active 時，mb-navi 加下邊框 */
.mb-navi:has(.hamburger.is-active) {
  border-bottom: 1px solid #ddd;
}

.site-loading {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: #ececec;
  display: flex;
  align-items: center;
  justify-content: center;
}

.loading-logo {
  width: 12.5rem;
  height: 7.1875rem; /* ✅ 一定要給高度，這是最常見「都看不見」原因 */
  /* ✅ 重要：不要讓 mask 重複 */
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  /* ✅ 可見(黑) → 不可見(透明) */
  -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 45%, transparent 60%, transparent 100%);
  mask-image: linear-gradient(90deg, #000 0%, #000 45%, transparent 60%, transparent 100%);
  -webkit-mask-size: 250% 100%;
  mask-size: 250% 100%;
  /* ✅ 起始：整個可見區在外面 → 一開始看不到 */
  -webkit-mask-position: 100% 0%;
  mask-position: 100% 0%;
  opacity: 1;
}

.loading-logo.is-play {
  animation: logoReveal 1.2s ease forwards;
}

@keyframes logoReveal {
  from {
    -webkit-mask-position: 100% 0%;
    mask-position: 100% 0%;
  }
  to {
    -webkit-mask-position: 0% 0%;
    mask-position: 0% 0%;
  }
}
/* 逐字遮罩浮現（出場動態參考首頁 home-intro-text）。
   由 JS 將每行 .line 內文字拆成 .char，進場以 .a-play 觸發
   （可搭配既有 waypoint / revealInView）。 */
.char-reveal {
  opacity: 0; /* 拆字前先隱藏，避免原始文字閃現 */
}
.char-reveal.is-ready {
  opacity: 1;
}
.char-reveal .line {
  display: block;
  overflow: hidden; /* 遮罩：文字從下方被裁切後往上浮現 */
}
.char-reveal .char {
  display: inline-block;
  opacity: 0;
  /* 位移量預設 30px（小字／內文用）；大標題改用 --rise 依字級加大才會完全藏進遮罩 */
  transform: translateY(var(--rise, 30px));
  transition: transform 0.9s ease-in-out, opacity 0.9s ease-in-out;
  transition-delay: calc(var(--i, 0) * 0.1s); /* 逐字錯開，節奏同首頁 */
  will-change: transform, opacity;
}
.char-reveal.a-play .char {
  opacity: 1;
  transform: none;
}

/* loading／開場動畫仍在畫面上時，char-reveal 先壓住維持藏起（即使 a-play 已被加上），
   等 #siteLoading／#homeIntro 從 DOM 移除後才開始逐字浮現，
   避免短標題在 loading 畫面後面就把動畫跑完。 */
body:has(#siteLoading) .char-reveal.a-play .char,
body:has(#homeIntro) .char-reveal.a-play .char {
  opacity: 0;
  transform: translateY(var(--rise, 30px));
  transition: none;
}

/* 大標題用：位移量隨字級放大（1.5em ＝ 行高），確保完全被遮罩裁切、上升明顯 */
.char-reveal--lg {
  --rise: 1.5em;
}

@media (any-hover: hover) {
  .u-target:where(:any-link, :enabled):hover {
    background-position: 0 0;
  }
  .u-targetcolor:any-link {
    transition: color var(--transition);
  }
  .u-targetcolor:any-link:hover {
    color: var(--hover-color);
  }
  .u-targetcolor.is-black:any-link:hover {
    color: var(--main-color);
  }
  .u-targetline__txt {
    background-image: linear-gradient(90deg, currentColor, currentColor 50%, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0));
    background-position: 0 100%;
    background-repeat: repeat-x;
    background-size: 200% 1px;
    border: 0;
    overflow: hidden;
    position: relative;
  }
  .u-targetline.is-line .u-targetline__txt {
    animation-duration: 0.7s;
    animation-fill-mode: forwards;
    animation-name: lineanim_out;
    background-position: -100% 100%;
    background-size: 200% 0;
  }
  .u-targetline:any-link:hover .u-targetline__txt {
    animation-duration: 0.7s;
    animation-name: lineanim;
    animation-timing-function: ease-out;
  }
  .u-targetline.is-line:any-link:hover .u-targetline__txt {
    animation-duration: 0.7s;
    animation-fill-mode: forwards;
    animation-name: lineanim_in;
  }
  @keyframes lineanim {
    0% {
      background-position: 0 100%;
    }
    50% {
      background-position: -100% 100%;
    }
    50.1% {
      background-position: 100% 100%;
    }
    to {
      background-position: 0 100%;
    }
  }
  @keyframes lineanim_in {
    0% {
      background-position: 100% 100%;
      background-size: 200% 1px;
    }
    to {
      background-position: 0 100%;
      background-size: 200% 1px;
    }
  }
  @keyframes lineanim_out {
    0% {
      background-position: 0 100%;
      background-size: 200% 1px;
    }
    99.9% {
      background-position: -100% 100%;
      background-size: 200% 1px;
    }
    to {
      background-size: 200% 0;
    }
  }
}
.side-reserve-outer {
  /* 先讓它存在於畫面（但透明、不能點） */
  display: block;
  opacity: 0;
  pointer-events: none;
  /* 初始在 bottom:0 */
  bottom: 0;
  /* 動畫 */
  transition: bottom 0.25s ease, opacity 0.25s ease;
  will-change: bottom, opacity;
}

.side-reserve-outer.is-visible {
  opacity: 1;
  pointer-events: auto;
  /* 出現時滑到 bottom:50 */
  bottom: 50px;
}

.home-intro-outer {
  position: fixed;
  inset: 0;
  z-index: 9999;
  overflow: hidden;
}
.home-intro-outer .home-intro-bg {
  position: absolute;
  inset: 0;
  background: #f9f9ec;
  will-change: transform;
}
.home-intro-outer .home-intro-inner {
  position: relative;
  z-index: 1;
}
.home-intro-outer .home-intro-text {
  opacity: 0;
}
.home-intro-outer .home-intro-text .line {
  display: block;
  overflow: hidden;
}
.home-intro-outer .char {
  display: inline-block;
  opacity: 0;
  transform: translateY(30px);
  will-change: transform, opacity;
}
.home-intro-outer .home-intro-logo {
  opacity: 0;
  transform: translateY(20px);
  will-change: transform, opacity;
}
.home-intro-outer.is-ready .home-intro-text,
.home-intro-outer.is-ready .char,
.home-intro-outer.is-ready .home-intro-logo {
  opacity: 1;
  transform: none;
}

.banner-block .slick-dots:has(li:only-child) {
  display: none;
}

.home-banner-slogan {
  opacity: 0;
  transform: translate(-50%, -50%) translateY(20px);
}
.is-loaded .slick-active .home-banner-slogan {
  animation: sloganFadeIn 0.8s ease forwards;
}

@keyframes sloganFadeIn {
  from {
    opacity: 0;
    transform: translate(-50%, -50%) translateY(20px);
  }
  to {
    opacity: 1;
    transform: translate(-50%, -50%) translateY(0);
  }
}
@keyframes aboutFadeUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.banner-box .slick-list,
.banner-box .slick-track {
  height: 100%;
}
.banner-box .banner-box {
  margin-bottom: 0;
}
.banner-box .banner-list h1,
.banner-box .banner-list h2,
.banner-box .banner-list p {
  opacity: 0;
  animation-duration: 1.2s;
  animation-fill-mode: forwards;
  animation-timing-function: ease;
  animation-iteration-count: 1;
}
.banner-box .slick-active p,
.banner-box .slick-active h2,
.banner-box .slick-active h1 {
  animation-name: fadeInUp;
  opacity: 1;
}
.banner-box .slick-active p {
  animation-name: fadeInUp;
  animation-delay: 0.4s;
}
.banner-box .banner-img {
  width: 100vw;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
}
.banner-box {
  /* 圖片 slide：作用中時緩慢放大（影片 slide 不套用） */
}
.banner-box [data-video-type=img] .banner-img {
  overflow: hidden;
}
.banner-box [data-video-type=img] .img-object {
  transform: scale(1);
  transition: transform var(--banner-zoom, 6s) linear;
}
.banner-box.is-zoom .slick-active[data-video-type=img] .img-object {
  transform: scale(1.1);
}
.banner-box {
  /* 針對 data-video-type="video" 的元素 */
}
.banner-box [data-video-type=video] .banner-img,
.banner-box [data-video-type=youtube] .banner-img {
  opacity: 0;
}

.idx-video-box {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.idx-video-box .video-iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100vw !important;
  min-height: 177.77vh !important;
  transform: translate(-50%, -50%);
}
.idx-video-box .video-mp4 video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.banner-box .slick-list,
.banner-box .slick-track,
.banner-box .slick-slide {
  height: 100%;
}
.banner-box {
  /* 針對 data-video-type="video" 的元素 */
}
.banner-box [data-video-type=video] .banner-img,
.banner-box [data-video-type=youtube] .banner-img {
  opacity: 0;
}
.banner-box .slick-dots {
  position: absolute;
  right: 60px;
  left: auto;
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
  width: auto;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  z-index: 3;
}
@media (max-width: 1023px) {
  .banner-box .slick-dots {
    right: 20px;
  }
}
.banner-box .slick-dots li {
  width: 10px;
  height: auto;
  margin: 0;
}
.banner-box .slick-dots li button {
  display: block;
  width: 10px;
  height: 10px;
  padding: 0;
  border: 0;
  border-radius: 50px;
  background: #ffffff;
  font-size: 0;
  line-height: 0;
  color: transparent;
  cursor: pointer;
  transition: height 0.4s ease, background-color 0.4s ease;
}
.banner-box .slick-dots li button::before {
  content: none;
}
.banner-box .slick-dots li.slick-active button {
  height: 52px;
  background: #353535;
}

/* 外層有高度，你已經有 h:670 / vw */
.home-banner-outer {
  overflow: hidden;
}

/* Slick 骨架：容器/track/list/slide 都吃 100% 高度 */
.home-banner-slick,
.home-banner-slick .slick-list,
.home-banner-slick .slick-track,
.home-banner-slick .slick-slide {
  height: 100%;
}

/* 你的 slide 內容也吃滿高 */
.home-banner-slick .each-pic {
  height: 100%;
}

/* picture / img 一定要吃滿高，才能撐開 slick */
.home-banner-slick picture,
.home-banner-slick img.picCover {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.home-banner-dot .slick-dots {
  bottom: 2.5rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  padding-right: 1.875rem;
  padding-left: 1.875rem;
  text-align: center;
}
@media (min-width: 768px) {
  .home-banner-dot .slick-dots {
    bottom: 1.25rem;
  }
}
@media (min-width: 1280px) {
  .home-banner-dot .slick-dots {
    bottom: 3.75rem;
  }
}
.home-banner-dot .slick-dots li {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  overflow: hidden;
  transition: all 0.5s;
  border: 1px solid #92983b;
}
.home-banner-dot .slick-dots li button {
  width: 100%;
  height: 100%;
  padding: 0;
  background-color: transparent;
}
.home-banner-dot .slick-dots li button::before {
  display: none;
}
.home-banner-dot .slick-dots li.slick-active {
  width: 2.5rem;
  border-radius: 0.25rem;
  background-color: #92983b;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* ==========================================================
  首頁 2026 改版（Figma node 136:1022）— 區塊 2~6
  2 NOW SELLING / 3 ESG / 4 NEWS / 5 LAND & SOUL / 6 影片
  ========================================================== */
/* 共用：英文大標 / View More ------------------------------ */
.home-en {
  font-family: "Inter", sans-serif;
  font-weight: 200;
  font-size: 72px;
  line-height: 1.39;
  letter-spacing: 8.64px;
  color: #000;
  margin: 0;
}
@media (max-width: 1279px) {
  .home-en {
    font-size: 56px;
    letter-spacing: 6px;
  }
}
@media (max-width: 767px) {
  .home-en {
    font-size: 40px;
    letter-spacing: 4px;
  }
}

.home-more {
  display: flex;
  flex-direction: column;
  width: 100%;
  color: #000;
  transition: color 0.3s ease;
}
.home-more > span:first-child {
  margin-bottom: 4px;
  font-family: "Inter", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.5;
}

.home-more:hover,
a:hover > .home-more {
  color: #25734f;
}

.home-more__arrow {
  position: relative;
  width: 100%;
  height: 10px;
}
.home-more__arrow::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 1px;
  background: currentColor;
}
.home-more__arrow::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 8px;
  height: 8px;
  border: solid currentColor;
  border-width: 0 1px 0 0;
  transform: translateY(-50%) rotate(-45deg);
}

/* 2. NOW SELLING ----------------------------------------- */
.home-now {
  margin-top: 6.25vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 60px;
}
@media (max-width: 767px) {
  .home-now {
    margin-top: 60px;
    gap: 32px;
  }
}

.home-now__title {
  text-align: center;
}

.home-now__grid {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 0;
  row-gap: 60px;
}
@media (max-width: 767px) {
  .home-now__grid {
    grid-template-columns: 1fr;
    row-gap: 32px;
  }
}
.home-now__grid .home-now__item:nth-child(2n) {
  animation-delay: 0.12s;
}

.home-now__item {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.home-now__img {
  position: relative;
  width: 100%;
  aspect-ratio: 840/460;
  overflow: hidden;
}
.home-now__img > img:not(.home-now__logo) {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}
.home-now__item:hover .home-now__img > img:not(.home-now__logo) {
  transform: scale(1.1);
}

.home-now__mask {
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.8);
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
}

.home-now__logo {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: auto;
  height: auto;
  max-width: 36%;
  max-height: 55%;
  object-fit: contain;
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
  z-index: 1;
}

.home-now__item:hover .home-now__mask,
.home-now__item:hover .home-now__logo {
  opacity: 1;
}

.home-now__cap {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  font-family: "Noto Sans TC", sans-serif;
  font-size: 18px;
  line-height: 2;
  color: #000;
}
@media (max-width: 767px) {
  .home-now__cap {
    font-size: 16px;
  }
}

.home-now__name {
  font-weight: 500;
  letter-spacing: 2.16px;
  white-space: nowrap;
}

.home-now__desc {
  font-weight: 300;
  letter-spacing: 1.44px;
}

/* 3. ESG ------------------------------------------------- */
.home-esg {
  margin-top: 9.375vw;
  display: flex;
  align-items: stretch;
  gap: 4.89vw;
  padding-right: 6.25vw;
  margin-right: 30px;
}
@media (max-width: 1023px) {
  .home-esg {
    flex-direction: column;
    gap: 32px;
    padding: 0;
  }
}
@media (max-width: 767px) {
  .home-esg {
    margin-top: 80px;
  }
}

.home-esg__img {
  flex: 1 1 0;
  min-width: 0;
  aspect-ratio: 1160/760;
  overflow: hidden;
}
.home-esg__img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 1023px) {
  .home-esg__img {
    flex: none;
    width: 100%;
  }
}

.home-esg__body {
  flex: 0 0 546px;
  width: 546px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 40px;
}
@media (max-width: 1023px) {
  .home-esg__body {
    flex: none;
    width: 100%;
    padding: 0 0 0 30px;
  }
}

.home-esg__top {
  display: flex;
  flex-direction: column;
  gap: 60px;
}
@media (max-width: 767px) {
  .home-esg__top {
    gap: 32px;
  }
}

.home-esg__info {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.home-esg__cats {
  margin: 0;
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 500;
  font-size: 24px;
  line-height: 1.67;
  letter-spacing: 2.88px;
  color: #000;
}
@media (max-width: 767px) {
  .home-esg__cats {
    font-size: 20px;
    letter-spacing: 2px;
  }
}

.home-esg__desc {
  margin: 0;
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 300;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 1.44px;
  color: #000;
}
@media (max-width: 767px) {
  .home-esg__desc {
    font-size: 16px;
  }
}

/* 4. NEWS ------------------------------------------------ */
.home-news {
  margin-top: 9.375vw;
  margin-left: 6.25vw;
  display: flex;
  flex-direction: column;
  gap: 60px;
}
@media (max-width: 767px) {
  .home-news {
    margin-top: 80px;
    margin-left: 30px;
    gap: 32px;
  }
}

.home-news__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-right: 6.25vw;
}
@media (max-width: 767px) {
  .home-news__head {
    padding-right: 30px;
  }
}

.home-news__nav {
  display: flex;
  align-items: center;
  gap: 28px;
}
@media (max-width: 767px) {
  .home-news__nav {
    gap: 16px;
  }
}

.home-news__arrow {
  position: relative;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid #d1d1d1;
  background: none;
  padding: 0;
  cursor: pointer;
  transition: border-color 0.3s ease, background-color 0.3s ease;
}
.home-news__arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  border: solid #353535;
  transition: border-color 0.3s ease;
}
.home-news__arrow.home-news-prev::before {
  border-width: 0 0 1px 1px;
  transform: translate(-35%, -50%) rotate(45deg);
}
.home-news__arrow.home-news-next::before {
  border-width: 1px 1px 0 0;
  transform: translate(-65%, -50%) rotate(45deg);
}
.home-news__arrow:hover {
  background: #25734f;
  border-color: #25734f;
}
.home-news__arrow:hover::before {
  border-color: #fff;
}
.home-news__arrow.swiper-button-disabled {
  opacity: 0.35;
  cursor: default;
}
.home-news__arrow.swiper-button-disabled:hover {
  background: none;
  border-color: #d1d1d1;
}
.home-news__arrow.swiper-button-disabled:hover::before {
  border-color: #353535;
}

.home-news-swiper {
  width: 100%;
  overflow: hidden;
}
.home-news-swiper .swiper-slide {
  width: 460px;
  max-width: 78vw;
  height: auto;
}
@media (max-width: 1023px) {
  .home-news-swiper .swiper-slide {
    width: 380px;
  }
}

.home-news__item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 40px;
  height: 100%;
  color: #000;
}

.home-news__body {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.home-news__media {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.home-news__date {
  margin: 0;
  font-family: "Inter", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 1.44px;
  color: #000;
}

.home-news__img {
  width: 100%;
  aspect-ratio: 300/200;
  overflow: hidden;
}
.home-news__img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}
.home-news__item:hover .home-news__img img {
  transform: scale(1.1);
}

.home-news__caption {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.home-news__cat {
  margin: 0;
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 400;
  font-size: 24px;
  line-height: 1.67;
  letter-spacing: 2.88px;
  color: #25734f;
}
@media (max-width: 767px) {
  .home-news__cat {
    font-size: 20px;
    letter-spacing: 2px;
  }
}

.home-news__title {
  margin: 0;
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 500;
  font-size: 24px;
  line-height: 1.67;
  letter-spacing: 2.88px;
  color: #000;
}
@media (max-width: 767px) {
  .home-news__title {
    font-size: 20px;
    letter-spacing: 2px;
  }
}

/* 5. LAND & SOUL（集團介紹）------------------------------ */
.home-land {
  margin-top: 9.375vw;
  position: relative;
  width: 100%;
  min-height: 41.66vw;
  display: flex;
  justify-content: center;
  overflow: hidden;
}
@media (max-width: 767px) {
  .home-land {
    min-height: 0;
    padding: 60px 0;
  }
}

.home-land__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: 0.25;
}
.home-land__bg img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-land__inner {
  position: relative;
  z-index: 1;
  width: 1271px;
  max-width: 90%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 80px;
  padding-top: 7.23vw;
  padding-bottom: 6.66vw;
}
@media (max-width: 767px) {
  .home-land__inner {
    gap: 40px;
    padding-top: 0;
  }
}

.home-land__text {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  text-align: center;
}

.home-land__en {
  margin: 0;
  font-family: "Inter", sans-serif;
  font-weight: 200;
  font-size: 72px;
  line-height: 1.39;
  letter-spacing: 8.64px;
  background: linear-gradient(204deg, #000 19%, #92983b 80%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
@media (max-width: 1279px) {
  .home-land__en {
    font-size: 56px;
    letter-spacing: 6px;
  }
}
@media (max-width: 767px) {
  .home-land__en {
    font-size: 40px;
    letter-spacing: 4px;
  }
}

.home-land__slogan {
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 500;
  font-size: 24px;
  line-height: 1.67;
  letter-spacing: 2.88px;
  color: #92983b;
}
.home-land__slogan p {
  margin: 0;
}
@media (max-width: 767px) {
  .home-land__slogan {
    font-size: 18px;
    letter-spacing: 1.8px;
  }
}

.home-land__desc {
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 300;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 1.44px;
  color: #000;
}
.home-land__desc p {
  margin: 0;
}
@media (max-width: 767px) {
  .home-land__desc {
    font-size: 16px;
  }
}

.home-land__logos {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 100px;
}
.home-land__logos img {
  display: block;
  height: 86px;
  width: auto;
  object-fit: contain;
}
@media (max-width: 767px) {
  .home-land__logos {
    flex-wrap: wrap;
    gap: 28px 40px;
  }
  .home-land__logos img {
    height: 48px;
  }
}

/* 6. 影片（全出血情境帶）--------------------------------- */
.home-video {
  width: 100%;
  aspect-ratio: 1920/560;
  overflow: hidden;
  background-image: url("../img/index/home-video.png");
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}
@media (max-width: 767px) {
  .home-video {
    aspect-ratio: 4/3;
    background-attachment: scroll;
  }
}

/* ==========
  璞真鑑賞 Project 列表頁（Figma node 460:1152）
  ----------
  版型：Master CSS grid（grid grid-cols:3@md）+ grid-col-span:3@md
  後台跑回圈時，每個項目給 class：
    .is-w3              寬度3（主打大圖，圖左文右）→ 外層另加 grid-col-span:3@md
    .is-w3.is-reverse   寬度3（圖右文左）
    .is-w1              寬度1（三欄卡片）
  手機（<1024）grid 自動變單欄，全部呈現卡片樣式（圖上文下）。
  ========== */
.project {
  font-family: "Noto Sans TC", sans-serif;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5.2083vw;
  padding-top: 7.2916vw;
  padding-bottom: 8.3333vw;
}
@media (max-width: 1023px) {
  .project {
    gap: 60px;
  }
}
@media (max-width: 767px) {
  .project {
    padding-top: 100px;
    padding-bottom: 80px;
  }
}

/* 標題 + 分類 ---------------------------------------------- */
.project-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
}

.project-title {
  font-weight: 100;
  font-size: 72px;
  line-height: 1.5;
  letter-spacing: 8.64px;
  color: #000;
  text-align: center;
}
@media (max-width: 767px) {
  .project-title {
    font-size: 44px;
    letter-spacing: 3.52px;
  }
}

.project-tabs {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
}
@media (max-width: 767px) {
  .project-tabs {
    gap: 20px;
  }
}

.project-tabs__line {
  width: 1px;
  height: 30px;
  background: #c5c5c5;
  flex-shrink: 0;
}

.project-tab {
  font-size: 24px;
  line-height: 1.67;
  letter-spacing: 2.88px;
  color: #4f4f4f;
  white-space: nowrap;
  transition: color 0.3s ease;
}
.project-tab.is-active, .project-tab:hover {
  color: #25734f;
}
@media (max-width: 767px) {
  .project-tab {
    font-size: 20px;
    letter-spacing: 2.4px;
  }
}

/* 分類次選單：捲過 project-head 後固定於 header 下方（比照 about 次選單）
   由 JS projectTabs 控制顯示/位置；預設隱藏 */
.project-tabs-fixed {
  position: fixed;
  left: 0;
  top: 96px;
  z-index: 8;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 60px;
  background: #fff;
  border-bottom: 1px solid #d1d1d1;
  border-top: 1px solid #d1d1d1;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-100%);
  transition: opacity 0.35s ease, visibility 0.35s ease, transform 0.4s ease, top 0.4s ease;
}
.project-tabs-fixed.is-show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
@media (max-width: 1279px) {
  .project-tabs-fixed {
    top: 72px;
  }
}
@media (max-width: 767px) {
  .project-tabs-fixed {
    padding: 16px 30px;
    justify-content: center;
  }
}
.project-tabs-fixed__title {
  font-weight: 400;
  font-size: 20px;
  line-height: 1.67;
  letter-spacing: 2.88px;
  color: #000;
  white-space: nowrap;
}
@media (max-width: 767px) {
  .project-tabs-fixed__title {
    display: none;
  }
}
.project-tabs-fixed__list {
  display: flex;
  align-items: center;
  gap: 40px;
}
@media (max-width: 767px) {
  .project-tabs-fixed__list {
    gap: 20px;
  }
}
.project-tabs-fixed__list .project-tab {
  font-size: 18px;
}

/* 專案項目（外層寬度 / 欄位由 Master CSS grid 控制）--------- */
.project-item {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.project-item__img {
  position: relative;
  width: 100%;
  aspect-ratio: 840/460;
  overflow: hidden;
}
.project-item__img img:not(.project-item__logo) {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}
.project-item:hover .project-item__img img:not(.project-item__logo) {
  transform: scale(1.1);
}

.project-item__mask {
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.8);
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
  z-index: 1;
}

.project-item__logo {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: auto;
  height: auto;
  max-width: 36%;
  max-height: 55%;
  object-fit: contain;
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
  z-index: 2;
}

.project-item:hover .project-item__mask,
.project-item:hover .project-item__logo {
  opacity: 1;
}

.project-item__info {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.project-item__text {
  display: flex;
  align-items: baseline;
  flex-wrap: nowrap;
  gap: 12px;
  font-size: 18px;
  line-height: 36px;
  letter-spacing: 2.16px;
  color: #000;
  flex-direction: row;
}
@media (max-width: 767px) {
  .project-item__text {
    flex-wrap: wrap;
    flex-direction: column;
  }
}

.project-item__name {
  font-weight: 500;
}

.project-item__desc {
  font-weight: 300;
  flex: 1;
}

.project-item__more {
  display: none;
  width: 100%;
  max-width: 340px;
}
.project-item__more p {
  font-family: "Inter", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.43;
  color: #353535;
}

.project-item__arrow {
  display: block;
  width: 100%;
  margin-top: 4px;
}
.project-item__arrow img {
  display: block;
  width: 100%;
  height: auto;
}

/* 桌機（≥1024）：寬度3 主打大圖版型（圖 + 灰底資訊欄）------ */
@media (min-width: 1024px) {
  .project-item.is-w3 {
    height: 360px;
    flex-direction: row;
    align-items: stretch;
    gap: 0;
  }
  .project-item.is-w3.is-reverse {
    flex-direction: row-reverse;
  }
  .project-item.is-w3 .project-item__img {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    aspect-ratio: auto;
  }
  .project-item.is-w3 .project-item__info {
    flex: 0 0 33.3333%;
    min-width: 0;
    background: #ececec;
    justify-content: space-between;
    gap: 24px;
    padding: 48px 60px;
  }
  .project-item.is-w3 .project-item__text {
    display: block;
  }
  .project-item.is-w3 .project-item__name {
    font-size: 24px;
    line-height: 1.67;
    letter-spacing: 2.88px;
    margin-bottom: 4px;
  }
  .project-item.is-w3 .project-item__desc {
    font-size: 18px;
    line-height: 36px;
    letter-spacing: 2.16px;
  }
  .project-item.is-w3 .project-item__more {
    display: block;
  }
}
@media (min-width: 1280px) {
  .project-item.is-w3 .project-item__info {
    padding: 60px 5.2vw;
  }
}
/* 換頁 -------------------------------------------------- */
.project-pager {
  display: flex;
  align-items: center;
  gap: 20px;
}

.project-pager__item {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 20px;
  color: #353535;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.project-pager__item.is-active, .project-pager__item:hover {
  background: #25734f;
  color: #fff;
}

/* ==========================================================
  璞真鑑賞 Project 內頁（Figma node 208:600）— 共 7 區塊
  ----------
  1 banner / 2 案例圖 swiper / 3 團隊 swiper / 4 QA 手風琴 /
  5 建築師 swiper / 6 工地進度 swiper / 7 聯絡我們
  ========================================================== */
/* 共用：標題、內文、換頁 ---------------------------------- */
.pd-title {
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 300;
  font-size: 40px;
  line-height: 1.7;
  letter-spacing: 4px;
  color: #000;
  margin: 0;
}
@media (max-width: 1279px) {
  .pd-title {
    font-size: 32px;
    letter-spacing: 3.84px;
  }
}
@media (max-width: 767px) {
  .pd-title {
    font-size: 26px;
    letter-spacing: 2.6px;
  }
}

.pd-desc {
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 300;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 1.44px;
  color: #000;
}
.pd-desc p {
  margin: 0;
}
@media (max-width: 767px) {
  .pd-desc {
    font-size: 16px;
  }
}

.pd-pager {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 40px;
}
@media (max-width: 767px) {
  .pd-pager {
    margin-top: 24px;
  }
}
.pd-pager--center {
  justify-content: center;
}
.pd-pager--prev {
  justify-content: flex-end;
}
.pd-pager--prev .pd-pager__arrow img {
  transform: scaleX(-1);
}

.pd-pager__num {
  font-family: "Inter", sans-serif;
  font-style: italic;
  font-weight: 300;
  font-size: 20px;
  letter-spacing: 2.4px;
  color: #000;
  white-space: nowrap;
}

.pd-pager__cur {
  color: #92983b;
}

.pd-pager__arrow {
  display: block;
  width: 40px;
  height: 11px;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
}
.pd-pager__arrow img {
  display: block;
  width: 100%;
  height: 100%;
}

/* 版面：整頁區塊節奏 -------------------------------------- */
.pd-sections {
  display: flex;
  flex-direction: column;
  gap: 9.375vw;
  padding-top: 9.375vw;
  padding-bottom: 9.375vw;
}
@media (max-width: 1279px) {
  .pd-sections {
    gap: 120px;
    padding-top: 120px;
    padding-bottom: 120px;
  }
}
@media (max-width: 767px) {
  .pd-sections {
    gap: 80px;
    padding-top: 80px;
    padding-bottom: 80px;
  }
}

/* 1. Banner ---------------------------------------------- */
.pd-banner {
  position: relative;
  width: 100%;
  aspect-ratio: 1920/1080;
  overflow: hidden;
  background: #fff;
}
@media (max-width: 767px) {
  .pd-banner {
    aspect-ratio: 3/4;
  }
}

.pd-banner__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transform: scale(1.15);
  transform-origin: center;
  will-change: transform, opacity;
}

.pd-banner__logo {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 11.35vw;
  min-width: 140px;
  max-width: 218px;
  height: auto;
  z-index: 2;
}

.pd-banner.is-enter .pd-banner__bg {
  animation: pdBannerImgIn 2.6s ease forwards, pdBannerZoomOut 14s ease forwards;
}

@keyframes pdBannerImgIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes pdBannerZoomOut {
  from {
    transform: scale(1.15);
  }
  to {
    transform: scale(1);
  }
}
/* 2 / 5 共用：半出血圖庫 swiper -------------------------- */
.pd-case,
.pd-arch {
  display: flex;
  align-items: flex-start;
}

.pd-case {
  padding-left: 12.5vw;
  gap: 8.958vw;
}
@media (max-width: 1279px) {
  .pd-case {
    padding: 0 30px;
  }
}
@media (max-width: 1023px) {
  .pd-case {
    flex-direction: column;
    gap: 24px;
  }
}
.pd-arch {
  padding-right: 12.5vw;
  gap: 5.104vw;
}
@media (max-width: 1279px) {
  .pd-arch {
    padding-right: 60px;
  }
}
@media (max-width: 1023px) {
  .pd-arch {
    flex-direction: column-reverse;
    padding: 0 60px;
    gap: 24px;
  }
}
@media (max-width: 767px) {
  .pd-arch {
    padding: 0 30px;
  }
}

.pd-case__text,
.pd-arch__text {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media (max-width: 1023px) {
  .pd-case__text,
  .pd-arch__text {
    width: 100%;
    gap: 20px;
  }
}

.pd-case__text {
  width: 368px;
}
@media (max-width: 1279px) {
  .pd-case__text {
    width: 300px;
  }
}
@media (max-width: 1023px) {
  .pd-case__text {
    width: 100%;
  }
}

.pd-arch__text {
  width: 442px;
}
@media (max-width: 1279px) {
  .pd-arch__text {
    width: 360px;
  }
}
@media (max-width: 1023px) {
  .pd-arch__text {
    width: 100%;
  }
}

.pd-case__slider,
.pd-arch__slider {
  flex: 1 1 0;
  min-width: 0;
}
@media (max-width: 1023px) {
  .pd-case__slider,
  .pd-arch__slider {
    width: 100%;
    flex: none;
  }
}

.pd-swiper--gallery .swiper-slide {
  width: 45.573vw;
  max-width: 875px;
  transition: opacity 0.4s ease;
}
.pd-swiper--gallery .swiper-slide:not(.swiper-slide-active) {
  opacity: 0.3;
}
@media (max-width: 767px) {
  .pd-swiper--gallery .swiper-slide {
    width: 93.333vw;
  }
}

/* 3. 團隊介紹 swiper ------------------------------------- */
.pd-team {
  display: flex;
  flex-direction: column;
  gap: 80px;
}
@media (max-width: 767px) {
  .pd-team {
    gap: 40px;
  }
}

.pd-team__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 40px;
}
.pd-team__head .pd-title {
  flex-shrink: 0;
}
@media (max-width: 1023px) {
  .pd-team__head {
    flex-direction: column;
    gap: 32px;
  }
}

.pd-spec {
  width: 518px;
  max-width: 100%;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
@media (max-width: 1023px) {
  .pd-spec {
    width: 100%;
  }
}

.pd-spec__row {
  display: flex;
  align-items: center;
  gap: 12px;
}
.pd-spec__row dt {
  margin: 0;
  flex-shrink: 0;
  font-weight: 400;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 1.44px;
  color: #000;
  white-space: nowrap;
}
.pd-spec__row dd {
  margin: 0;
  flex-shrink: 0;
  font-weight: 300;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 1.44px;
  color: #000;
  white-space: nowrap;
}
@media (max-width: 767px) {
  .pd-spec__row dt,
  .pd-spec__row dd {
    font-size: 15px;
    letter-spacing: 0.5px;
  }
  .pd-spec__row dd {
    white-space: normal;
    text-align: right;
  }
}

.pd-spec__line {
  flex: 1 1 0;
  min-width: 12px;
  height: 1px;
  background: #c5c5c5;
}

.pd-team-card {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.pd-team-card__img {
  width: 100%;
  aspect-ratio: 480/270;
  overflow: hidden;
}
.pd-team-card__img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pd-team-card__body {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-right: 12.5%;
}
@media (max-width: 767px) {
  .pd-team-card__body {
    padding-right: 0;
  }
}

.pd-team-card__head {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.pd-team-card__tag {
  margin: 0;
  font-weight: 400;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 1.44px;
  color: #92983b;
}

.pd-team-card__name {
  margin: 0;
  font-weight: 400;
  font-size: 24px;
  line-height: 1.67;
  letter-spacing: 2.88px;
  color: #000;
}

.pd-team-card__line {
  width: 100%;
  height: 1px;
  background: #d1d1d1;
}

.pd-team-card__works {
  margin: 0;
  font-weight: 300;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 1.44px;
  color: #000;
}

/* 4. 問答 QA（手風琴）------------------------------------ */
.pd-faq {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 40px;
}
@media (max-width: 1023px) {
  .pd-faq {
    flex-direction: column;
    gap: 32px;
  }
}

.pd-faq__title {
  flex-shrink: 0;
}

.pd-faq__list {
  width: 960px;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media (max-width: 1023px) {
  .pd-faq__list {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .pd-faq__list {
    gap: 24px;
  }
}

.pd-faq__q {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 0 0 20px;
  background: none;
  border: 0;
  border-bottom: 1px solid #d1d1d1;
  text-align: left;
  cursor: pointer;
}

.pd-faq__no {
  flex-shrink: 0;
  font-family: "Inter", sans-serif;
  font-style: italic;
  font-weight: 300;
  font-size: 24px;
  line-height: 40px;
  color: #92983b;
}

.pd-faq__text {
  flex: 1 1 0;
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 400;
  font-size: 24px;
  line-height: 1.67;
  letter-spacing: 2.88px;
  color: #000;
}
@media (max-width: 767px) {
  .pd-faq__text {
    font-size: 18px;
    letter-spacing: 1.8px;
  }
}

.pd-faq__arrow {
  position: relative;
  flex-shrink: 0;
  width: 24px;
  height: 12px;
  transition: transform 0.3s ease;
}
.pd-faq__arrow::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  width: 13px;
  height: 13px;
  border-right: 1.5px solid #353535;
  border-bottom: 1.5px solid #353535;
  transform: translateX(-50%) rotate(45deg);
}

.pd-faq__a {
  display: none;
  padding-top: 20px;
}
.pd-faq__a p {
  margin: 0;
  font-weight: 300;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 1.44px;
  color: #000;
}
@media (max-width: 767px) {
  .pd-faq__a p {
    font-size: 16px;
  }
}

.pd-faq__item.is-open .pd-faq__arrow {
  transform: rotate(180deg);
}

/* 6. 工地進度 swiper ------------------------------------- */
.pd-progress {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.pd-progress__main {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 40px;
}
@media (max-width: 1023px) {
  .pd-progress__main {
    flex-direction: column;
    gap: 32px;
  }
}

.pd-progress__info {
  width: 328px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media (max-width: 1023px) {
  .pd-progress__info {
    width: 100%;
  }
}

.pd-progress__list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.pd-progress__list p {
  margin: 0;
  font-weight: 300;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 1.44px;
  color: #000;
}

.pd-progress__date {
  font-weight: 400 !important;
  color: #22250e !important;
}

.pd-swiper--progress {
  width: 900px;
  max-width: 100%;
}
@media (max-width: 1023px) {
  .pd-swiper--progress {
    width: 100%;
  }
}

.pd-btn {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 200px;
  padding: 12px 60px;
  border: 1px solid #353535;
  background: #fff;
  font-weight: 400;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 1.44px;
  color: #000;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.pd-btn:hover {
  background: #353535;
  color: #fff;
}

/* 7. 聯絡我們（出血背景圖）------------------------------- */
.pd-contact {
  position: relative;
  width: 100%;
  height: 500px;
  overflow: hidden;
}
@media (max-width: 1023px) {
  .pd-contact {
    height: auto;
    min-height: 380px;
  }
}
@media (max-width: 767px) {
  .pd-contact {
    min-height: 320px;
  }
}
.pd-contact::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 60%;
  height: 100%;
  background: linear-gradient(to right, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0));
  z-index: 1;
}

.pd-contact__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.pd-contact__inner {
  position: relative;
  z-index: 2;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 80px;
}
@media (max-width: 767px) {
  .pd-contact__inner {
    gap: 40px;
    padding-top: 80px;
    padding-bottom: 80px;
  }
}

.pd-contact__title {
  margin: 0;
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 300;
  font-size: 40px;
  line-height: 1.7;
  letter-spacing: 4.8px;
  color: #fff;
}
@media (max-width: 1279px) {
  .pd-contact__title {
    font-size: 32px;
    letter-spacing: 3.84px;
  }
}
@media (max-width: 767px) {
  .pd-contact__title {
    font-size: 26px;
    letter-spacing: 2.6px;
  }
}

.pd-contact__link {
  display: flex;
  flex-direction: column;
  width: 460px;
  max-width: 100%;
  color: #fff;
}
.pd-contact__link span:first-child {
  margin-bottom: 4px;
  font-family: "Inter", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.5;
}

.pd-contact__arrow {
  position: relative;
  width: 100%;
  height: 10px;
}
.pd-contact__arrow::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 1px;
  background: #fff;
}
.pd-contact__arrow::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 8px;
  height: 8px;
  border: solid #fff;
  border-width: 0 1px 0 0;
  transform: translateY(-50%) rotate(-45deg);
}

/* ==========
  最新消息 News 列表頁（Figma node 217:631）
  ----------
  版型：標題 + 分類 + 三欄卡片 + 換頁（換頁用共用 pagination.html → .project-pager）
  卡片可跑回圈：.news-item（日期 → 圖 → 分類 → 標題）
  ========== */
.news-list-outer {
  font-family: "Noto Sans TC", sans-serif;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5.2083vw;
  padding-top: 7.2916vw;
  padding-bottom: 8.3333vw;
}
@media (max-width: 1023px) {
  .news-list-outer {
    gap: 60px;
  }
}
@media (max-width: 767px) {
  .news-list-outer {
    padding-top: 100px;
    padding-bottom: 80px;
  }
}

/* 標題 + 分類 ---------------------------------------------- */
.news-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
}

.news-title {
  font-weight: 100;
  font-size: 72px;
  line-height: 1.5;
  letter-spacing: 8.64px;
  color: #000;
  text-align: center;
}
@media (max-width: 767px) {
  .news-title {
    font-size: 44px;
    letter-spacing: 3.52px;
  }
}

.news-tabs {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
}
@media (max-width: 767px) {
  .news-tabs {
    gap: 20px;
  }
}

.news-tabs__line {
  width: 1px;
  height: 30px;
  background: #c5c5c5;
  flex-shrink: 0;
}

.news-tab {
  font-size: 24px;
  line-height: 1.67;
  letter-spacing: 2.88px;
  color: #4f4f4f;
  white-space: nowrap;
  transition: color 0.3s ease;
}
.news-tab.is-active, .news-tab:hover {
  color: #25734f;
}
@media (max-width: 767px) {
  .news-tab {
    font-size: 20px;
    letter-spacing: 2.4px;
  }
}

/* 分類次選單：捲過 news-head 後固定於 header 下方（比照 about 次選單）
   由 JS newsTabs 控制顯示/位置；預設隱藏 */
.news-tabs-fixed {
  position: fixed;
  left: 0;
  top: 96px;
  z-index: 8;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 60px;
  background: #fff;
  border-bottom: 1px solid #d1d1d1;
  border-top: 1px solid #d1d1d1;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-100%);
  transition: opacity 0.35s ease, visibility 0.35s ease, transform 0.4s ease, top 0.4s ease;
}
.news-tabs-fixed.is-show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
@media (max-width: 1279px) {
  .news-tabs-fixed {
    top: 72px;
  }
}
@media (max-width: 767px) {
  .news-tabs-fixed {
    padding: 16px 30px;
    justify-content: center;
  }
}
.news-tabs-fixed__title {
  font-weight: 400;
  font-size: 20px;
  line-height: 1.67;
  letter-spacing: 2.88px;
  color: #000;
  white-space: nowrap;
}
@media (max-width: 767px) {
  .news-tabs-fixed__title {
    display: none;
  }
}
.news-tabs-fixed__list {
  display: flex;
  align-items: center;
  gap: 40px;
}
@media (max-width: 767px) {
  .news-tabs-fixed__list {
    gap: 20px;
  }
}
.news-tabs-fixed__list .news-tab {
  font-size: 18px;
}

/* 卡片清單（欄位由 Master CSS grid 控制）------------------ */
.news-list {
  width: 100%;
}

.news-item {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.news-item__head {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.news-item__date {
  font-family: "Inter", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 1.44px;
  color: #000;
}

.news-item__img {
  width: 100%;
  aspect-ratio: 300/200;
  overflow: hidden;
}
.news-item__img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}
.news-item:hover .news-item__img img {
  transform: scale(1.1);
}

.news-item__text {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.news-item__cat {
  font-weight: 400;
  font-size: 24px;
  line-height: 1.67;
  letter-spacing: 2.88px;
  color: #25734f;
}
@media (max-width: 767px) {
  .news-item__cat {
    font-size: 20px;
    letter-spacing: 2.4px;
  }
}

.news-item__title {
  font-weight: 500;
  font-size: 24px;
  line-height: 1.67;
  letter-spacing: 2.88px;
  color: #000;
}
@media (max-width: 767px) {
  .news-item__title {
    font-size: 20px;
    letter-spacing: 2.4px;
  }
}

/* ==========
  最新消息 News 內頁（Figma node 217:886）
  ========== */
.news-detail-outer {
  font-family: "Noto Sans TC", sans-serif;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 80px;
  padding-top: 7.2916vw;
  padding-bottom: 8.3333vw;
}
@media (max-width: 1023px) {
  .news-detail-outer {
    gap: 60px;
  }
}
@media (max-width: 767px) {
  .news-detail-outer {
    padding-top: 100px;
    padding-bottom: 80px;
  }
}

/* 上方：標題資訊 + 主圖 ----------------------------------- */
.news-detail-top {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 40px;
  width: 100%;
}
@media (max-width: 1023px) {
  .news-detail-top {
    flex-direction: column;
    gap: 24px;
  }
}

.news-detail-head {
  width: 45%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 40px;
}
@media (max-width: 1023px) {
  .news-detail-head {
    width: 100%;
  }
}

.news-detail-meta {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.news-detail-info {
  display: flex;
  align-items: center;
  gap: 12px;
}

.news-detail-date {
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 20px;
  line-height: 1.6;
  letter-spacing: 1.6px;
  color: #6d6d6d;
}

.news-detail-cat {
  font-weight: 500;
  font-size: 20px;
  line-height: 34px;
  letter-spacing: 2.4px;
  color: #25734f;
}

.news-detail-title {
  font-weight: 300;
  font-size: 40px;
  line-height: 1.7;
  letter-spacing: 4.8px;
  color: #000;
}
@media (max-width: 767px) {
  .news-detail-title {
    font-size: 28px;
    letter-spacing: 2.8px;
  }
}

.news-detail-share {
  display: flex;
  align-items: center;
  height: 48px;
}
.news-detail-share img {
  display: block;
  height: 100%;
  width: auto;
}

.news-detail-cover {
  width: 50%;
  aspect-ratio: 720/480;
  overflow: hidden;
}
.news-detail-cover img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 1023px) {
  .news-detail-cover {
    width: 100%;
    order: -1;
  }
}

/* 分隔線 -------------------------------------------------- */
.news-detail-divider {
  width: 100%;
  height: 1px;
  background: #d1d1d1;
}

/* 內文 -------------------------------------------------- */
.news-detail-body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  width: 100%;
}

.news-detail-text {
  width: 100%;
  font-weight: 400;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 1.44px;
  color: #353535;
}
.news-detail-text p {
  margin: 0 0 36px;
}
.news-detail-text p:last-child {
  margin-bottom: 0;
}

.news-detail-subtitle {
  font-weight: 300;
  font-size: 28px;
  line-height: 1.71;
  letter-spacing: 3.36px;
  color: #353535;
  margin: 0 0 36px;
}
@media (max-width: 767px) {
  .news-detail-subtitle {
    font-size: 22px;
    letter-spacing: 2.2px;
  }
}

.news-detail-figure {
  width: 100%;
  aspect-ratio: 1200/628;
  overflow: hidden;
}
.news-detail-figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 下載檔案列 -------------------------------------------- */
.news-detail-file {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 16px 0;
  border-top: 1px solid #d1d1d1;
  border-bottom: 1px solid #d1d1d1;
}
@media (max-width: 767px) {
  .news-detail-file {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
}

.news-detail-file__name {
  font-weight: 400;
  font-size: 20px;
  line-height: 40px;
  letter-spacing: 2.4px;
  color: #000;
}
@media (max-width: 767px) {
  .news-detail-file__name {
    font-size: 18px;
  }
}

.news-detail-file__link {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}
.news-detail-file__link span {
  font-family: "Inter", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 36px;
  letter-spacing: 2.16px;
  color: #25734f;
  transition: opacity 0.3s ease;
}
.news-detail-file__link img {
  display: block;
  width: 32px;
  height: 32px;
}
.news-detail-file__link:hover span {
  opacity: 0.7;
}
.news-detail-file__link:hover img {
  animation: news-download-bounce 0.7s ease infinite;
}

@keyframes news-download-bounce {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(6px);
  }
}
/* 底部：回列表 + 相關文章 ------------------------------- */
.news-detail-foot {
  display: flex;
  flex-direction: column;
  gap: 80px;
  width: 100%;
}
@media (max-width: 767px) {
  .news-detail-foot {
    gap: 60px;
  }
}

.news-detail-back {
  display: flex;
  align-items: center;
  gap: 20px;
}
.news-detail-back > span:first-child {
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.news-detail-back img {
  display: block;
  width: 40px;
  height: auto;
}
.news-detail-back span {
  font-weight: 500;
  font-size: 24px;
  line-height: 1.67;
  letter-spacing: 2.88px;
  color: #25734f;
  transition: opacity 0.3s ease;
}
.news-detail-back:hover > span:first-child {
  transform: translateX(-8px);
}
.news-detail-back:hover span {
  opacity: 0.7;
}

.news-related {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  width: 100%;
}

.news-related__title {
  font-weight: 300;
  font-size: 48px;
  line-height: 1.5;
  letter-spacing: 5.76px;
  color: #000;
  text-align: center;
}
@media (max-width: 767px) {
  .news-related__title {
    font-size: 32px;
    letter-spacing: 2.56px;
  }
}

.news-related__list {
  width: 100%;
}

/* ==========
  都更實例 Urban 時間軸頁（Figma node 345:673）
  ----------
  時間軸可跑回圈：.urban-item 左右交替由 :nth-child 自動處理，
  後台只要依序新增項目即可；最上面（第一筆）的圓點自動為亮色。
  ========== */
.urban-outer {
  font-family: "Noto Sans TC", sans-serif;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 80px;
  padding-top: 7.2916vw;
  padding-bottom: 8.3333vw;
}
@media (max-width: 1023px) {
  .urban-outer {
    gap: 60px;
  }
}
@media (max-width: 767px) {
  .urban-outer {
    padding-top: 100px;
    padding-bottom: 80px;
  }
}

/* 開頭介紹 / 都更法規（置中文字區）---------------------- */
.urban-intro,
.urban-law {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 800px;
  max-width: 100%;
}

.urban-intro {
  gap: 20px;
}

.urban-law {
  gap: 40px;
}

.urban-intro__title,
.urban-law__title {
  font-weight: 300;
  font-size: 48px;
  line-height: 1.5;
  letter-spacing: 5.76px;
  color: #000;
  text-align: center;
}
@media (max-width: 767px) {
  .urban-intro__title,
  .urban-law__title {
    font-size: 32px;
    letter-spacing: 2.56px;
  }
}

.urban-intro__desc,
.urban-law__desc {
  font-weight: 300;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 1.44px;
  color: #000;
  width: 100%;
}

.urban-law__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 200px;
  padding: 12px 60px;
  border: 1px solid #353535;
  background: #fff;
  font-weight: 400;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 1.44px;
  color: #000;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.urban-law__btn:hover {
  background: #353535;
  color: #fff;
}

/* 分類列 -------------------------------------------------- */
.urban-tabs {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 0;
  background: #fff;
  border-bottom: 1px solid #d1d1d1;
  transition: top 0.4s ease;
}
.urban-tabs.is-fixed {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 8;
  justify-content: space-between;
  padding: 20px 60px;
  border-top: 1px solid #d1d1d1;
}
.urban-tabs.is-fixed .urban-tabs__title {
  display: block;
}
.urban-tabs.is-fixed .urban-tab {
  font-size: 18px;
  letter-spacing: 2.64px;
}
.urban-tabs.is-fixed .urban-tab:not(.is-active) {
  color: #888;
}
@media (max-width: 767px) {
  .urban-tabs.is-fixed .urban-tab {
    font-size: 16px;
  }
}
@media (max-width: 767px) {
  .urban-tabs.is-fixed {
    padding: 16px 30px;
    justify-content: center;
  }
  .urban-tabs.is-fixed .urban-tabs__title {
    display: none;
  }
}

.urban-tabs__title {
  display: none;
  font-weight: 400;
  font-size: 20px;
  line-height: 1.67;
  letter-spacing: 2.88px;
  color: #000;
  white-space: nowrap;
}

.urban-tabs__list {
  display: flex;
  align-items: center;
  gap: 60px;
}
@media (max-width: 767px) {
  .urban-tabs__list {
    gap: 24px;
    font-size: 16px;
  }
}

.urban-tabs__line {
  width: 1px;
  height: 30px;
  background: #d1d1d1;
  flex-shrink: 0;
}

.urban-tab {
  font-weight: 400;
  font-size: 24px;
  line-height: 1.67;
  letter-spacing: 2.88px;
  color: #4f4f4f;
  white-space: nowrap;
  transition: color 0.3s ease;
}
.urban-tab.is-active, .urban-tab:hover {
  color: #25734f;
  font-weight: 500;
}
@media (max-width: 1024px) {
  .urban-tab {
    font-size: 20px;
  }
}
@media (max-width: 767px) {
  .urban-tab {
    font-size: 16px;
    letter-spacing: 2.4px;
  }
}

/* 時間軸 -------------------------------------------------- */
.urban-timeline {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 100px;
  width: 100%;
}
.urban-timeline::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 1px;
  background: #d1d1d1;
  transform: translateX(-50%);
}
@media (max-width: 767px) {
  .urban-timeline {
    gap: 60px;
  }
  .urban-timeline::before {
    left: 9px;
  }
}

/* 捲動進度：綠線（高度由 GSAP scrub 控制）*/
.urban-timeline__bar {
  position: absolute;
  left: 50%;
  top: 0;
  width: 2px;
  height: 0;
  background: #25734f;
  transform: translateX(-50%);
  z-index: 1;
}
@media (max-width: 767px) {
  .urban-timeline__bar {
    left: 9px;
  }
}

.urban-item {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 8.5714%;
  width: 100%;
}
.urban-item:not(:nth-of-type(3n + 1)) {
  flex-direction: row-reverse;
}
@media (max-width: 767px) {
  .urban-item {
    flex-direction: column;
    gap: 16px;
    padding-left: 36px;
  }
  .urban-item:not(:nth-of-type(3n + 1)) {
    flex-direction: column;
  }
}
.urban-item.is-hide {
  display: none;
}
@media (min-width: 768px) {
  .urban-item.is-pos-left {
    flex-direction: row;
  }
  .urban-item.is-pos-right {
    flex-direction: row-reverse;
  }
}

.urban-item__img {
  width: 45.7143%;
  aspect-ratio: 768/421;
  flex-shrink: 0;
  overflow: hidden;
  cursor: pointer;
}
.urban-item__img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}
.urban-item:hover .urban-item__img img {
  transform: scale(1.1);
}
@media (max-width: 767px) {
  .urban-item__img {
    width: 100%;
  }
}

.urban-item__info {
  width: 22.0238%;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 48px;
}
@media (min-width: 1440px) and (max-width: 1620px) {
  .urban-item__info {
    width: 36%;
  }
}
@media (min-width: 768px) and (max-width: 1439px) {
  .urban-item__info {
    width: 45.7143%;
  }
}
@media (max-width: 767px) {
  .urban-item__info {
    width: 100%;
    gap: 24px;
  }
}

.urban-item__head {
  display: flex;
  align-items: center;
  gap: 24px;
  color: #353535;
}

.urban-item__year {
  font-family: "Inter", sans-serif;
  font-weight: 400;
  font-size: 60px;
  letter-spacing: 2.4px;
}
@media (max-width: 767px) {
  .urban-item__year {
    font-size: 44px;
  }
}

.urban-item__name {
  font-weight: 500;
  font-size: 28px;
  line-height: 1.71;
  letter-spacing: 3.36px;
}
@media (max-width: 767px) {
  .urban-item__name {
    font-size: 22px;
    letter-spacing: 2.2px;
  }
}

.urban-item__detail {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 1.44px;
}

.urban-item__row {
  display: flex;
  gap: 8px;
}
.urban-item__row .label {
  font-weight: 500;
  color: #353535;
  flex-shrink: 0;
}
.urban-item__row .value {
  font-weight: 300;
  color: #000;
}

.urban-item__more {
  width: 100%;
  color: #22250e;
  transition: color 0.3s ease;
}
.urban-item__more p {
  font-family: "Inter", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.5;
  color: inherit;
}
.urban-item__more-arrow {
  display: block;
  width: 100%;
  aspect-ratio: 346/11;
  margin-top: 4px;
  background-color: currentColor;
  -webkit-mask: url("../img/project/i-project-more.svg") no-repeat center/contain;
  mask: url("../img/project/i-project-more.svg") no-repeat center/contain;
}

.urban-item:hover .urban-item__more {
  color: #25734f;
}

/* 時間軸圓點（中央線上）-------------------------------- */
.urban-item__dot {
  position: absolute;
  left: 50%;
  top: 36px;
  transform: translateX(-50%);
  width: 17px;
  height: 17px;
  border-radius: 50%;
  background: #fff;
  border: 1.5px solid #d1d1d1;
  z-index: 2;
  transition: background-color 0.3s ease, border-color 0.3s ease;
}
.urban-item__dot.is-active {
  background: #25734f;
  border-color: #25734f;
}
@media (max-width: 767px) {
  .urban-item__dot {
    left: 9px;
    top: 12px;
  }
}

/* ==========
  都更實例 彈窗（Figma node 339:1302）
  ----------
  用既有 .c-modal 系統（[data-modal] 開、[data-dismiss] 關）
  ========== */
.urban-modal .c-modal__main {
  max-width: 1800px;
  width: calc(100% - 60px);
  margin: 60px auto;
}
.urban-modal .c-modal__main::before {
  height: auto;
}

.urban-modal__box {
  background: #fff;
  padding: 60px;
}
@media (max-width: 1023px) {
  .urban-modal__box {
    padding: 40px 24px;
  }
}

.urban-modal__close {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 56px;
  height: 56px;
  z-index: 2;
}
.urban-modal__close img {
  display: block;
  width: 100%;
  height: 100%;
  transform: rotate(0deg);
  transition: transform 0.5s cubic-bezier(0.075, 0.82, 0.165, 1);
}
@media (max-width: 767px) {
  .urban-modal__close {
    width: 40px;
    height: 40px;
    top: 12px;
    right: 12px;
  }
}
.urban-modal__close:hover img {
  transform: rotate(90deg);
}

.urban-modal__inner {
  display: flex;
  gap: 64px;
}
@media (max-width: 1023px) {
  .urban-modal__inner {
    flex-direction: column;
    align-items: stretch;
    gap: 32px;
  }
}

.urban-modal__left {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
@media (min-width: 1024px) {
  .urban-modal__left {
    position: sticky;
    top: 60px;
    align-self: flex-start;
  }
}

.urban-modal__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
}

.urban-modal__title {
  font-weight: 500;
  font-size: 48px;
  line-height: 1.5;
  letter-spacing: 5.76px;
  color: #353535;
}
@media (max-width: 767px) {
  .urban-modal__title {
    font-size: 32px;
    letter-spacing: 2.56px;
  }
}

.urban-modal__pager {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-shrink: 0;
  font-family: "Inter", sans-serif;
  font-style: italic;
  font-weight: 300;
  font-size: 20px;
  letter-spacing: 2.4px;
  color: #000;
  white-space: nowrap;
}
.urban-modal__pager .swiper-pagination-current {
  color: #25734f;
}
.urban-modal__pager button {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
}
.urban-modal__pager button img {
  display: block;
  width: 100%;
  height: 100%;
}

.urban-modal__img {
  width: 100%;
  aspect-ratio: 1075/717;
  overflow: hidden;
}
.urban-modal__img .swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.urban-modal__detail {
  width: 601px;
  max-width: 100%;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 36px;
}
@media (max-width: 1279px) {
  .urban-modal__detail {
    width: 44%;
  }
}
@media (max-width: 1023px) {
  .urban-modal__detail {
    width: 100%;
  }
}

.urban-modal__group {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 36px;
}
.urban-modal__group h4 {
  font-weight: 500;
  font-size: 24px;
  line-height: 1.67;
  letter-spacing: 2.88px;
  color: #353535;
}

.urban-modal__line {
  width: 100%;
  height: 1px;
  background: #d1d1d1;
}

.urban-modal__rows {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 1.44px;
}

.urban-modal__row {
  display: flex;
  gap: 8px;
}
.urban-modal__row .label {
  font-weight: 400;
  color: #353535;
  flex-shrink: 0;
}
.urban-modal__row .value {
  font-weight: 300;
  color: #000;
}

.urban-modal__doc {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
}

.urban-modal__doc-info {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: 1.44px;
}
@media (min-width: 640px) {
  .urban-modal__doc-info {
    flex-direction: row;
    flex-wrap: nowrap;
    line-height: 2;
  }
}
.urban-modal__doc-info .date {
  font-weight: 400;
  color: #353535;
  flex-shrink: 0;
}
@media (min-width: 640px) {
  .urban-modal__doc-info .date {
    width: 110px;
  }
}
.urban-modal__doc-info .name {
  font-weight: 300;
  color: #000;
}
@media (min-width: 640px) {
  .urban-modal__doc-info .name {
    width: calc(100% - 110px);
  }
}

.urban-modal__doc-download {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
}
.urban-modal__doc-download img {
  display: block;
  width: 100%;
  height: 100%;
}
.urban-modal__doc-download:hover img {
  animation: news-download-bounce 0.7s ease infinite;
}

.urban-modal__btn {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 60px;
  border: 1px solid #353535;
  background: #fff;
  font-weight: 400;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 1.44px;
  color: #000;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.urban-modal__btn:hover {
  background: #353535;
  color: #fff;
}

/* ==========
  聯絡我們 Contact 聯絡表單（Figma node 445:1208）
  ----------
  版型：標題 + 表單欄位（主題 / 姓名・稱謂 / Email・手機 / 電話・公司 / 訊息）
        + 同意條款 + 送出按鈕。表單外層白底卡片由 contact.html 的 Master CSS 控制。
  ========== */
.contact-form {
  font-family: "Noto Sans TC", sans-serif;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 60px;
  width: 100%;
}
@media (max-width: 767px) {
  .contact-form {
    gap: 40px;
  }
}

/* 標題 ---------------------------------------------------- */
.contact-form__title {
  font-weight: 300;
  font-size: 48px;
  line-height: 1.5;
  letter-spacing: 5.76px;
  color: #000;
  text-align: center;
}
@media (max-width: 767px) {
  .contact-form__title {
    font-size: 32px;
    letter-spacing: 2.56px;
  }
}

/* 表單主體（欄位 + 同意條款）----------------------------- */
.contact-form__main {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 28px;
  width: 100%;
}
@media (max-width: 767px) {
  .contact-form__main {
    gap: 14px;
  }
}

.contact-form__fields {
  display: flex;
  flex-direction: column;
  gap: 28px;
  width: 100%;
}
@media (max-width: 767px) {
  .contact-form__fields {
    gap: 14px;
  }
}

/* 兩欄並排（手機改為單欄）------------------------------- */
.cform-grid {
  display: flex;
  align-items: stretch;
  gap: 28px;
  width: 100%;
}
@media (max-width: 767px) {
  .cform-grid {
    gap: 14px;
  }
}
.cform-grid > .cform-box {
  flex: 1 1 0;
  min-width: 0;
}
@media (max-width: 767px) {
  .cform-grid {
    flex-direction: column;
    gap: 28px;
  }
}
@media (max-width: 767px) and (max-width: 767px) {
  .cform-grid {
    gap: 14px;
  }
}

/* 單一欄位框 -------------------------------------------- */
.cform-box {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  height: 64px;
  padding: 15px 24px;
  background: #fff;
  border: 1px solid #d1d1d1;
}
.cform-box--bare {
  border-color: transparent;
}
.cform-box--textarea {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 8px;
  height: 220px;
  padding: 16px 24px;
}

.cform-box__label {
  flex-shrink: 0;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.4;
  color: #000;
  white-space: nowrap;
}

.cform-box__req {
  font-style: normal;
  color: #ff5151;
}

.cform-box__input {
  flex: 1 1 0;
  min-width: 0;
  border: 0;
  background: transparent;
  font-family: inherit;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.4;
  color: #000;
  appearance: none;
}
.cform-box__input::placeholder {
  color: #888;
  opacity: 1;
}
.cform-box__input:focus {
  outline: none;
}
.cform-box__input textarea.cform-box__input {
  width: 100%;
  height: 100%;
  resize: none;
}

/* 主題下拉 ---------------------------------------------- */
.cform-select {
  position: relative;
  display: flex;
  flex: 1 1 0;
  min-width: 0;
  align-items: center;
}
.cform-select .cform-box__input {
  flex: 1 1 0;
  min-width: 0;
  padding-right: 19px;
  cursor: pointer;
}

.cform-select__arrow {
  position: absolute;
  top: 50%;
  right: 2px;
  pointer-events: none;
  width: 9px;
  height: 9px;
  border-right: 1.5px solid #000;
  border-bottom: 1.5px solid #000;
  transform: translateY(-50%) rotate(45deg) translate(-2px, -2px);
}

/* 稱謂 radio -------------------------------------------- */
.cform-radios {
  display: flex;
  align-items: center;
  gap: 8px;
}

.cform-radio {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  cursor: pointer;
}
.cform-radio input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.cform-radio__dot {
  flex-shrink: 0;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 1px solid #888;
  transition: border-color 0.2s ease, background 0.2s ease;
}
.cform-radio input:checked ~ .cform-radio__dot {
  border-color: #25734f;
  background: radial-gradient(circle, #25734f 0 4px, transparent 5px);
}

.cform-radio__text {
  font-weight: 400;
  font-size: 18px;
  line-height: 1.4;
  color: #000;
}

/* 同意條款 ---------------------------------------------- */
.cform-agree {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}
.cform-agree input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.cform-agree__box {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  border: 1px solid #454545;
  position: relative;
  transition: border-color 0.2s ease, background 0.2s ease;
}
.cform-agree input:checked ~ .cform-agree__box {
  border-color: #25734f;
  background: #25734f;
}
.cform-agree input:checked ~ .cform-agree__box::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 1px;
  width: 4px;
  height: 9px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(45deg);
}

.cform-agree__text {
  font-weight: 400;
  font-size: 18px;
  line-height: 1.4;
  color: #000;
}

.cform-agree__link {
  font-weight: 500;
  color: #25734f;
}

/* 送出按鈕 ---------------------------------------------- */
.contact-form__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 200px;
  padding: 12px 60px;
  border: 1px solid #353535;
  background: #fff;
  font-family: inherit;
  font-weight: 400;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 1.44px;
  color: #000;
  cursor: pointer;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.contact-form__submit:hover {
  background: #353535;
  color: #fff;
}

/* ==========================================================
  人才招募 Career（Figma node 345:687）— 共 3 區塊
  1 intro（情境圖 + 介紹）/ 2 benefit（情境帶 + 4 福利卡）/ 3 join（加入我們）
  ========================================================== */
/* 1. intro ----------------------------------------------- */
.career-intro {
  position: relative;
  width: 100%;
  min-height: 100vh;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 120px 30px;
}
@media (max-width: 767px) {
  .career-intro {
    min-height: 0;
    padding: 140px 30px 100px;
  }
}

.career-intro__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.career-intro__bg img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.career-intro__inner {
  position: relative;
  z-index: 1;
  width: 976px;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  text-align: center;
}

.career-intro__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  width: 100%;
}

.career-intro__en {
  margin: 0;
  font-family: "Inter", sans-serif;
  font-weight: 200;
  font-size: 72px;
  line-height: 1.39;
  letter-spacing: 8.64px;
  white-space: nowrap;
  background: linear-gradient(194deg, #000 14%, #92983b 85%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
@media (max-width: 1279px) {
  .career-intro__en {
    font-size: 52px;
    letter-spacing: 5px;
  }
}
@media (max-width: 1023px) {
  .career-intro__en {
    font-size: 30px;
    letter-spacing: 2px;
    white-space: normal;
  }
}

.career-intro__sub {
  margin: 0;
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 500;
  font-size: 28px;
  line-height: 1.71;
  letter-spacing: 3.36px;
  background: linear-gradient(to right, #92983b, #000);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
@media (max-width: 1023px) {
  .career-intro__sub {
    font-size: 20px;
    letter-spacing: 2px;
  }
}

.career-intro__desc {
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 1.44px;
  color: #353535;
}
.career-intro__desc p {
  margin: 0;
}
.career-intro__desc .is-gold {
  font-weight: 500;
  color: #92983b;
}
@media (max-width: 1023px) {
  .career-intro__desc {
    font-size: 16px;
  }
}

/* 卷軸提示 */
.career-scroll {
  position: absolute;
  left: 50%;
  bottom: 40px;
  transform: translateX(-50%);
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 16px;
  font-family: "Inter", sans-serif;
  font-size: 14px;
  letter-spacing: 2px;
  color: #353535;
}

.career-scroll__arrow {
  position: relative;
  width: 20px;
  height: 10px;
}
.career-scroll__arrow::before {
  content: "";
  position: absolute;
  left: 0;
  right: 2px;
  top: 50%;
  height: 1px;
  background: currentColor;
}
.career-scroll__arrow::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 6px;
  height: 6px;
  border: solid currentColor;
  border-width: 1px 1px 0 0;
  transform: translateY(-50%) rotate(45deg);
}

/* 2. benefit --------------------------------------------- */
.career-benefit {
  position: relative;
}

.career-benefit__band {
  position: relative;
  width: 100%;
  height: 29.16vw;
  min-height: 360px;
  overflow: hidden;
  display: flex;
  justify-content: center;
}
.career-benefit__band::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(0, 0, 0, 0.28);
}
@media (max-width: 1023px) {
  .career-benefit__band {
    height: auto;
    min-height: 0;
    padding: 60px 30px;
  }
}

.career-benefit__bandbg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.career-benefit__bandbg img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.career-benefit__bandtext {
  position: relative;
  z-index: 2;
  width: 641px;
  max-width: 90%;
  padding-top: 4.7vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  text-align: center;
  color: #fff;
}
@media (max-width: 1023px) {
  .career-benefit__bandtext {
    padding-top: 0;
  }
}

.career-benefit__title {
  margin: 0;
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 400;
  font-size: 40px;
  line-height: 1.7;
  letter-spacing: 4.8px;
}
@media (max-width: 1279px) {
  .career-benefit__title {
    font-size: 26px;
    letter-spacing: 2.6px;
  }
}

.career-benefit__lead {
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 1.44px;
}
.career-benefit__lead p {
  margin: 0;
}
@media (max-width: 1279px) {
  .career-benefit__lead {
    font-size: 16px;
  }
}

.career-benefit__cards {
  position: relative;
  z-index: 3;
  margin-top: -11.25vw;
  padding: 0 6.25vw;
  display: flex;
  gap: 2.78vw;
}
@media (max-width: 1023px) {
  .career-benefit__cards {
    margin-top: -40px;
    padding: 0 30px;
    flex-wrap: wrap;
    gap: 20px;
  }
}

.career-card {
  flex: 1 1 0;
  min-width: 0;
  min-height: 453px;
  background: #f3f3f3;
  padding: 36px 36px 36px;
}
@media (max-width: 1023px) {
  .career-card {
    flex: 1 1 calc(50% - 10px);
    min-height: 0;
  }
}
@media (max-width: 567px) {
  .career-card {
    flex: 1 1 100%;
  }
}

.career-card__inner {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}

.career-card__head {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.career-card__en {
  margin: 0;
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 20px;
  line-height: 1.6;
  letter-spacing: 1.6px;
  color: #888888;
}
@media (max-width: 1279px) {
  .career-card__en {
    font-size: 18px;
  }
}

.career-card__name {
  margin: 0;
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 400;
  font-size: 28px;
  line-height: 1.71;
  letter-spacing: 3.36px;
  color: #000;
}
@media (max-width: 1279px) {
  .career-card__name {
    font-size: 22px;
    letter-spacing: 2.4px;
  }
}

.career-card__line {
  width: 100%;
  height: 1px;
  background: #d1d1d1;
}

.career-card__item {
  display: flex;
  flex-direction: column;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 1.44px;
}
@media (max-width: 1279px) {
  .career-card__item {
    font-size: 16px;
  }
}

.career-card__sub {
  margin: 0;
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 500;
  color: #25734f;
}

.career-card__text {
  margin: 0;
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 300;
  color: #000;
}

/* 3. join ------------------------------------------------ */
.career-join {
  margin-top: 8.33vw;
  margin-bottom: 6.25vw;
  display: flex;
  align-items: stretch;
  gap: 5.1vw;
  padding-right: 6.25vw;
}
@media (max-width: 1023px) {
  .career-join {
    flex-direction: column;
    gap: 32px;
    padding: 0;
    margin-top: 80px;
    margin-bottom: 80px;
  }
}

.career-join__img {
  flex: 1 1 0;
  min-width: 0;
  aspect-ratio: 1100/603;
  overflow: hidden;
  position: relative;
}
.career-join__img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 1023px) {
  .career-join__img {
    flex: none;
    width: 100%;
  }
}

.career-join__body {
  flex: 0 0 602px;
  width: 602px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 40px;
}
@media (max-width: 1023px) {
  .career-join__body {
    flex: none;
    width: 100%;
    padding: 0 30px;
  }
}

.career-join__top {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.career-join__title {
  margin: 0;
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 500;
  font-size: 40px;
  line-height: 1.7;
  letter-spacing: 4.8px;
  color: #353535;
}
@media (max-width: 1280px) {
  .career-join__title {
    font-size: 28px;
    letter-spacing: 2.8px;
  }
}

.career-join__lead {
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 300;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 1.44px;
  color: #353535;
}
.career-join__lead p {
  margin: 0;
}
@media (max-width: 767px) {
  .career-join__lead {
    font-size: 16px;
  }
}

.career-join__bottom {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.career-join__label {
  margin: 0;
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 400;
  font-size: 28px;
  line-height: 1.71;
  letter-spacing: 3.36px;
  color: #000;
}
@media (max-width: 1279px) {
  .career-join__label {
    font-size: 22px;
    letter-spacing: 2.4px;
  }
}

.career-join__links {
  display: flex;
  align-items: center;
  gap: 40px;
}
@media (max-width: 767px) {
  .career-join__links {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
  }
}

.career-job {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 16px 40px;
  border: 1px solid #353535;
  background: #fff;
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 1.44px;
  color: #000 !important;
  transition: background-color 0.3s ease, color 0.3s ease;
  text-decoration: none !important;
}
.career-job:hover {
  background: #353535;
  color: #fff !important;
}

.career-job__arrow {
  position: relative;
  flex-shrink: 0;
  width: 40px;
  height: 10px;
}
.career-job__arrow::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 1px;
  background: currentColor;
}
.career-job__arrow::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 7px;
  height: 7px;
  border: solid currentColor;
  border-width: 1px 0 0 0;
  transform: translateY(-50%) rotate(45deg);
}

@keyframes aboutEnShine {
  0% {
    background-position: 150% center;
  }
  50% {
    background-position: -50% center;
  }
  100% {
    background-position: 150% center;
  }
}
.about-intro {
  padding: 80px 0 100px;
}
@media (max-width: 1023px) {
  .about-intro {
    padding: 50px 30px 60px;
  }
}
.about-intro__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 40px;
}
.about-intro__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
.about-intro__en {
  font-family: "Inter", sans-serif;
  font-weight: 200;
  font-size: 60px;
  line-height: 1.67;
  letter-spacing: 7.2px;
  background: linear-gradient(to right, #000 0%, #000 30%, #92983b 50%, #000 70%, #000 100%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: aboutEnShine 6s ease-in-out infinite;
}
@media (max-width: 1023px) {
  .about-intro__en {
    font-size: 36px;
    letter-spacing: 4px;
  }
}
.about-intro__slogan {
  font-weight: 500;
  font-size: 24px;
  line-height: 1.67;
  letter-spacing: 2.88px;
  background: linear-gradient(to right, #000 0%, #000 30%, #92983b 50%, #000 70%, #000 100%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: aboutEnShine 6s ease-in-out infinite;
}
@media (max-width: 1023px) {
  .about-intro__slogan {
    font-size: 18px;
    letter-spacing: 2px;
  }
}
.about-intro__desc {
  font-weight: 300;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 1.44px;
  color: #353535;
}
@media (max-width: 1023px) {
  .about-intro__desc {
    font-size: 15px;
    letter-spacing: 1px;
  }
  .about-intro__desc br {
    display: none;
  }
}

.about-gallery {
  overflow: hidden;
  padding-bottom: 100px;
}
@media (max-width: 1023px) {
  .about-gallery {
    padding-bottom: 60px;
  }
}
.about-gallery__scroll {
  position: relative;
  overflow: hidden;
}
@media (min-width: 1024px) {
  .about-gallery__scroll {
    padding-bottom: 5vw;
    padding-left: 30px;
  }
}
@media (min-width: 1280px) {
  .about-gallery__scroll {
    padding-left: 60px;
  }
}
@media (min-width: 1440px) {
  .about-gallery__scroll {
    padding-left: 12.5vw;
  }
}
.about-gallery__track {
  display: flex;
  gap: 16px;
  padding: 0 30px;
  overflow-x: auto;
  scrollbar-width: none;
}
.about-gallery__track::-webkit-scrollbar {
  display: none;
}
@media (min-width: 1024px) {
  .about-gallery__track {
    display: inline-flex;
    gap: 60px;
    padding: 0 12.5vw 0 0;
    overflow: visible;
    will-change: transform;
  }
}
.about-gallery__card {
  flex: 0 0 auto;
  width: 78vw;
  max-width: 460px;
}
@media (min-width: 768px) {
  .about-gallery__card {
    width: 44vw;
  }
}
@media (min-width: 1024px) {
  .about-gallery__card {
    width: 30.8vw;
    max-width: 592px;
  }
  .about-gallery__card.is-down {
    transform: translateY(5vw);
  }
}
.about-gallery__img {
  width: 100%;
  aspect-ratio: 592/395;
  overflow: hidden;
}
.about-gallery__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.about-gallery__cap {
  margin-top: 20px;
  font-weight: 500;
  font-size: 20px;
  line-height: 1.8;
  letter-spacing: 1.6px;
  color: #000;
}
@media (max-width: 1023px) {
  .about-gallery__cap {
    font-size: 18px;
  }
}
.about-gallery__num {
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 28px;
  letter-spacing: 3.36px;
}
@media (max-width: 1023px) {
  .about-gallery__num {
    font-size: 24px;
  }
}
.about-gallery__desc {
  margin-top: 4px;
  font-weight: 300;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 1.44px;
  color: #353535;
}
@media (max-width: 1023px) {
  .about-gallery__desc {
    font-size: 15px;
  }
}

.about-build {
  position: relative;
  overflow: hidden;
  color: #fff;
  margin-bottom: 120px;
}
@media (max-width: 1023px) {
  .about-build {
    margin-bottom: 60px;
  }
}
.about-build__bg {
  position: absolute;
  inset: 0;
  z-index: 1;
}
.about-build__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
}
.about-build__inner {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 60px;
  padding-top: 100px;
  padding-bottom: 100px;
  min-height: 560px;
}
@media (max-width: 1023px) {
  .about-build__inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
    padding-top: 60px;
    padding-bottom: 60px;
    min-height: 0;
  }
}
.about-build__lead {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 32px;
}
@media (max-width: 1023px) {
  .about-build__lead {
    gap: 20px;
  }
}
.about-build__name {
  display: flex;
  align-items: center;
  gap: 20px;
  font-size: 48px;
  line-height: 1.5;
  letter-spacing: 5.76px;
}
@media (max-width: 1023px) {
  .about-build__name {
    font-size: 32px;
    letter-spacing: 3px;
  }
}
.about-build__dot {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #92983b;
}
.about-build__line {
  width: 60px;
  height: 1px;
  background: #fff;
}
.about-build__slogan {
  font-size: 24px;
  line-height: 1.67;
  letter-spacing: 2.88px;
}
@media (max-width: 1023px) {
  .about-build__slogan {
    font-size: 18px;
    letter-spacing: 2px;
  }
}
.about-build__desc {
  width: 608px;
  max-width: 100%;
  flex-shrink: 0;
  font-weight: 300;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 1.44px;
}
@media (max-width: 1279px) {
  .about-build__desc {
    width: 50%;
  }
}
@media (max-width: 1023px) {
  .about-build__desc {
    width: 100%;
    font-size: 15px;
  }
}

.about-esg {
  padding-bottom: 120px;
  overflow: hidden;
}
@media (max-width: 1023px) {
  .about-esg {
    padding-bottom: 60px;
  }
}
.about-esg__title {
  margin-bottom: 60px;
  font-weight: 300;
  font-size: 36px;
  line-height: 1.67;
  letter-spacing: 2.88px;
  color: #000;
}
@media (max-width: 1023px) {
  .about-esg__title {
    margin-bottom: 32px;
    font-size: 24px;
    letter-spacing: 2px;
  }
}
.about-esg__scroll {
  position: relative;
  overflow: hidden;
}
@media (min-width: 1024px) {
  .about-esg__scroll {
    padding-left: 30px;
  }
}
@media (min-width: 1280px) {
  .about-esg__scroll {
    padding-left: 60px;
  }
}
@media (min-width: 1440px) {
  .about-esg__scroll {
    padding-left: 12.5vw;
  }
}
.about-esg__track {
  display: flex;
  gap: 16px;
  padding: 0 30px;
  overflow-x: auto;
  scrollbar-width: none;
}
.about-esg__track::-webkit-scrollbar {
  display: none;
}
@media (min-width: 1024px) {
  .about-esg__track {
    display: inline-flex;
    gap: 40px;
    padding: 0 12.5vw 0 0;
    overflow: visible;
    will-change: transform;
  }
}
.about-esg__item {
  flex: 0 0 auto;
  display: flex;
  width: 85vw;
  max-width: 1440px;
}
@media (min-width: 1024px) {
  .about-esg__item {
    width: 75vw;
  }
}
@media (max-width: 767px) {
  .about-esg__item {
    flex-direction: column;
    width: 85vw;
  }
}
.about-esg__card {
  position: relative;
  flex-shrink: 0;
  width: 50%;
  aspect-ratio: 720/480;
  background: #ececec;
}
@media (max-width: 767px) {
  .about-esg__card {
    width: 100%;
    aspect-ratio: auto;
    padding: 64px 24px 32px;
  }
}
.about-esg__pic {
  flex-shrink: 0;
  width: 50%;
  aspect-ratio: 720/480;
  overflow: hidden;
}
.about-esg__pic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 767px) {
  .about-esg__pic {
    width: 100%;
  }
}
.about-esg__label {
  position: absolute;
  top: 3.5%;
  left: 3.5%;
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 28px;
  line-height: 1.71;
  letter-spacing: 3.36px;
  color: #353535;
}
@media (max-width: 1279px) {
  .about-esg__label {
    font-size: 20px;
  }
}
.about-esg__body {
  position: absolute;
  top: 35.6%;
  left: 13%;
  width: 74%;
}
@media (max-width: 767px) {
  .about-esg__body {
    position: static;
    width: 100%;
  }
}
.about-esg__name {
  margin-bottom: 4px;
  font-weight: 500;
  font-size: 20px;
  line-height: 1.8;
  letter-spacing: 1.6px;
  color: #353535;
}
@media (max-width: 1279px) {
  .about-esg__name {
    font-size: 16px;
  }
}
.about-esg__text {
  font-weight: 300;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 1.44px;
  color: #000;
}
@media (max-width: 1279px) {
  .about-esg__text {
    font-size: 14px;
    line-height: 1.8;
  }
}

.about-group__head {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 40px;
}
.about-group__dot {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #92983b;
}
.about-group__title {
  font-size: 48px;
  line-height: 1.5;
  letter-spacing: 5.76px;
  color: #353535;
}
@media (max-width: 1023px) {
  .about-group__title {
    font-size: 32px;
    letter-spacing: 3px;
  }
}
.about-group__main {
  display: flex;
  align-items: stretch;
}
@media (max-width: 1279px) {
  .about-group__main {
    flex-direction: column;
  }
}
.about-group__pic {
  flex-shrink: 0;
  width: 50%;
  aspect-ratio: 960/562;
  overflow: hidden;
}
.about-group__pic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 1279px) {
  .about-group__pic {
    width: 100%;
  }
}
.about-group__list {
  display: flex;
  flex-direction: column;
  width: 50%;
}
@media (max-width: 1279px) {
  .about-group__list {
    width: 100%;
  }
}
.about-group__row {
  position: relative;
  flex: 1 0 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  column-gap: 24px;
  padding: 0 3.125vw;
  border-top: 0.5px solid #d1d1d1;
  transition: background-color 0.3s ease;
}
@media (max-width: 1279px) {
  .about-group__row {
    flex: none;
    flex-wrap: wrap;
    justify-content: flex-start;
    padding: 20px 56px 20px 24px;
  }
}
@media (max-width: 640px) {
  .about-group__row {
    flex-direction: column;
    align-items: flex-start;
    row-gap: 4px;
  }
}
@media (max-width: 1279px) {
  .about-group__cat {
    margin-left: auto;
  }
}
.about-group__arrow {
  display: none;
}
@media (max-width: 1279px) {
  .about-group__arrow {
    display: block;
    position: absolute;
    top: 20px;
    right: 24px;
    width: 20px;
    height: 20px;
    background: url("../img/about/i-modal-prev.svg") no-repeat center/contain;
    transition: transform 0.3s ease;
  }
}
@media (max-width: 1279px) {
  .about-group__row.is-open .about-group__arrow {
    transform: rotate(180deg);
  }
}
@media (min-width: 1280px) {
  .about-group__row--has-links {
    cursor: pointer;
  }
  .about-group__row--has-links:hover {
    background: #ececec;
  }
}
.about-group__en {
  font-family: "Inter", sans-serif;
  font-weight: 200;
  font-size: 36px;
  line-height: 1;
  letter-spacing: 2.88px;
  color: #b0b0b0;
  white-space: nowrap;
}
@media (max-width: 1279px) {
  .about-group__en {
    font-size: 22px;
  }
}
.about-group__cat {
  font-size: 18px;
  line-height: 2;
  letter-spacing: 1.44px;
  color: #353535;
  text-align: right;
}
@media (max-width: 1279px) {
  .about-group__cat {
    font-size: 15px;
    white-space: nowrap;
  }
}
@media (max-width: 640px) {
  .about-group__cat {
    margin-left: 0;
    text-align: left;
    white-space: normal;
  }
}
.about-group__cat .is-light {
  font-weight: 300;
}
.about-group__cat .is-med {
  font-weight: 500;
}
@media (min-width: 1280px) {
  .about-group__links {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    min-height: 100%;
    height: auto;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px 40px;
    padding: 16px 60px;
    background: #ececec;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08);
    opacity: 0;
    visibility: hidden;
    flex-direction: row;
    flex-wrap: wrap;
    transition: opacity 0.3s ease, visibility 0.3s ease;
  }
}
@media (max-width: 1279px) {
  .about-group__links {
    position: static;
    background: transparent;
    flex-basis: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 12px 24px;
    overflow: hidden;
    max-height: 0;
    margin-top: 0;
    opacity: 0;
    transition: max-height 0.4s ease, opacity 0.3s ease, margin-top 0.3s ease;
  }
}
@media (max-width: 1279px) {
  .about-group__row.is-open .about-group__links {
    max-height: 300px;
    margin-top: 12px;
    opacity: 1;
  }
}
@media (max-width: 1279px) {
  .about-group__row--has-links {
    flex-wrap: wrap;
    flex-direction: column;
    text-align: left;
    align-items: start;
  }
}
@media (min-width: 1280px) {
  .about-group__row--has-links:hover .about-group__links {
    opacity: 1;
    visibility: visible;
    border-bottom: 1px solid #fff;
  }
}
.about-group__link {
  display: inline-flex;
  align-items: center;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 1.44px;
  color: #353535;
  transition: color 0.3s ease;
}
.about-group__link::after {
  content: "";
  flex-shrink: 0;
  width: 22px;
  height: 6px;
  margin-left: 12px;
  background-color: #353535;
  -webkit-mask: url("../img/about/i-about-group-arrow.svg") no-repeat center/contain;
  mask: url("../img/about/i-about-group-arrow.svg") no-repeat center/contain;
  transition: background-color 0.3s ease;
}
.about-group__link--green {
  color: #25734f;
}
.about-group__link--green::after {
  background-color: #25734f;
}
.about-group__link:hover {
  color: #25734f;
}
.about-group__link:hover::after {
  background-color: #25734f;
}
@media (max-width: 1279px) {
  .about-group__link {
    font-size: 15px;
  }
}

.about-tabs {
  position: fixed;
  left: 0;
  top: 96px;
  z-index: 8;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 60px;
  background: #fff;
  border-bottom: 1px solid #d1d1d1;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-100%);
  transition: opacity 0.35s ease, visibility 0.35s ease, transform 0.4s ease, top 0.4s ease;
}
.about-tabs.is-show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  border-top: 1px solid #d1d1d1;
}
@media (max-width: 1279px) {
  .about-tabs {
    top: 72px;
  }
}
@media (max-width: 767px) {
  .about-tabs {
    padding: 16px 30px;
    justify-content: center;
  }
  .about-tabs .about-tabs__title {
    display: none;
  }
}

.about-tabs__title {
  font-weight: 400;
  font-size: 20px;
  line-height: 1.67;
  letter-spacing: 2.88px;
  color: #000;
  white-space: nowrap;
}

.about-tabs__list {
  display: flex;
  align-items: center;
  gap: 60px;
}
@media (max-width: 767px) {
  .about-tabs__list {
    gap: 24px;
  }
}

.about-tabs__line {
  flex-shrink: 0;
  width: 1px;
  height: 30px;
  background: #d1d1d1;
}

.about-tab {
  font-weight: 400;
  font-size: 18px;
  line-height: 1.67;
  letter-spacing: 2.64px;
  color: #888;
  white-space: nowrap;
  cursor: pointer;
  transition: color 0.3s ease;
}
.about-tab.is-active, .about-tab:hover {
  color: #25734f;
  font-weight: 500;
}
@media (max-width: 767px) {
  .about-tab {
    font-size: 16px;
    letter-spacing: 2.4px;
  }
}

/* E / S / G 分頁（作法同 urban-tabs：捲動後固定頂端）------ */
.esg-gov__tabs {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 0;
  background: #fff;
  border-bottom: 1px solid #d1d1d1;
  transition: top 0.4s ease;
}
.esg-gov__tabs.is-fixed {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 8;
  justify-content: space-between;
  padding: 20px 60px;
  border-top: 1px solid #d1d1d1;
}
.esg-gov__tabs.is-fixed .esg-gov__tabs-title {
  display: block;
}
.esg-gov__tabs.is-fixed .esg-gov__tab {
  font-size: 18px;
  letter-spacing: 2.64px;
}
.esg-gov__tabs.is-fixed .esg-gov__tab:not(.is-active) {
  color: #888;
}
@media (max-width: 767px) {
  .esg-gov__tabs.is-fixed .esg-gov__tab {
    font-size: 16px;
  }
}
@media (max-width: 767px) {
  .esg-gov__tabs.is-fixed {
    padding: 16px 30px;
    justify-content: center;
  }
  .esg-gov__tabs.is-fixed .esg-gov__tabs-title {
    display: none;
  }
}

.esg-gov__tabs-title {
  display: none;
  font-weight: 400;
  font-size: 20px;
  line-height: 1.67;
  letter-spacing: 2.88px;
  color: #000;
  white-space: nowrap;
}

.esg-gov__tabs-list {
  display: flex;
  align-items: center;
  gap: 60px;
}
@media (max-width: 767px) {
  .esg-gov__tabs-list {
    gap: 12px;
    font-size: 16px;
  }
}

.esg-gov__tab {
  font-weight: 400;
  font-size: 24px;
  line-height: 1.67;
  letter-spacing: 2.88px;
  color: #4f4f4f;
  white-space: nowrap;
  transition: color 0.3s ease;
}
.esg-gov__tab.is-active, .esg-gov__tab:hover {
  color: #25734f;
  font-weight: 500;
}
@media (max-width: 1023px) {
  .esg-gov__tab {
    font-size: 20px;
  }
}
@media (max-width: 767px) {
  .esg-gov__tab {
    font-size: 16px;
    letter-spacing: 2.4px;
  }
}

.esg-gov__tabs-line {
  width: 1px;
  height: 30px;
  background: #d1d1d1;
  flex-shrink: 0;
}

/* E / S / G 內容面板：點分頁只顯示對應區塊 --------------- */
.esg-gov__panel {
  display: none;
}
.esg-gov__panel.is-active {
  display: flex;
  flex-direction: column;
  gap: 60px;
}
@media (min-width: 1024px) {
  .esg-gov__panel.is-active {
    gap: 5vw 40px;
  }
}
@media (min-width: 1280px) {
  .esg-gov__panel.is-active {
    gap: 6.3157vw;
  }
}

/* 標題 + 引言 ------------------------------------------- */
.esg-gov__intro {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  width: 100%;
  max-width: 1050px;
  margin: 0 auto;
  padding: 0 30px;
}

.esg-gov__intro-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  max-width: 565px;
}

.esg-gov__en {
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 20px;
  line-height: 1.6;
  letter-spacing: 1.6px;
  color: #353535;
}

.esg-gov__intro-title {
  font-weight: 400;
  font-size: 36px;
  line-height: 1.67;
  letter-spacing: 4.32px;
  color: #353535;
}
@media (max-width: 767px) {
  .esg-gov__intro-title {
    font-size: 26px;
    letter-spacing: 2.6px;
  }
}

/* 引言灰底框 + 左右引號 */
.esg-gov__quote {
  position: relative;
  width: 100%;
}

.esg-gov__quote-box {
  margin: 0 18px;
  padding: 52px 68px;
  background: #f3f3f3;
}
.esg-gov__quote-box p {
  font-weight: 300;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 1.44px;
  color: #353535;
}
@media (max-width: 767px) {
  .esg-gov__quote-box {
    margin: 0 14px;
    padding: 32px 28px;
  }
}

.esg-gov__quote-mark {
  position: absolute;
  width: 36px;
  height: 63px;
  top: 50%;
  transform: translateY(-50%);
}
.esg-gov__quote-mark img {
  display: block;
  width: 100%;
  height: 100%;
}
.esg-gov__quote-mark--left {
  left: 0;
}
.esg-gov__quote-mark--right {
  right: 0;
}
@media (max-width: 767px) {
  .esg-gov__quote-mark {
    width: 24px;
    height: 42px;
  }
}

/* 圖文交錯區塊（滿版）----------------------------------- */
.esg-gov__block {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding-left: 12.5vw;
}
@media (max-width: 1023px) {
  .esg-gov__block {
    flex-direction: column;
    align-items: stretch;
    gap: 32px;
    padding-left: 0;
    padding: 0 30px;
  }
}

.esg-gov__block--reverse {
  justify-content: flex-start;
  gap: 5.2083vw;
  padding-left: 0;
  padding-right: 12.5vw;
}
@media (max-width: 1023px) {
  .esg-gov__block--reverse {
    flex-direction: column;
    gap: 32px;
    padding: 0 30px;
  }
}

.esg-gov__block-text {
  display: flex;
  flex-direction: column;
  gap: 40px;
  width: 37.5vw;
  max-width: 720px;
  flex-shrink: 0;
}
@media (max-width: 1023px) {
  .esg-gov__block-text {
    width: 100%;
    max-width: 100%;
    gap: 24px;
  }
}

.esg-gov__block-title {
  font-weight: 300;
  font-size: 36px;
  line-height: 1.67;
  letter-spacing: 4.32px;
  color: #000;
}
@media (max-width: 767px) {
  .esg-gov__block-title {
    font-size: 26px;
    letter-spacing: 2.6px;
  }
}

.esg-gov__block-body {
  font-weight: 300;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 1.44px;
  color: #000;
}
.esg-gov__block-body p + p {
  margin-top: 36px;
}

.esg-gov__block-img {
  width: 44.7917vw;
  aspect-ratio: 860/590;
  flex-shrink: 0;
  overflow: hidden;
}
.esg-gov__block-img--bim {
  aspect-ratio: 860/574;
}
@media (min-width: 1024px) {
  .esg-gov__block-img--fill {
    align-self: stretch;
    position: relative;
  }
  .esg-gov__block-img--fill img {
    position: absolute;
    inset: 0;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    object-position: center;
  }
}
.esg-gov__block-img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 1023px) {
  .esg-gov__block-img {
    width: 100%;
  }
}

/* 減碳三大主軸：數字編號清單 ---------------------------- */
.esg-gov__steps {
  display: flex;
  flex-direction: column;
  gap: 40px;
  width: 100%;
}

.esg-gov__step {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}

.esg-gov__step-main {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.esg-gov__step-head {
  display: flex;
  align-items: flex-end;
  gap: 12px;
  white-space: nowrap;
}

.esg-gov__step-num {
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-style: italic;
  font-size: 60px;
  line-height: 60px;
  color: #92983b;
}
@media (max-width: 767px) {
  .esg-gov__step-num {
    font-size: 44px;
    line-height: 44px;
  }
}

.esg-gov__step-title {
  font-weight: 500;
  font-size: 20px;
  line-height: 1.8;
  letter-spacing: 1.6px;
  color: #000;
}

.esg-gov__step-desc {
  font-weight: 300;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 1.44px;
  color: #000;
}

.esg-gov__step-line {
  width: 100%;
  height: 1px;
  background: #d1d1d1;
}

/* 擁抱科技：AI 智慧化（深色滿版） ----------------------- */
.esg-gov__ai-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  color: #fff;
}

.esg-gov__ai-title {
  font-weight: 400;
  font-size: 40px;
  line-height: 1.7;
  letter-spacing: 4.8px;
  text-align: center;
}
@media (max-width: 1023px) {
  .esg-gov__ai-title {
    font-size: 30px;
    letter-spacing: 3px;
  }
}
@media (max-width: 767px) {
  .esg-gov__ai-title {
    font-size: 24px;
    letter-spacing: 2.4px;
  }
}

.esg-gov__ai-desc {
  font-weight: 400;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 1.44px;
  text-align: center;
}

.esg-gov__ai-head--cert {
  gap: 12px;
}
.esg-gov__ai-head--cert .esg-gov__ai-title {
  font-weight: 500;
  font-size: 36px;
  line-height: 1.67;
  letter-spacing: 4.32px;
  color: #e4e4b2;
}
@media (max-width: 767px) {
  .esg-gov__ai-head--cert .esg-gov__ai-title {
    font-size: 26px;
    letter-spacing: 2.6px;
  }
}
.esg-gov__ai-head--cert .esg-gov__ai-desc {
  font-weight: 300;
  font-size: 24px;
  line-height: 1.67;
  letter-spacing: 2.88px;
}
@media (max-width: 767px) {
  .esg-gov__ai-head--cert .esg-gov__ai-desc {
    font-size: 18px;
    letter-spacing: 1.44px;
  }
}

.esg-gov__cards {
  display: flex;
  gap: 60px;
  justify-content: center;
  align-items: stretch;
  width: 100%;
}
@media (max-width: 1023px) {
  .esg-gov__cards {
    flex-direction: column;
    align-items: center;
    gap: 24px;
  }
}

.esg-gov__card {
  display: flex;
  flex-direction: column;
  gap: 16px;
  flex: 1 1 0;
  max-width: 440px;
  padding: 36px;
  background: #f3f3f3;
}
@media (max-width: 1023px) {
  .esg-gov__card {
    width: 100%;
    max-width: 560px;
    flex: none;
  }
}

.esg-gov__card-title {
  font-weight: 400;
  font-size: 28px;
  line-height: 1.71;
  letter-spacing: 3.36px;
  color: #000;
}
@media (max-width: 767px) {
  .esg-gov__card-title {
    font-size: 22px;
    letter-spacing: 2.2px;
  }
}

.esg-gov__card-line {
  width: 100%;
  height: 1px;
  background: #d1d1d1;
}

.esg-gov__card-body {
  font-weight: 300;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 1.44px;
  color: #000;
}

/* 綠色建築與國際認證：獎項欄（桂冠 + 標題 + 說明）-------- */
.esg-gov__awards {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 48px;
}
@media (min-width: 1024px) {
  .esg-gov__awards {
    align-items: flex-start;
    justify-content: space-between;
    flex-direction: row;
    gap: 40px;
  }
}
@media (min-width: 1600px) {
  .esg-gov__awards {
    width: 75vw;
  }
}

.esg-gov__award {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  flex: 1 1 0;
  max-width: 420px;
  color: #fff;
}
@media (max-width: 1023px) {
  .esg-gov__award {
    flex: none;
    width: 100%;
  }
}

.esg-gov__award-head {
  display: flex;
  align-items: center;
  gap: 16px;
}

.esg-gov__award-wreath {
  flex-shrink: 0;
  width: 49.5px;
  height: 85px;
}
.esg-gov__award-wreath img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.esg-gov__award-main {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  width: 150px;
  max-width: 100%;
}
@media (min-width: 1280px) {
  .esg-gov__award-main {
    width: 250px;
  }
}

.esg-gov__award-title {
  font-weight: 500;
  font-size: 24px;
  line-height: 1.67;
  letter-spacing: 2.88px;
  color: #cfd284;
  white-space: nowrap;
}
@media (max-width: 767px) {
  .esg-gov__award-title {
    font-size: 22px;
    letter-spacing: 2.2px;
  }
}

.esg-gov__award-sub {
  font-weight: 400;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 1.44px;
  color: #fff;
}

.esg-gov__award-desc {
  font-weight: 300;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 1.44px;
  color: #fff;
}

/* 綠點條列（社會共融 S）-------------------------------- */
.esg-gov__point {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}

.esg-gov__point-head {
  display: flex;
  align-items: center;
  gap: 12px;
}

.esg-gov__point-dot {
  flex-shrink: 0;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #92983b;
}

.esg-gov__point-title {
  font-weight: 500;
  font-size: 20px;
  line-height: 1.8;
  letter-spacing: 1.6px;
  color: #000;
}

.esg-gov__point-desc {
  font-weight: 300;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 1.44px;
  color: #000;
}

/* 產學對話與在地溫暖（深色滿版兩欄）--------------------- */
.esg-gov__engage {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 40px;
  width: 100%;
}
@media (max-width: 1023px) {
  .esg-gov__engage {
    flex-direction: column;
    gap: 40px;
  }
}

.esg-gov__engage-intro {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 32px;
  flex-shrink: 0;
}

.esg-gov__engage-title {
  font-weight: 500;
  font-size: 36px;
  line-height: 1.67;
  letter-spacing: 4.32px;
  color: #fff;
}
@media (max-width: 767px) {
  .esg-gov__engage-title {
    font-size: 26px;
    letter-spacing: 2.6px;
  }
}

.esg-gov__engage-line {
  width: 60px;
  height: 1px;
  background: #fff;
}

.esg-gov__engage-sub {
  font-weight: 400;
  font-size: 24px;
  line-height: 1.67;
  letter-spacing: 2.88px;
  color: #fff;
  max-width: 672px;
}
@media (max-width: 767px) {
  .esg-gov__engage-sub {
    font-size: 18px;
    letter-spacing: 1.44px;
  }
}

.esg-gov__engage-points {
  display: flex;
  flex-direction: column;
  gap: 40px;
  width: 37.5vw;
  max-width: 720px;
  flex-shrink: 0;
}
@media (max-width: 1023px) {
  .esg-gov__engage-points {
    width: 100%;
    max-width: 100%;
  }
}
.esg-gov__engage-points .esg-gov__point-title,
.esg-gov__engage-points .esg-gov__point-desc {
  color: #fff;
}

/* 永續報告書 ------------------------------------------- */
.esg-report {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 30px;
  gap: 40px;
  margin: 40px auto 80px;
}
@media (min-width: 1024px) {
  .esg-report {
    max-width: 1440px;
    margin: 5vw auto;
    width: 100%;
  }
}
@media (min-width: 1920px) {
  .esg-report {
    margin: 100px auto 120px;
    gap: 60px;
  }
}

.esg-report__title {
  font-weight: 300;
  font-size: 48px;
  line-height: 1.5;
  letter-spacing: 5.76px;
  color: #000;
  text-align: center;
}
@media (max-width: 767px) {
  .esg-report__title {
    font-size: 32px;
    letter-spacing: 2.56px;
  }
}

.esg-report__card {
  display: flex;
  flex-direction: column;
  gap: 40px;
  width: 100%;
  color: #000;
}

.esg-report__head {
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 100%;
}

.esg-report__thumb {
  width: 100%;
  aspect-ratio: 300/200;
  overflow: hidden;
}
.esg-report__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}
.esg-report__card:hover .esg-report__thumb img {
  transform: scale(1.05);
}

.esg-report__name {
  font-weight: 500;
  font-size: 24px;
  line-height: 1.67;
  letter-spacing: 2.88px;
  color: #000;
}

.esg-report__more {
  width: 100%;
  color: #22250e;
  transition: color 0.3s ease;
}
.esg-report__more p {
  font-family: "Inter", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.5;
  color: inherit;
}
.esg-report__more-arrow {
  display: block;
  width: 100%;
  aspect-ratio: 346/11;
  margin-top: 4px;
  background-color: currentColor;
  -webkit-mask: url("../img/project/i-project-more.svg") no-repeat center/contain;
  mask: url("../img/project/i-project-more.svg") no-repeat center/contain;
}

.esg-report__card:hover .esg-report__more {
  color: #25734f;
}

.error-404 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  padding: 120px 30px 160px;
  text-align: center;
}
@media (max-width: 1023px) {
  .error-404 {
    gap: 32px;
    padding: 80px 24px 100px;
  }
}
.error-404__num {
  font-family: "Inter", sans-serif;
  font-weight: 200;
  font-size: 160px;
  line-height: 1;
  background: linear-gradient(219.53deg, #000 14.24%, #92983b 85.03%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
@media (max-width: 1023px) {
  .error-404__num {
    font-size: 100px;
  }
}
@media (max-width: 640px) {
  .error-404__num {
    font-size: 72px;
  }
}
.error-404__texts {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}
.error-404__title {
  font-weight: 300;
  font-size: 36px;
  line-height: 1.67;
  letter-spacing: 2.88px;
  background: linear-gradient(to right, #92983b, #000);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
@media (max-width: 1023px) {
  .error-404__title {
    font-size: 24px;
    letter-spacing: 2px;
  }
}
.error-404__desc {
  font-weight: 400;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 1.44px;
  color: #353535;
}
@media (max-width: 1023px) {
  .error-404__desc {
    font-size: 15px;
    letter-spacing: 1px;
  }
}
.error-404__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 200px;
  padding: 12px 60px;
  border: 1px solid #353535;
  background: #fff;
  font-weight: 400;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 1.44px;
  color: #000;
  white-space: nowrap;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.error-404__btn:hover {
  background: #353535;
  color: #fff;
}