/* ============================================================
   article.css — 記事・固定ページ（プライバシーポリシー／運営者情報／
   お問い合わせ）用のスタイルシート。

   前提:
   - 必ず css/landing.css の「後」に読み込むこと（:root のトークンに依存する）。
   - 色・影・角丸・フォントは landing.css の :root トークンのみを参照し、
     このファイルでは値を直書きしない。
   - .stage / .phone / #demoScreen まわり（スマホデモ関連）はここでは
     一切スタイリングしない。記事ページはデモを使わないため。
   - 記事ページは js/landing.js を読み込まない（スクロールで .site-header に
     .scrolled を付与する仕組みが動かない）ため、ヘッダーの見た目を
     常時「スクロール後」の状態に固定する（下の HEADER セクション参照）。
   ============================================================ */

/* ------------------------------------------------------------
   HEADER（記事ページ用の上書き）
   landing.js が無いと .site-header は透明のままになり、下を流れる本文と
   重なって読みにくくなるため、常時 index.html の .scrolled 相当の
   見た目に固定する。値は :root のトークンのみを使う。
   ------------------------------------------------------------ */
.site-header{
  background:var(--bg);
  border-bottom-color:var(--line);
}

/* ------------------------------------------------------------
   ページ全体（1カラムの読み物レイアウト）
   本文の最大幅は 74ch・水平中央寄せ・左右に余白。
   ------------------------------------------------------------ */
.article-page{
  max-width:74ch;
  margin:0 auto;
  padding:clamp(32px,6vw,64px) clamp(20px,4vw,32px) clamp(56px,8vw,96px);
}

/* パンくず */
.breadcrumb{
  display:flex;flex-wrap:wrap;align-items:center;gap:.45em;
  font-family:var(--util);font-weight:500;font-size:.78rem;letter-spacing:.02em;
  color:var(--ink-faint);
  margin-bottom:2.4rem;
}
.breadcrumb a{
  color:var(--ink-soft);
  text-decoration:none;
  transition:color .2s;
}
.breadcrumb a:hover,
.breadcrumb a:focus-visible{
  color:var(--ink);
  text-decoration:underline;
}
.breadcrumb [aria-current="page"]{color:var(--ink-soft)}

/* ------------------------------------------------------------
   見出し
   ------------------------------------------------------------ */
.article h1{
  font-family:var(--ja);font-weight:900;
  font-size:clamp(1.6rem,1.6vw + 1.05rem,2.3rem);
  line-height:1.45;letter-spacing:.01em;
  color:var(--ink);
  margin:0 0 1.8rem;
}
.article h2{
  font-family:var(--ja);font-weight:700;
  font-size:clamp(1.15rem,.8vw + .95rem,1.4rem);
  line-height:1.55;
  color:var(--ink);
  margin:2.8rem 0 1.1rem;
  padding-top:1.6rem;
  border-top:1px solid var(--line);
}
.article h1 + h2,
.article .breadcrumb + h1 + h2{
  margin-top:2.8rem;
}
.article > h2:first-of-type{
  margin-top:2rem;
}
.article h3{
  font-family:var(--ja);font-weight:700;
  font-size:1.04rem;line-height:1.6;
  color:var(--ink);
  margin:1.9rem 0 .8rem;
}

/* ------------------------------------------------------------
   本文（段落・強調・リスト・定義リスト）
   読みやすさ優先で landing.css の body{line-height:1.85} を活かす。
   ------------------------------------------------------------ */
.article p{
  color:var(--ink-soft);
  margin:0 0 1.5rem;
}
.article strong{color:var(--ink);font-weight:700}

.article ul,
.article ol{
  color:var(--ink-soft);
  margin:0 0 1.5rem;
  padding-left:1.5em;
}
.article ul{list-style:disc}
.article ol{list-style:decimal}
.article li{margin-bottom:.55em}
.article li:last-child{margin-bottom:0}
.article li > ul,
.article li > ol{margin-top:.55em;margin-bottom:0}

.article dl{margin:0 0 1.5rem}
.article dt{
  font-family:var(--ja);font-weight:700;color:var(--ink);
  margin-top:1.1em;
}
.article dt:first-child{margin-top:0}
.article dd{
  margin:.35em 0 0;
  color:var(--ink-soft);
}

/* ------------------------------------------------------------
   テーブル
   ------------------------------------------------------------ */
.article table{
  width:100%;
  border-collapse:collapse;
  margin:0 0 1.6rem;
  font-size:.94rem;
}
.article caption{
  text-align:left;
  font-family:var(--util);font-size:.78rem;color:var(--ink-faint);
  margin-bottom:.6em;
}
.article th,
.article td{
  text-align:left;
  padding:.75em 1em;
  border-bottom:1px solid var(--line);
  color:var(--ink-soft);
  vertical-align:top;
}
.article th{
  color:var(--ink);
  font-weight:700;
  background:var(--surface);
}
.article tr:last-child td{border-bottom:1px solid var(--line)}

/* ------------------------------------------------------------
   引用・強調ボックス
   ------------------------------------------------------------ */
.article blockquote{
  margin:0 0 1.6rem;
  padding:1em 1.3em;
  border-left:3px solid var(--ink-faint);
  border-radius:0 var(--r-btn) var(--r-btn) 0;
  background:var(--surface);
  color:var(--ink-soft);
}
.article blockquote p{margin:0}
.article blockquote p + p{margin-top:.8em}

/* ------------------------------------------------------------
   本文リンク
   ------------------------------------------------------------ */
.article a{
  color:var(--ink);
  text-decoration-line:underline;
  text-decoration-color:var(--ink-faint);
  text-underline-offset:.15em;
  transition:color .2s,text-decoration-color .2s;
}
.article a:hover,
.article a:focus-visible{
  color:var(--ink);
  text-decoration-color:var(--ink);
}

/* メールアドレスなど、本文中でボタン的に押してほしいリンク（例: お問い合わせページ） */
.article .mail-cta{
  display:inline-flex;align-items:center;gap:.55em;
  font-family:var(--ja);font-weight:700;font-size:1rem;
  padding:.85em 1.6em;
  border-radius:var(--r-btn);
  background:var(--surface);color:var(--ink);
  box-shadow:var(--raise-sm);
  text-decoration:none;
  transition:transform .25s var(--ease),box-shadow .25s;
}
.article .mail-cta:hover{transform:translateY(-2px)}
.article .mail-cta:active{box-shadow:var(--inset-sm);transform:none}
.article .mail-cta:focus-visible{text-decoration:none}

/* ------------------------------------------------------------
   最終更新日
   ------------------------------------------------------------ */
.updated-date{
  margin-top:3.2rem;
  padding-top:1.5rem;
  border-top:1px solid var(--line);
  font-family:var(--util);font-size:.82rem;color:var(--ink-faint);
}

/* ------------------------------------------------------------
   レスポンシブ（狭い画面で余白を詰める）
   ------------------------------------------------------------ */
@media(max-width:560px){
  .article-page{
    padding-left:20px;
    padding-right:20px;
  }
  .article h1{margin-bottom:1.3rem}
  .article h2{margin-top:2.2rem;padding-top:1.2rem}
  .article blockquote{padding:.9em 1em}
  .article th,
  .article td{padding:.6em .7em;font-size:.88rem}
  .breadcrumb{margin-bottom:1.8rem}
}
