/* =========================================================
   enhance.css — 全ページ共通の先進演出レイヤー
   - スクロールreveal / カードチルト&発光 / グラデ見出し
   - スクロール進捗バー / カウントアップ
   reduced-motion を尊重。既存レイアウトは一切変えない加算スタイル。
   ========================================================= */

/* ---- 全ページ共通：ロゴ透かし（固定・うっすら） ---- */
.enh-watermark{
  position:fixed;inset:0;z-index:1;pointer-events:none;
  background-image:url("assets/logo-mark.png");
  background-repeat:no-repeat;
  background-position:center 45%;
  background-size:min(620px,56vmin);
  opacity:.06;
}
.enh-watermark--light{opacity:.06}
@media (max-width:600px){
  .enh-watermark{background-size:76vmin;opacity:.07}
}

/* ---- スクロール進捗バー ---- */
.enh-progress{
  position:fixed;top:0;left:0;height:3px;width:100%;
  transform:scaleX(0);transform-origin:0 50%;
  background:linear-gradient(90deg,#1d4ed8,#3a82f1 45%,#22d3ee 75%,#06c755);
  z-index:9999;will-change:transform;
  box-shadow:0 0 12px rgba(58,130,241,.5);
}

/* ---- スクロール reveal ---- */
@media (prefers-reduced-motion: no-preference){
  .enh-reveal{
    opacity:0;transform:translateY(28px);
    transition:opacity .8s cubic-bezier(.22,.61,.36,1),
               transform .8s cubic-bezier(.22,.61,.36,1);
    transition-delay:var(--enh-delay,0ms);
    will-change:opacity,transform;
  }
  .enh-reveal.enh-in{opacity:1;transform:none}
}

/* ---- カードチルト + カーソル追従の発光 ---- */
@media (hover:hover) and (pointer:fine){
  .enh-tilt{
    position:relative;
    transform-style:preserve-3d;
    transition:transform .3s cubic-bezier(.22,.61,.36,1), box-shadow .3s ease;
    will-change:transform;
  }
  .enh-tilt::after{
    content:"";position:absolute;inset:0;border-radius:inherit;
    background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),
               rgba(58,130,241,.18), transparent 55%);
    opacity:0;transition:opacity .35s ease;pointer-events:none;z-index:0;
  }
  .enh-tilt:hover::after{opacity:1}
  .enh-tilt > *{position:relative;z-index:1}
  .enh-tilt.enh-tilting{box-shadow:0 28px 60px -22px rgba(11,21,48,.4), 0 0 0 1px rgba(58,130,241,.28)}
}

/* ---- グラデーション・アニメ見出し ---- */
@media (prefers-reduced-motion: no-preference){
  .enh-grad-blue, .enh-grad-light{
    background-size:220% auto;
    -webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;color:transparent;
    animation:enhShimmer 8s linear infinite;
  }
}
.enh-grad-blue{
  background-image:linear-gradient(90deg,#1d4ed8,#3a82f1,#22d3ee,#3a82f1,#1d4ed8);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.enh-grad-light{
  background-image:linear-gradient(90deg,#a8c4ff,#dbe7ff,#8fe3ff,#dbe7ff,#a8c4ff);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
@keyframes enhShimmer{to{background-position:220% center}}

/* ---- カウントアップ中は等幅で桁ブレ防止 ---- */
.enh-counting{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}
