/* About Us: reproduced from the user-provided reference frames. */
@font-face {
  font-family: "Site WenKai About Us";
  src: url("/assets/site-wenkai-about-us.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Site WenKai Countdown";
  src: url("/assets/site-wenkai-countdown.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: block;
}
.home-about-intro {
  min-height: 100svh;
  display: grid;
  place-items: center;
  padding: 10.4%;
  color: #3c1116;
  background: #fffaf1;
  font-family: "Site WenKai Countdown", serif;
  font-size: clamp(12px, 3.28vw, 18.4px);
  font-weight: 400;
  font-synthesis: none;
  line-height: 1.76;
  letter-spacing: .025em;
  text-align: center;
}
.home-about-intro p { margin: 0; }
.home-about-us {
  --about-paper: #fffaf1;
  --about-ink: #3c1116;
  --about-wine: #760813;
  position: relative;
  overflow: hidden;
  color: var(--about-ink);
  background-color: var(--about-paper);
  font-family: "Site WenKai", "KaiTi", serif;
}
.home-about-us * { box-sizing: border-box; }
.home-about-us p, .home-about-us h2, .home-about-us figure { margin: 0; }
.home-about-us__chapter { position: relative; width: 100%; padding: 70px 10.4% 84px; }
.home-about-us__heading { text-align: center; }
.home-about-us__heading h2 {
  color: var(--about-wine);
  font-family: "Home Playfair Display", "Times New Roman", serif;
  font-size: clamp(21px, 6.7vw, 26px);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -.045em;
  text-transform: none;
  white-space: nowrap;
}
.home-about-us__title-line { display: inline; }
.home-about-us__title-line + .home-about-us__title-line { margin-left: .18em; }
/* 对齐婚礼信息页艺术字下方的四字中文副标题。 */
.home-about-us__subtitle {
  margin: 7px 0 0;
  color: var(--about-ink);
  font-family: "Site WenKai", "KaiTi", serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: .08em;
}
.home-about-us__title-initial {
  font-family: "Home Holy River", cursive;
  font-size: 1.26em;
  font-weight: 400;
  letter-spacing: -.08em;
  line-height: 0;
  vertical-align: -.06em;
}
.home-about-us__opening-copy, .home-about-us__mountains-copy, .home-about-us__ceremony-copy, .home-about-us__ceremony-invite, .home-about-us__wedding-copy {
  font-family: "Site WenKai About Us", "Site WenKai", "KaiTi", serif;
  font-size: clamp(12px, 3.28vw, 18.4px);
  font-weight: 400;
  line-height: 1.76;
  letter-spacing: .025em;
}
.home-about-us__opening-gap,
.home-about-us__section-gap { height: 440px; }
.home-about-us__opening-copy { margin-top: 110px; }
.home-about-us__collage { position: relative; }
.home-about-us__photo { overflow: hidden; background: #d8d4d0; }
.home-about-us__photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
/* 仅继续压缩右下合影下方留白 50px。 */
.home-about-us__collage--opening { height: 910px; margin-top: 58px; }
/* 开场右上新娘照片：向下移动20px、放大10%，保持右侧定位，按新图 3:4 原比例展示且不裁切。 */
.home-about-us__photo--opening-main { position: absolute; z-index: 2; top: 20px; right: 3%; width: 64.9%; height: auto; }
.home-about-us__photo--opening-main img { height: auto; object-fit: contain; }
/* 下方新郎照片：相对当前定位向上20px，并置于新娘照片上层；保持左边缘对齐与完整原比例展示。 */
.home-about-us__photo--opening-detail { position: absolute; z-index: 3; top: 280px; left: 0; width: 64.9%; height: auto; margin: 0 !important; }
.home-about-us__photo--opening-detail img { height: auto; object-fit: contain; }
/* 开场右下合影：在当前基础上再向上移动10px，保持放大15%、右侧定位、3:4 原比例完整展示且不裁切。 */
.home-about-us__photo--opening-bottom { position: absolute; z-index: 0; top: 595px; right: 3%; width: 74.635%; height: auto; }
.home-about-us__photo--opening-bottom img { height: auto; object-fit: contain; }
.home-about-us__chapter--wedding { padding-top: 22px; }
.home-about-us__wedding-copy { margin: 0; width: 100%; text-align: right; white-space: nowrap; }
.home-about-us__wedding-collage { display: block; margin: 24px 0 0; width: 100%; overflow: hidden; }
.home-about-us__wedding-collage img { display: block; width: 100%; height: auto; }
.home-about-us__sparkling-collage { display: block; margin: 58px 0 0; width: 100%; overflow: hidden; }
.home-about-us__sparkling-collage img { display: block; width: 100%; height: auto; }
.home-about-us__chapter--mountains { padding-top: 74px; }
.home-about-us__mountains-slideshow { position: relative; margin: 58px 0 0; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; background: #f3efe8; }
.home-about-us__mountains-slideshow img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; opacity: 0; animation: home-about-us-mountains-fade 9s ease-in-out infinite; }
.home-about-us__mountains-slideshow img:nth-child(1) { animation-delay: 0s; }
.home-about-us__mountains-slideshow img:nth-child(2) { animation-delay: 3s; }
.home-about-us__mountains-slideshow img:nth-child(3) { animation-delay: 6s; }
@keyframes home-about-us-mountains-fade { 0% { opacity: 0; } 16.667% { opacity: 1; } 33.333% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 0; } }
/* 9 秒循环中，每张图淡入和淡出均约 1.5 秒。 */
@media (prefers-reduced-motion: reduce) { .home-about-us__mountains-slideshow img { animation: none; } .home-about-us__mountains-slideshow img:not(:first-child) { display: none; } }
/* 用户提供的日落照片：仅在手机端展示，保留 16:9 原始画面比例，不裁切。 */
.home-about-us__sunset-closeup, .home-about-us__sunset-embrace { display: none; width: 68%; margin: 52px auto 0; overflow: hidden; }
.home-about-us__sunset-closeup img, .home-about-us__sunset-embrace img { display: block; width: 100%; height: auto; }
.home-about-us__collage--mountains { height: 280px; margin-top: 30px; }
.home-about-us__photo--mountains-left, .home-about-us__photo--mountains-right { position: absolute; top: 0; width: 47.5%; height: 280px; }
.home-about-us__photo--mountains-left { left: 0; }
.home-about-us__photo--mountains-right { right: 0; }
.home-about-us__chapter--ceremony { padding-top: 78px; padding-bottom: 104px; text-align: center; }
.home-about-us__ceremony-copy { margin-bottom: 40px; }
.home-about-us__ceremony-invite { margin-bottom: 58px; }
.home-about-us__ceremony-confetti-diptych { margin: 0; width: 100%; }
.home-about-us__ceremony-confetti-diptych img { display: block; width: 100%; height: auto; }
.home-about-us__chapter { opacity: 0; transform: translate3d(0, 32px, 0); transition: opacity .72s ease, transform .9s cubic-bezier(.22,.72,.22,1); }
.home-about-us__chapter.is-visible { opacity: 1; transform: translate3d(0,0,0); }
/* 与首段“日出日落、四季往复”到婚纱照相同的实际留白。 */
.home-about-us .home-about-us__sparkling-collage { margin-top: 58px !important; }
.home-about-us .home-about-us__mountains-slideshow { margin-top: 58px !important; }
.home-about-us .home-about-us__ceremony-invite { margin-bottom: 58px !important; }
@media (max-width: 767px) {
  /* 在当前基础上继续缩短 About us 上方留白 100px。 */
  .home-about-intro { min-height: calc(100svh - 400px); }
  /* “我们普通又隆重地爱着彼此”文案上方保留 100px 间距。 */
  .home-about-us__section-gap { height: 100px; }
  /* 仅删除“在山川，在湖海，在落日，在好好相爱”文案上方的 100px 留白。 */
  .home-about-us__chapter--mountains .home-about-us__section-gap { height: 0; }
  /* 首张日落照片与上方山川横图间隔 20px，并将左边缘对齐。 */
  .home-about-us .home-about-us__sunset-closeup { display: block; margin: 20px 0 0 !important; }
  /* 新增日落合影与上一张间隔 20px；同宽并让右边缘对齐山川横图。 */
  .home-about-us .home-about-us__sunset-embrace { display: block; margin: 20px 0 0 auto !important; }
  .home-about-us__opening-gap { height: 140px; }
  /* 仅在海边双拼照片与后续 Wedding Time 卡片之间增加 200px 留白。 */
  .home-about-us__ceremony-confetti-diptych { margin-bottom: 200px; }
  /* Wedding Schedule 卡片内副标题仅下移 5px。 */
  .home-schedule__card--events h3 { transform: translateY(5px); }
  /* Wedding Venue 卡片内“君澜厅”仅缩小一档，其他地址文字不变。 */
  .home-schedule__venue-hall { font-size: 1.1em; }
  /* 仅将截图圈选的倒计时与 About Us 段落文字改为 15px；位置、对齐与行距不变。 */
  .home-about-intro p,
  .home-about-us__opening-copy,
  .home-about-us__wedding-copy,
  .home-about-us__mountains-copy,
  .home-about-us__ceremony-copy,
  .home-about-us__ceremony-invite { font-size: 15px; }
  /* 相机与餐盘图标放大 5%；以轿车图标中线为基准统一三个图标的视觉中线。 */
  .home-schedule__card--events .home-schedule__event:nth-child(1) img { transform: scale(1.05); }
  .home-schedule__card--events .home-schedule__event:nth-child(3) img { transform: translateY(6px) scale(1.05); }
  .home-about-us__chapter { min-height: 690px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-about-us__chapter { opacity: 1; transform: none; transition: none; }
}

/* 婚礼时间与流程区域：使用用户提供的竖向纹理背景，按区域适度放大并居中铺满。 */
.home-schedule-section {
  background-color: #f1d9d4;
  background-image: url("/assets/schedule-background-277b69fa.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media (max-width: 767px) {
  /* 在现有基础上再压缩 Wedding Venue 卡片与 Tips 之间的背景留白 50px。 */
  .home-schedule-section { height: 1190px; }
}

/* “好久不见，婚礼见”中间动态卡片：新照片完整作为卡片内容，继承外层原有翻转动画和尺寸。 */
.home-faq__heading h2 {
  height: 100%;
  padding: 0 !important;
}
.home-faq__heading h2 img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* “好久不见，婚礼见”下方场景3横图：按 16:9 原始比例完整显示，并同步第一张图的旋转动态。 */
.home-faq__landscape {
  aspect-ratio: 16 / 9 !important;
  overflow: visible;
  transform: translate3d(0, var(--home-faq-landscape-y, 38px), 0) rotate(var(--home-faq-landscape-angle, 14deg)) !important;
  transform-origin: center;
  transition: transform .12s linear, opacity .12s linear;
  will-change: opacity, transform;
}
.home-faq__landscape img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}
/* 第三张图下方的两行中文文案。 */
.home-faq__landscape-caption {
  display: none;
  margin: 0;
  color: var(--about-ink, #3c1116);
  font-family: "Site WenKai About Us", "Site WenKai", "KaiTi", serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.76;
  letter-spacing: .025em;
  text-align: center;
}
@media (max-width: 767px) {
  /* 上下两张右侧照片在现有基础上再同步左移10px，并维持同一右边缘。 */
  .home-faq__photo { left: calc(40% - 20px) !important; }
  /* 圈选下方山景图在当前基础上再下移5px；尺寸与左侧定位保持不变。 */
  .home-faq__landscape {
    top: 466px !important;
    left: calc(30.037% - 20px) !important;
    width: 60.5124% !important;
    aspect-ratio: 16 / 9 !important;
  }
  /* 文案位于第三张图完成态下方50px，水平居中。 */
  .home-faq__landscape-caption {
    position: absolute;
    top: calc(466px + (60.5124vw * 9 / 16) + 50px);
    left: 0;
    display: block;
    width: 100%;
  }
}
