/* InfoCheetah photo homepage v3 — motion layer.
   疊在 photo-v2 之上：hero 不動，中段 section 升級動效。
   參考方向：Stripe（aurora 光影）× Linear（節奏與留白）× Apple（動畫服務內容）。
   原則：不劫持捲動、不重度 WebGL、prefers-reduced-motion 全面停用。 */

.photo-v3 { --v3-hue: 0deg; }

/* ── Aurora / mesh gradient：整頁流動背景，隨區塊變色（morphing background）── */
.photo-v3 .v3-aurora {
  position: fixed;
  inset: -22% -12%;
  z-index: 0;
  pointer-events: none;
  filter: hue-rotate(var(--v3-hue));
  transition: filter 1.6s ease;
}
.photo-v3 .v3-aurora__b {
  position: absolute;
  border-radius: 50%;
  opacity: .5;
  will-change: transform;
}
.photo-v3 .v3-aurora__b--1 {
  width: 58vw; height: 58vw;
  left: -12vw; top: 4%;
  background: radial-gradient(closest-side, rgba(238, 151, 45, 0.16), transparent 72%);
  animation: v3-drift-a 36s ease-in-out infinite alternate;
}
.photo-v3 .v3-aurora__b--2 {
  width: 48vw; height: 48vw;
  right: -14vw; top: 30%;
  background: radial-gradient(closest-side, rgba(201, 11, 144, 0.075), transparent 72%);
  animation: v3-drift-b 46s ease-in-out infinite alternate;
}
.photo-v3 .v3-aurora__b--3 {
  width: 52vw; height: 52vw;
  left: 22vw; bottom: -6%;
  background: radial-gradient(closest-side, rgba(49, 126, 126, 0.11), transparent 72%);
  animation: v3-drift-c 41s ease-in-out infinite alternate;
}
@keyframes v3-drift-a {
  from { transform: translate3d(0, 0, 0) scale(1); }
  to   { transform: translate3d(9vw, 6vh, 0) scale(1.14); }
}
@keyframes v3-drift-b {
  from { transform: translate3d(0, 0, 0) scale(1.1); }
  to   { transform: translate3d(-8vw, -7vh, 0) scale(0.94); }
}
@keyframes v3-drift-c {
  from { transform: translate3d(0, 0, 0) scale(0.96); }
  to   { transform: translate3d(6vw, -8vh, 0) scale(1.12); }
}

/* 內容浮在 aurora 之上；柔色區塊改半透明讓光暈透出 */
.photo-v3 .nav,
.photo-v3 main,
.photo-v3 .footer { position: relative; z-index: 1; }
.photo-v3 .section--soft { background: rgba(244, 245, 247, 0.72); }

/* ── Scroll reveal 升級：Opacity + Y + Scale + Blur 一起收斂 ── */
@media (prefers-reduced-motion: no-preference) {
  .photo-v3 .rv {
    opacity: 0;
    transform: translateY(26px) scale(0.985);
    filter: blur(7px);
    transition:
      opacity  0.6s cubic-bezier(0.22, 1, 0.36, 1),
      transform 0.6s cubic-bezier(0.22, 1, 0.36, 1),
      filter   0.6s cubic-bezier(0.22, 1, 0.36, 1);
  }
  .photo-v3 .rv.is-in { opacity: 1; transform: none; filter: none; }

  /* ── Animated typography：標題 Blur + Letter-spacing + Opacity + Y 同步收斂 ── */
  .photo-v3 .t-anim {
    opacity: 0;
    filter: blur(6px);
    transform: translateY(14px);
    letter-spacing: 0.03em;
    transition:
      opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
      filter 0.9s cubic-bezier(0.22, 1, 0.36, 1),
      transform 0.9s cubic-bezier(0.22, 1, 0.36, 1),
      letter-spacing 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  }
  .photo-v3 .h2.t-anim.t-in { opacity: 1; filter: none; transform: none; letter-spacing: -0.024em; }
  .photo-v3 .band__quote.t-anim.t-in { opacity: 1; filter: none; transform: none; letter-spacing: -0.026em; }
}

/* ── 產品卡：每張不同的 hover motion＋品牌色光暈 ── */
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .photo-v3 .pcard {
    transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  }
  .photo-v3 .grid .pcard:nth-of-type(1):hover { transform: translateY(-9px) rotate(-0.5deg); }
  .photo-v3 .grid .pcard:nth-of-type(2):hover { transform: translateY(-11px) scale(1.014); }
  .photo-v3 .grid .pcard:nth-of-type(3):hover { transform: translateY(-9px) rotate(0.5deg); }
  .photo-v3 .pcard:hover {
    box-shadow:
      0 30px 60px -30px color-mix(in srgb, var(--accent, #df7b18) 38%, transparent),
      0 10px 26px -18px rgba(18, 23, 41, 0.35);
  }
}

/* ── Sticky scroll：How We Build 的「附上出處」示範面板黏住，文字先講完 ── */
@media (min-width: 980px) {
  .photo-v3 .split.mt-l { align-items: start; }
  .photo-v3 .split.mt-l > .rv:last-child { position: sticky; top: 112px; }
}

/* ── Intelligence Network：Thesis 區塊背後的輕量連線 canvas ── */
.photo-v3 .v3-net {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.photo-v3 .v3-net-host { position: relative; overflow: hidden; }
.photo-v3 .v3-net-host > .wrap { position: relative; z-index: 1; }

/* ── 行動裝置：光暈縮小、卡片 hover 動效不啟用（@hover 已排除）── */
@media (max-width: 760px) {
  .photo-v3 .v3-aurora__b { opacity: .34; }
}

/* ── 無障礙：reduced-motion 全面關閉裝飾動效 ── */
@media (prefers-reduced-motion: reduce) {
  .photo-v3 .v3-aurora__b { animation: none; }
  .photo-v3 .v3-aurora { transition: none; }
  .photo-v3 .v3-net { display: none; }
}
