/* ===== PC ヘッダー: 浮いたガラスのカプセル型（1024px以上） =====
   - ロゴの横に SANRECO の文字
   - メニューはホバーでグラデーションの下線、今いるセクションは光る点で表示（.is-current は JS が付ける）
   - お問い合わせは光が走るグラデーションのボタン
   スマホ・タブレットの見た目は変えない。 */
@media (min-width: 1024px) {
  .site-header {
    top: 14px !important; left: 24px !important; right: 24px !important; width: auto !important;
    height: 68px; padding: 0 10px 0 12px !important; border-radius: 999px !important;
    background: linear-gradient(120deg, rgba(10, 16, 36, .62), rgba(16, 24, 52, .5)) !important;
    -webkit-backdrop-filter: blur(18px) saturate(160%); backdrop-filter: blur(18px) saturate(160%);
    border: 1px solid rgba(255, 255, 255, .12) !important;
    box-shadow: 0 18px 40px -22px rgba(0, 0, 0, .7), inset 0 1px 0 rgba(255, 255, 255, .08) !important;
    transition: top .35s ease, background .35s ease, box-shadow .35s ease;
  }
  /* カプセルの下の縁に、光の線（すりガラスの上で描き直しが続かないよう、動かさない） */
  .site-header::after {
    content: ""; position: absolute; left: 28px; right: 28px; bottom: -1px; height: 1px; border-radius: 1px; pointer-events: none;
    background: linear-gradient(90deg, transparent, #22d3ee 20%, #a78bfa 50%, #f472b6 80%, transparent);
    opacity: .75;
  }
  .site-header.scrolled {
    top: 8px !important;
    background: linear-gradient(120deg, rgba(8, 12, 28, .86), rgba(14, 20, 44, .8)) !important;
    box-shadow: 0 20px 44px -20px rgba(0, 0, 0, .85), inset 0 1px 0 rgba(255, 255, 255, .08) !important;
  }

  /* ロゴ＋SANRECO の文字 */
  .site-header .logo { width: 46px !important; height: 46px !important; flex: none; }
  .site-header .logo img { width: 46px !important; height: 46px !important; border-radius: 12px; }
  .site-header .m-brand { display: flex !important; flex-direction: column; justify-content: center; gap: 3px; margin: 0 auto 0 12px; text-decoration: none; }
  .site-header .m-brand-name { font: 700 19px/1 var(--font-en-display, "Space Grotesk", sans-serif); letter-spacing: .32em; color: #fff; }
  .site-header .m-brand-sub { display: flex !important; align-items: center; gap: 6px; font-size: 11px; font-weight: 700; letter-spacing: .08em; color: rgba(226, 232, 240, .72); }
  .site-header .m-brand-sub i { width: 6px; height: 6px; border-radius: 50%; background: #22d3ee; box-shadow: 0 0 8px #22d3ee; }
  .site-header .m-head-cta { display: none !important; }

  /* メニュー */
  .site-header .site-nav { gap: 4px !important; align-items: center; }
  .site-header .site-nav > a:not(.nav-cta-btn) {
    position: relative; padding: 10px 14px !important; border-radius: 999px; font-size: 14.5px !important; font-weight: 700 !important;
    letter-spacing: .06em; color: rgba(226, 232, 240, .78) !important; text-decoration: none; transition: color .25s, background .25s;
  }
  .site-header .site-nav > a:not(.nav-cta-btn)::after {
    content: ""; position: absolute; left: 14px; right: 14px; bottom: 4px; height: 2px; border-radius: 2px;
    background: linear-gradient(90deg, #22d3ee, #a78bfa, #f472b6); transform: scaleX(0); transition: transform .3s cubic-bezier(.2, .8, .2, 1);
  }
  .site-header .site-nav > a:not(.nav-cta-btn):hover { color: #fff !important; background: rgba(255, 255, 255, .06); }
  .site-header .site-nav > a:not(.nav-cta-btn):hover::after { transform: scaleX(1); }
  /* 今いるセクション: 文字を白く、上に光る点 */
  .site-header .site-nav > a.is-current { color: #fff !important; }
  .site-header .site-nav > a.is-current::before {
    content: ""; position: absolute; left: 50%; top: 2px; width: 5px; height: 5px; margin-left: -2.5px; border-radius: 50%;
    background: #22d3ee; box-shadow: 0 0 10px 2px rgba(34, 211, 238, .8);
  }
  .site-header .site-nav > a.is-current::after { transform: scaleX(1); opacity: .9; }

  /* LABの専門サイト: グラデーションの縁取り */
  .site-header .nav-dropdown { margin-left: 10px; padding-left: 14px; border-left: 1px solid rgba(255, 255, 255, .12); }
  .site-header .nav-dropdown-trigger {
    padding: 10px 18px !important; border-radius: 999px !important; font-size: 14px !important; font-weight: 800 !important; letter-spacing: .04em; color: #fff !important;
    border: 1.5px solid transparent !important;
    background: linear-gradient(rgba(12, 18, 40, .9), rgba(12, 18, 40, .9)) padding-box, linear-gradient(120deg, #22d3ee, #a78bfa, #f472b6) border-box !important;
    box-shadow: none !important; transition: box-shadow .25s;
  }
  .site-header .nav-dropdown-trigger:hover { box-shadow: 0 0 18px -2px rgba(167, 139, 250, .6) !important; }

  /* お問い合わせ: 光が走るグラデーションのボタン */
  .site-header .nav-dropdown-trigger, .site-header .nav-cta-btn { white-space: nowrap; }
  .site-header .nav-cta-btn {
    position: relative; overflow: hidden; margin-left: 8px; padding: 12px 24px !important; border-radius: 999px !important;
    font-size: 14.5px !important; font-weight: 900 !important; letter-spacing: .06em; color: #fff !important; text-decoration: none;
    background: linear-gradient(120deg, #06b6d4 0%, #7c3aed 55%, #db2777 100%) !important; background-size: 160% 100% !important;
    box-shadow: 0 10px 24px -10px rgba(124, 58, 237, .9), inset 0 1px 0 rgba(255, 255, 255, .25) !important;
    transition: background-position .5s ease, transform .25s, box-shadow .25s;
  }
  .site-header .nav-cta-btn::after {
    content: ""; position: absolute; top: 0; bottom: 0; left: -60%; width: 40%; transform: skewX(-20deg); pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .45), transparent); animation: hd-shine 4.5s ease-in-out infinite;
  }
  @keyframes hd-shine { 0%, 70% { left: -60%; } 100% { left: 130%; } }
  .site-header .nav-cta-btn:hover { background-position: 100% 0 !important; transform: translateY(-1px); box-shadow: 0 14px 28px -10px rgba(219, 39, 119, .9), inset 0 1px 0 rgba(255, 255, 255, .25) !important; }
}
@media (min-width: 1024px) and (max-width: 1319px) {
  /* 狭いPC: SANRECO の文字は省いてロゴだけにし、ボタンを1行に収める */
  .site-header .m-brand { display: none !important; }
  .site-header .site-nav { margin-left: auto; }
  .site-header .nav-dropdown { margin-left: 4px; padding-left: 8px; }
  .site-header .nav-dropdown-trigger { padding: 9px 14px !important; font-size: 13px !important; }
  .site-header .nav-cta-btn { margin-left: 4px; padding: 11px 18px !important; font-size: 13.5px !important; }
  .site-header .site-nav > a:not(.nav-cta-btn) { padding: 10px 10px !important; font-size: 13.5px !important; }
  .site-header .site-nav > a:not(.nav-cta-btn)::after { left: 10px; right: 10px; }
}
@media (min-width: 1024px) and (prefers-reduced-motion: reduce) {
  .site-header .nav-cta-btn::after { animation: none; }
}

/* ===== ブランド（ロゴ＋SANRECO）: スタイリッシュに、SANRECO に数秒おきのグリッチ（スマホ・PC共通） ===== */
.site-header .m-brand-name {
  position: relative; display: inline-block; font-family: var(--font-en-display, "Space Grotesk", sans-serif) !important; font-weight: 700 !important;
  letter-spacing: .3em !important; color: #fff !important;
  text-shadow: 0 0 12px rgba(34, 211, 238, .35); animation: br-glitch 4.2s steps(1) infinite;
}
.site-header .m-brand-name::before,
.site-header .m-brand-name::after { content: attr(data-text); position: absolute; inset: 0; pointer-events: none; opacity: 0; text-shadow: none; }
.site-header .m-brand-name::before { color: #22d3ee; animation: br-glitch-a 4.2s steps(1) infinite; }
.site-header .m-brand-name::after  { color: #f472b6; animation: br-glitch-b 4.2s steps(1) infinite; }
@keyframes br-glitch {
  0%, 88%, 100% { transform: none; }
  89% { transform: translate(-1px, 0) skewX(-8deg); }
  91% { transform: translate(2px, 0); }
  93% { transform: translate(-1px, 0) skewX(5deg); }
  95% { transform: none; }
}
@keyframes br-glitch-a {
  0%, 88%, 96%, 100% { opacity: 0; transform: none; clip-path: inset(0 0 0 0); }
  89% { opacity: .9; transform: translate(-3px, 0); clip-path: inset(0 0 60% 0); }
  91% { opacity: .9; transform: translate(3px, 0);  clip-path: inset(55% 0 10% 0); }
  93% { opacity: .9; transform: translate(-2px, 0); clip-path: inset(25% 0 45% 0); }
}
@keyframes br-glitch-b {
  0%, 88%, 96%, 100% { opacity: 0; transform: none; clip-path: inset(0 0 0 0); }
  89% { opacity: .9; transform: translate(3px, 0);  clip-path: inset(50% 0 15% 0); }
  91% { opacity: .9; transform: translate(-3px, 0); clip-path: inset(10% 0 70% 0); }
  93% { opacity: .9; transform: translate(2px, 0);  clip-path: inset(70% 0 0 0); }
}
.site-header .m-brand-sub { font-size: 10.5px !important; font-weight: 600 !important; letter-spacing: .14em !important; color: rgba(226, 232, 240, .62) !important; }
.site-header .m-brand-sub i { width: 5px !important; height: 5px !important; background: #f43f5e !important; box-shadow: 0 0 8px #f43f5e !important; }
/* ロゴ: 角を少し締めて、細い光の縁取り */
.site-header .logo img { border-radius: 12px !important; box-shadow: 0 0 0 1px rgba(255, 255, 255, .22), 0 6px 16px -6px rgba(34, 211, 238, .55) !important; }
@media (min-width: 1024px) {
  .site-header .logo, .site-header .logo img { width: 42px !important; height: 42px !important; }
  /* ロゴと文字の間に細い仕切り線 */
  .site-header .m-brand { position: relative; margin-left: 14px !important; padding-left: 14px; }
  .site-header .m-brand::before { content: ""; position: absolute; left: 0; top: 4px; bottom: 4px; width: 1px; background: linear-gradient(180deg, transparent, rgba(255, 255, 255, .3), transparent); }
  .site-header .m-brand-name { font-size: 17px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .site-header .m-brand-name, .site-header .m-brand-name::before, .site-header .m-brand-name::after { animation: none; }
}

/* 「LABの専門サイト」メニュー上の案内文をコンパクトに（1行・小さめ・暗い背景でも読める色） */
.nav-dropdown-note { margin: 0 0 4px !important; padding: 2px 12px 6px !important; font-size: 11px !important; line-height: 1.5 !important;
  letter-spacing: .02em; white-space: nowrap; color: rgba(226, 232, 240, .62) !important; border-bottom: 1px solid rgba(255, 255, 255, .08) !important; }
