/* =========================================================
   TERASU static-enabler override
   目的: 壊れるWebGL/GSAP ScrollTrigger/Splide演出を外した状態で、
   ミラー本来のHTML/CSSデザインを「常に可視・静的」に描画する。
   （feedback_preview_must_open: 要素は常に可視・opacity依存の登場アニメ禁止）
   ========================================================= */

/* --- 1. 登場アニメ(reveal)を全て最終状態(表示)で固定 --- */
.fade,
.fade.show,
[class*="mask-animation"],
.js-fadeup,
.js-fadein {
  opacity: 1 !important;
  transform: none !important;
  clip-path: none !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
  visibility: visible !important;
  transition: none !important;
}

/* --- 2. KVヒーローをスクロール演出から「1画面の静的ヒーロー」へ --- */
.top-kv {
  height: 100vh !important;
  min-height: 640px !important;
}
.top-kv__inner {
  position: relative !important;
  height: 100vh !important;
  min-height: 640px !important;
}
/* スクロールフェーズ観測用のダミー要素は不要 */
.top-kv__phase0-observer,
.top-kv__phase1-observer,
.top-kv__phase2-observer,
.top-kv__scrollAttention,
.top-kv__scrollAttentionDots,
.top-kv__exit-lines {
  display: none !important;
}
/* fixed で全画面を覆う演出ラッパーを KV 内に閉じ込める */
.top-kv__logo-mark-observerWrapper,
.top-kv__buildings-observerWrapper {
  position: absolute !important;
}
/* 空のWebGLキャンバスは隠す */
.top-kv canvas {
  display: none !important;
}
/* スクロール後続フェーズ(中間コピー/最終画面)・装飾・WebGL空要素は静的化で重なるため非表示 */
.top-kv__copy,
.top-kv__last,
.top-kv__last-about,
.top-kv__circles-circle,
.top-kv__circles-arcs,
.top-kv__logo-mark-observerWrapper,
.top-kv__buildings-observerWrapper {
  display: none !important;
}
/* タイトル/本文/タグラインを表示状態で固定 */
.top-kv__visual,
.top-kv__title,
.top-kv__body,
.top-kv__description,
.top-kv__description-en,
.top-kv__bottom-tagline,
.top-kv__copy,
.top-kv__last {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  clip-path: none !important;
}
.top-kv__title svg,
.top-kv__logo-svg,
.top-kv__buildings-svg {
  opacity: 1 !important;
  visibility: visible !important;
}

/* --- 3. Splideカルーセル(voice等)を静的表示 --- */
.splide,
.splide__slide {
  opacity: 1 !important;
  visibility: visible !important;
}
.splide:not(.is-initialized) .splide__list {
  display: flex !important;
  gap: 24px !important;
  overflow-x: auto !important;
  scroll-snap-type: x mandatory !important;
}
.splide:not(.is-initialized) .splide__slide {
  scroll-snap-align: start !important;
}

/* --- 4. ローディングオーバーレイ(JSが消すはずの全画面固定layer)を除去 --- */
.loading,
.js-loading {
  display: none !important;
}

/* --- 5. ヒーロータイトル（SVGアウトライン文字→HTMLテキスト差替の見た目） --- */
.t-hero-title {
  display: block;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  font-size: clamp(30px, 3.4vw, 48px);
  font-weight: 600;
  line-height: 1.22;
  letter-spacing: 0.02em;
  color: var(--top-kv-color-black, #282727);
  white-space: nowrap;
}

/* --- 6. ヘッダー背景（元はJSでスクロール時に付与→JS除去のため常時付与） --- */
body > header,
header {
  background: rgba(255, 255, 255, 0.92) !important;
  -webkit-backdrop-filter: saturate(140%) blur(10px);
  backdrop-filter: saturate(140%) blur(10px);
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

/* --- 7. 念のため body 背景を本来の色に --- */
html, body { overflow-x: hidden; }
