/* ============================================================
   R-HOME-01 — 首页本轮修改专用样式
   仅由 index.html 加载，不改动其他页面。
   1 首屏四句阶梯 / 3 预约区 B+ / 4 客户 Logo 原色 / 5 页脚采访视频
   ============================================================ */

/* ------------------------------------------------------------
   1. 首屏四句阶梯
   ------------------------------------------------------------ */
.v2hero__inner { width: 100%; }

.v2hero__stage {
  position: relative;
  width: min(100%, 920px);
  min-height: clamp(320px, 46vh, 430px);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.v2hero__stage .v2bot { margin: 0; }

.v2hero__title.v2hero__title--stairs {
  position: absolute;
  inset: 0;
  margin: 0;
  padding: 0;
  color: #fff;
  /* R-HOME-02：四句字高约为导航 Logo 字标（渲染 51.76px）的 93% */
  font-size: 48px;
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: .06em;
  text-align: left;
  text-shadow: 0 2px 18px rgba(0, 0, 0, .55);
  pointer-events: none;
}

.v2hero__phrase {
  position: absolute;
  display: flex;
  flex-direction: column;
  gap: 7px;
  white-space: nowrap;
  font-size: inherit;
  font-weight: 500;
}

/* 默认全亮（无 JS / reduced-motion）。
   JS 给 stage 加 .rhome-meteor-on 后进入低亮度待机，流星经过时逐句加 .is-lit 点亮。 */
.v2hero__phrase-text {
  color: #fff;
  transition: opacity .55s ease, text-shadow .55s ease;
}
.v2hero__stage.rhome-meteor-on .v2hero__phrase-text { opacity: .52; }
.v2hero__stage.rhome-meteor-on .v2hero__phrase.is-lit .v2hero__phrase-text {
  opacity: 1;
  text-shadow: 0 2px 18px rgba(0, 0, 0, .5), 0 0 14px rgba(255, 244, 225, .2);
}

/* 仅给标题文本补齐标点，不参与视觉排版 */
.v2hero__sr {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* 橙色短线：短促扫入一次，随后常驻，不循环 */
.v2hero__phrase::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, #E8551A 0%, rgba(232, 85, 26, .18) 100%);
  transform: scaleX(1);
  transform-origin: left center;
  opacity: .3;
  transition: opacity .55s ease, box-shadow .55s ease;
}

/* 下划线随文字同步增强，未点亮时保持低亮度 */
.v2hero__stage.rhome-meteor-on .v2hero__phrase::after { opacity: .24; }
.v2hero__stage.rhome-meteor-on .v2hero__phrase.is-lit::after {
  opacity: 1;
  box-shadow: 0 0 10px rgba(232, 85, 26, .4);
}

/* 放大后 2/3 句向内收，保持左上→右下阶梯并给 AIBot 留出安全距离 */
.v2hero__phrase--1 { --rhome-delay: .08s; left: 1%; top: 3%; }
.v2hero__phrase--2 { --rhome-delay: .20s; left: 7%; top: 30%; }
.v2hero__phrase--3 { --rhome-delay: .32s; right: 7%; bottom: 30%; }
.v2hero__phrase--4 { --rhome-delay: .44s; right: 1%; bottom: 3%; }

/* ------------------------------------------------------------
   流星：单颗，路径由 JS 按四句实际 DOM 位置计算
   插在 stage 最前，绘制层级在文字与 AIBot 之下：
   即便路径擦边也不会盖住文字或穿过 AIBot 面部。
   ------------------------------------------------------------ */
.rhome-meteor-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  /* R-HOME-05b：手机端路径终点出舞台 10px（落在页边内边距里），
     不能再裁掉；桌面路径本来就在舞台内，无视觉变化。 */
  overflow: visible;
  pointer-events: none;
  visibility: hidden;
}

.rhome-meteor {
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 0;
  pointer-events: none;
  opacity: 0;
  will-change: transform, opacity;
}

.rhome-meteor__core {
  position: absolute;
  left: 0;
  top: 0;
  width: 6px;
  height: 6px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: radial-gradient(circle at 50% 45%, #fffdf7 0%, #fff3d8 45%, rgba(255, 185, 110, .55) 72%, rgba(232, 85, 26, 0) 100%);
  box-shadow: 0 0 6px 2px rgba(255, 236, 200, .55), 0 0 16px 4px rgba(232, 85, 26, .18);
}

/* 拖尾沿本地 -x 方向，容器按运动切线旋转，方向始终与运动相反 */
.rhome-meteor__tail {
  position: absolute;
  left: -28px;
  top: 0;
  width: 28px;
  height: 2px;
  transform: translateY(-50%);
  border-radius: 2px;
  background: linear-gradient(90deg, rgba(255, 205, 150, 0) 0%, rgba(255, 225, 185, .35) 55%, rgba(255, 245, 225, .85) 100%);
}

/* 平板（561–768）：Logo 字标渲染 42.46px，四句 30–39px（70.6%–91.8%） */
@media (min-width: 561px) and (max-width: 768px) {
  .v2hero__title.v2hero__title--stairs {
    font-size: clamp(30px, 5.1vw, 39px);
    letter-spacing: .05em;
  }
  /* 561px 起四句已接近 AIBot 侧缘，贴边收窄保证 0 重叠 */
  .v2hero__phrase--1 { left: 0; }
  .v2hero__phrase--2 { left: 3%; }
  .v2hero__phrase--3 { right: 3%; }
  .v2hero__phrase--4 { right: 0; }
}

/* 手机：四句贴住 AIBot 左上/右下，不额外拉高首屏 */
@media (max-width: 560px) {
  .v2hero__stage { min-height: clamp(210px, 27vh, 250px); }
  .v2hero__title.v2hero__title--stairs {
    /* 侧边余量只容得下约 22px，再大就会压到 AIBot；仍比原 15px 明显放大 */
    font-size: clamp(21px, 5.9vw, 27px);
    letter-spacing: .04em;
  }
  .v2hero__phrase { gap: 5px; }
  .v2hero__phrase--1 { left: 0; top: 0; }
  .v2hero__phrase--2 { left: 1.5%; top: 36%; }
  .v2hero__phrase--3 { right: 1.5%; bottom: 36%; }
  .v2hero__phrase--4 { right: .5%; bottom: 0; }
}

/* 极窄屏（320–360）：再收一档，保证四句与 AIBot 不重叠 */
@media (max-width: 360px) {
  .v2hero__title.v2hero__title--stairs { font-size: 18px; }
  .v2hero__phrase--1 { left: 0; }
  .v2hero__phrase--2 { left: 0; }
  .v2hero__phrase--3 { right: 0; }
  .v2hero__phrase--4 { right: 0; }
}

@media (max-width: 560px) {
  .rhome-meteor__core { width: 5px; height: 5px; }
  .rhome-meteor__tail { left: -20px; width: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .v2hero__phrase-text { opacity: 1 !important; text-shadow: 0 2px 18px rgba(0, 0, 0, .55); }
  .v2hero__phrase::after { opacity: 1; box-shadow: none; transition: none; }
  .rhome-meteor,
  .rhome-meteor-svg { display: none !important; }
}

/* ------------------------------------------------------------
   3. 预约区 B+：顶部标题 + 左侧产品图网格 + 右侧原表单
   ------------------------------------------------------------ */
#cta .cta-banner__head {
  margin: 0 0 clamp(24px, 3.2vw, 44px);
  text-align: center;
}

#cta .cta-banner__title { margin-bottom: 0; }

#cta .rhome-cta {
  display: grid;
  grid-template-columns: minmax(0, 1.28fr) minmax(340px, .82fr);
  gap: clamp(24px, 3vw, 52px);
  align-items: start;
  text-align: left;
}

#cta .rhome-cta__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(8px, 1vw, 14px);
  margin: 0;
  padding: 0;
  list-style: none;
}

#cta .rhome-cta__grid li {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border-radius: 10px;
  background: #EFE7DC;
}

#cta .rhome-cta__grid img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

@media (max-width: 900px) {
  #cta .rhome-cta {
    grid-template-columns: 1fr;
    gap: var(--space-xl);
  }
  #cta .rhome-cta__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* ------------------------------------------------------------
   4. 客户 Logo 默认恢复原色
   ------------------------------------------------------------ */
#clients .clients-card img {
  filter: none;
  opacity: 1;
}

#clients .clients-card:hover img {
  filter: none;
  opacity: 1;
}

@media (hover: none) {
  #clients .clients-card:hover img {
    filter: none;
    opacity: 1;
  }
}

/* ------------------------------------------------------------
   5. 页脚采访视频：紧凑封面入口 + 点击弹窗（R-HOME-03 方案 E）
   仅 index.html 加载本文件，作用域天然限定首页页脚。
   ------------------------------------------------------------ */
/* R-HOME-04：第一栏改为图文环绕。
   视频 float 左上，原公司介绍（品牌名 + 公司全称 + 介绍正文）保持一段连续内容流，
   先绕行视频右侧，排满后自然延伸到视频下方。 */
@media (min-width: 1025px) {
  /* R-HOME-05：第一栏略加宽改善图文环绕；第四栏保底 286px，
     确保三枚 90px 二维码仍能同排，不被挤成两行。 */
  .site-footer__grid {
    grid-template-columns:
      minmax(0, 2.1fr) minmax(0, .72fr) minmax(0, .72fr) minmax(286px, 1.46fr);
    column-gap: 40px;
  }
}

/* R-HOME-05：仅首页页脚收紧无效高度。
   左侧图文环绕保持 flow-root/float，不改内容；通过压缩右栏
   （联系方式、二维码、按钮）的垂直间距，降低整行高度，
   从而减少介绍下方到页脚分隔线之间的空白。
   R-HOME-05b：右栏再收一档（二维码 84→78、间距各减 1–4px），
   介绍正文 15px/1.7 并配合视频 210px，1440 首栏留白 76.1→24.2px。 */
.site-footer {
  padding-top: 36px;
  padding-bottom: 12px;
}
.site-footer .site-footer__grid { margin-bottom: 14px; }
.site-footer__heading { margin-bottom: 6px; }
.site-footer__contact { margin-bottom: 10px; }
.site-footer__contact li {
  line-height: 1.45;
  margin-bottom: 3px;
}
.site-footer__contact li:last-child { margin-bottom: 0; }
.site-footer__qr { margin: 8px 0; }
.site-footer__qr-item { gap: 3px; }
.site-footer__qr-item img { width: 78px; height: 78px; }
.site-footer__qr-cap { line-height: 1.3; }

.site-footer__intro { display: flow-root; }

.site-footer__intro .site-footer__interview {
  float: left;
  width: min(100%, 210px);
  margin: 0 16px 12px 0;
}

.site-footer__intro .site-footer__desc {
  margin-bottom: 0;
  font-size: 15px;
  line-height: 1.7;
}

.site-footer__interview {
  position: relative;
  display: block;
  width: min(100%, 190px);
  padding: 0;
  border: 0;
  border-radius: 12px;
  overflow: hidden;
  background: #181410;
  box-shadow: 0 6px 20px rgba(38, 24, 12, .12);
  cursor: pointer;
  text-align: left;
  transition: transform .25s ease, box-shadow .25s ease;
}

.site-footer__interview img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

/* 底部轻渐变承托「观看采访」，不遮人物面部 */
.site-footer__interview::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 46px;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, .6));
  pointer-events: none;
}

.site-footer__interview-play {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 2;
  width: 44px;
  height: 44px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 4px 14px rgba(0, 0, 0, .28);
}

.site-footer__interview-play::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-36%, -50%);
  width: 0;
  height: 0;
  border-left: 13px solid #E8551A;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
}

.site-footer__interview-title {
  position: absolute;
  left: 12px;
  bottom: 9px;
  z-index: 2;
  color: #fff;
  font-size: 13px;
  line-height: 1;
  font-weight: 500;
  letter-spacing: .04em;
}

.site-footer__interview:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 26px rgba(38, 24, 12, .18);
}
.site-footer__interview:focus-visible {
  outline: 2px solid #E8551A;
  outline-offset: 3px;
}

/* 弹出层：原生 dialog，宽度对齐要求 840–960px */
.rhome-interview-dialog {
  width: min(92vw, 960px);
  max-width: none;
  max-height: 94vh;
  margin: auto; /* 全站 reset 的 *{margin:0} 会覆盖原生 dialog 的居中，这里必须显式声明 */
  padding: 0;
  border: 0;
  background: transparent;
  color: #fff;
}
.rhome-interview-dialog::backdrop { background: rgba(8, 8, 12, .78); }

.rhome-interview-dialog__panel {
  position: relative;
  overflow: hidden;
  border-radius: 14px;
  background: #111114;
  box-shadow: 0 24px 80px rgba(0, 0, 0, .55);
}

.rhome-interview-dialog__video {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  background: #000;
}

.rhome-interview-dialog__close {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 3;
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, .94);
  color: #161616;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .3);
}
.rhome-interview-dialog__close:hover { background: #fff; }
.rhome-interview-dialog__close:focus-visible {
  outline: 2px solid #E8551A;
  outline-offset: 3px;
}

/* 弹窗打开时锁背景滚动；关闭后由 JS 恢复 scrollY */
body.rhome-modal-open {
  position: fixed;
  left: 0;
  right: 0;
  width: 100%;
  overflow: hidden;
}

@media (max-width: 560px) {
  /* 手机宽度不足：视频在上、文字在下，不做窄栏环绕 */
  .site-footer__intro .site-footer__interview {
    float: none;
    width: min(100%, 220px);
    margin: 0 0 14px;
  }
  .rhome-interview-dialog { width: 94vw; }
}
