/* =====================================================================
   site-nav.css — 全ページ共通ヘッダー（.snav）単一実装
   旧4系統(.nav / .blognav / .unav-bar / header.site)を .snav へ統一。
   各ページの <head> 末尾で読み込む（新名前空間のため競合なし）。
   ===================================================================== */

.snav{
  display:block; padding:0;       /* 旧ページの素の nav{} 規則による汚染を無効化 */
  position:fixed; top:0; left:0; width:100%; z-index:1000;
  background:rgba(247,245,239,.92);
  -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(14,34,51,.13);
  transition:background .3s, box-shadow .3s;
}
.snav.scrolled{ background:rgba(247,245,239,.97); box-shadow:0 6px 24px rgba(14,34,51,.07); }
.snav-in{
  max-width:1140px; margin:0 auto; height:58px; padding:0 28px;
  display:flex; align-items:center; justify-content:space-between; gap:20px;
}
/* 固定ヘッダー分のスペーサー（sticky だったページ用） */
.snav-spacer{ height:58px; }

.snav-logo{
  font-family:'Outfit','Noto Sans JP',sans-serif; font-weight:800; font-size:1.3rem;
  line-height:1; color:#0E2233; text-decoration:none; letter-spacing:.04em; flex-shrink:0;
}
.snav-logo span{ color:#C5963A; }

.snav-links{ display:flex; align-items:center; gap:22px; list-style:none; margin:0; padding:0; }
.snav-links a{
  font-family:'Noto Sans JP',sans-serif; font-size:.85rem; font-weight:600;
  color:#586677; text-decoration:none; letter-spacing:.02em; white-space:nowrap;
  transition:color .2s; position:relative;
}
.snav-links a:not(.snav-cta):hover,
.snav-links a.active:not(.snav-cta){ color:#0E2233; }
.snav-links a:not(.snav-cta)::after{
  content:""; position:absolute; left:0; bottom:-6px; height:2px; width:0;
  background:#C5963A; transition:width .25s;
}
.snav-links a:not(.snav-cta):hover::after,
.snav-links a.active:not(.snav-cta)::after{ width:100%; }

.snav-cta{
  background:#C5963A; color:#0E2233 !important; padding:9px 18px;
  border-radius:2px; font-weight:800; transition:background .2s;
}
.snav-cta:hover{ background:#E0BC6B; }

.snav-burger{
  display:none; flex-direction:column; justify-content:center; gap:5px;
  width:34px; height:30px; background:none; border:0; cursor:pointer; padding:0;
}
.snav-burger span{ display:block; width:24px; height:2px; background:#0E2233; border-radius:2px; transition:transform .3s, opacity .3s; }

@media(max-width:920px){
  .snav-burger{ display:flex; }
  .snav-links{
    position:fixed; top:58px; left:0; right:0;
    flex-direction:column; align-items:stretch; gap:2px;
    background:#F7F5EF; padding:12px 22px 22px;
    border-bottom:1px solid rgba(14,34,51,.13);
    box-shadow:0 18px 34px rgba(14,34,51,.12);
    transform:translateY(-140%); transition:transform .34s cubic-bezier(.4,0,.2,1);
    max-height:calc(100vh - 58px); overflow-y:auto;
  }
  .snav.open .snav-links{ transform:translateY(0); }
  .snav-links a{ font-size:1rem; padding:13px 6px; }
  .snav-links a:not(.snav-cta){ border-bottom:1px solid rgba(14,34,51,.07); }
  .snav-links a:not(.snav-cta)::after{ display:none; }
  .snav-cta{ text-align:center; margin-top:10px; padding:13px; }
  .snav.open .snav-burger span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  .snav.open .snav-burger span:nth-child(2){ opacity:0; }
  .snav.open .snav-burger span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
}

/* ===== Hero eyebrow：ai-training の金リード線（全ページ共通・安全な追加） ===== */
.hero .eyebrow, .page-hero .eyebrow, .hero-in .eyebrow{
  display:inline-flex; align-items:center; gap:13px; font-style:normal;
}
.hero .eyebrow::before, .page-hero .eyebrow::before, .hero-in .eyebrow::before{
  content:""; width:32px; height:1px; background:#C5963A; flex:0 0 auto;
}
.hero h1 em, .hero h1 .accent, .hero h1 .pop{ color:#E0BC6B; font-style:normal; }
