/**
 * 聯絡我們 — 全寬照片情境底圖
 */

.pub-section--contact-v2 {
  --contact-v2-content-max: 1400px;
  --contact-v2-rail-gutter: max(140px, calc((100% - var(--contact-v2-content-max)) / 2));
  padding: 0;
  background: var(--color-ink, #111);
}

.pub-section--contact-v2 .pub-section__inner--contact {
  max-width: none;
  width: 100%;
  margin: 0;
}

.pub-contact-v2 {
  position: relative;
  overflow: hidden;
  min-height: clamp(280px, 32vw, 380px);
  display: flex;
  align-items: center;
  padding: clamp(56px, 8vw, 80px) var(--contact-v2-rail-gutter);
}

.pub-contact-v2__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.pub-contact-v2__bg-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 42%;
  display: block;
}

.pub-contact-v2__scrim {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0.78) 0%,
    rgba(0, 0, 0, 0.62) 38%,
    rgba(0, 0, 0, 0.38) 68%,
    rgba(0, 0, 0, 0.22) 100%
  );
}

.pub-contact-v2__container {
  position: relative;
  z-index: 2;
  max-width: var(--contact-v2-content-max);
  width: 100%;
  margin: 0 auto;
  padding: 0;
}

.pub-contact-v2__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 32px;
  max-width: 580px;
}

.pub-contact-v2__head {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.pub-contact-v2__eyebrow {
  margin: 0 0 4px;
}

.pub-contact-v2__title {
  margin: 0;
  font-family: var(--wuji-font-serif);
  font-size: clamp(28px, 2.4vw, 32px);
  font-weight: 700;
  line-height: 1.375;
  color: #fff;
}

.pub-contact-v2__lead {
  margin: 20px 0 0;
  font-family: var(--wuji-font-sans);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.75;
  color: rgba(255, 255, 255, 0.86);
}

.pub-contact-v2__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 48px;
  padding: 10px 24px;
  border: none;
  border-radius: var(--btn-radius);
  background: var(--color-sustain);
  font-family: var(--wuji-font-sans);
  font-size: 16px;
  font-weight: 500;
  line-height: 28px;
  color: #fff;
  text-decoration: none;
  transition: background 0.15s ease;
}

.pub-contact-v2__cta:hover {
  background: var(--color-sustain-emphasis);
  color: #fff;
  text-decoration: none;
}

.pub-contact-v2__cta-arrow {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

@media (max-width: 991px) {
  .pub-contact-v2__scrim {
    background: linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.76) 0%,
      rgba(0, 0, 0, 0.58) 55%,
      rgba(0, 0, 0, 0.42) 100%
    );
  }

  .pub-contact-v2__bg-img {
    object-position: center 35%;
  }
}

@media (max-width: 767px) {
  .pub-section--contact-v2 {
    --contact-v2-rail-gutter: 24px;
  }
}

@media (max-width: 575px) {
  .pub-contact-v2 {
    min-height: 320px;
    padding-top: 48px;
    padding-bottom: 48px;
  }

  .pub-contact-v2__cta {
    width: 100%;
    justify-content: center;
  }
}
