/* Lumina Spark 共通ヘッダー / フッター（/hojokin/ と /claude-catalog/ で共有）
   ページ側のスタイルに影響されないよう .ls- 接頭辞で閉じている */
.ls-header,.ls-footer{--ls-bg:#041329;--ls-ink:#dbe4f4;--ls-mute:#8e9199;--ls-primary:#adc7ff;--ls-primary2:#4a8eff;
  font-family:Manrope,"Noto Sans JP",Inter,system-ui,-apple-system,"Hiragino Sans",sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}
.ls-header *,.ls-footer *{box-sizing:border-box}
.ls-header{position:relative;z-index:30;background:var(--ls-bg);box-shadow:0 8px 32px 0 rgba(4,19,41,.37)}
.ls-header__in{max-width:1440px;margin:0 auto;display:flex;align-items:center;gap:24px;padding:14px 24px}
.ls-logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}
.ls-logo__mark{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--ls-primary),var(--ls-primary2));color:#002e68}
.ls-logo__text{font-weight:800;font-size:1.2rem;letter-spacing:-.04em;
  background:linear-gradient(135deg,#adc7ff,#4a8eff);-webkit-background-clip:text;background-clip:text;color:transparent}
.ls-nav{display:flex;gap:26px;margin-left:auto;font-weight:500;font-size:.92rem;letter-spacing:-.01em}
.ls-nav a{color:#c1c7ce;text-decoration:none;padding:4px 0;border-bottom:2px solid transparent;white-space:nowrap;transition:color .2s}
.ls-nav a:hover{color:#fff}
.ls-nav a[aria-current="page"]{color:var(--ls-primary);border-bottom-color:var(--ls-primary)}
.ls-lang{display:flex;gap:6px;font-weight:700;font-size:.82rem;color:rgba(142,145,153,.5)}
.ls-lang a{color:var(--ls-mute);text-decoration:none}.ls-lang a:last-child{color:var(--ls-primary)}
.ls-footer{background:var(--ls-bg);color:var(--ls-mute);font-size:.85rem;margin-top:0}
.ls-footer__in{max-width:1280px;margin:0 auto;padding:44px 24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}
.ls-footer__name{color:var(--ls-primary);font-weight:900;letter-spacing:.18em;text-transform:uppercase;font-size:1.05rem;margin-bottom:8px}
.ls-footer__brand p{margin:0;max-width:280px}
.ls-footer__links{display:flex;flex-wrap:wrap;gap:10px 26px;font-size:.78rem}
.ls-footer__links a{color:var(--ls-mute);text-decoration:none;opacity:.85}.ls-footer__links a:hover{color:var(--ls-primary);opacity:1}
.ls-footer__copy{font-size:.75rem;opacity:.6}
@media (max-width:820px){
  .ls-header__in{flex-wrap:wrap;gap:8px 16px;padding:10px 14px}
  .ls-lang{margin-left:auto}
  .ls-nav{order:3;width:100%;margin-left:0;gap:20px;overflow-x:auto;scrollbar-width:none;font-size:.85rem}
  .ls-nav::-webkit-scrollbar{display:none}
  .ls-footer__in{flex-direction:column;text-align:center}
  .ls-footer__links{justify-content:center}
}
