/* ============================================================
   共通フッター（全ページ共通）
   マークアップは assets/site-footer.js が挿入します。
   フッターの見た目はこのファイルだけ直せば全ページに反映されます。
   ※ 色などのデザイントークン（--indigo-mid 等）は各ページの :root を参照します。
   ※ Entry ボタン（.entry-btn）のスタイルは assets/site-header.css にあります。
   ============================================================ */
.site-footer{ background:linear-gradient(180deg, var(--indigo-mid), var(--indigo-deep)); color:var(--on-dark); }
.footer__inner{ padding-block:clamp(40px,6vw,64px); }
.footer__top{ display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap; margin-bottom:clamp(32px,5vw,48px); padding-bottom:clamp(28px,4vw,40px); border-bottom:1px solid rgba(234,231,221,.12); }
.footer__brand{ display:flex; flex-direction:column; gap:.3rem; }
.footer__name{ font-family:var(--jp-serif); font-weight:700; font-size:1.2rem; letter-spacing:.08em; }
.footer__sub{ font-family:var(--latin); font-style:italic; letter-spacing:.18em; color:var(--on-dark-dim); }
.footer__cols{ display:grid; grid-template-columns:repeat(5,1fr); gap:24px; }
.footer__col{ display:flex; flex-direction:column; gap:.6rem; }
.footer__colhead{ font-family:var(--jp-serif); font-weight:700; font-size:.86rem; color:var(--honey); letter-spacing:.03em; margin-bottom:.2rem; }
.footer__col a{ font-size:.8rem; letter-spacing:.02em; color:var(--on-dark-dim); transition:color .25s ease; line-height:1.6; }
.footer__col a:hover, .footer__col a:focus-visible{ color:var(--honey-bright); }
.footer__base{ display:flex; align-items:center; justify-content:space-between; gap:1rem 1.6rem; flex-wrap:wrap; padding-block:1.4rem; border-top:1px solid rgba(234,231,221,.12); }
.footer__base small{ font-size:.72rem; letter-spacing:.06em; color:var(--on-dark-dim); }
.footer__base .base-links{ display:flex; align-items:center; gap:1.3rem; flex-wrap:wrap; }
.footer__base .base-links a{ font-size:.76rem; color:var(--on-dark-dim); transition:color .25s ease; }
.footer__base .base-links a:hover{ color:var(--honey-bright); }
@media(max-width:900px){ .footer__cols{ grid-template-columns:repeat(3,1fr); gap:28px 20px; } }
@media(max-width:620px){ .footer__cols{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:420px){ .footer__cols{ grid-template-columns:1fr; } }
