/* ============================================================
   AI番頭 テンプレートA — 誠実・信頼型
   対象: 司法書士・弁護士（フォームプランまで）

   [トークン設計]
   カラー : ディープスレートブルー × アンティークゴールド × ストーンホワイト
   フォント: Noto Serif JP（見出し）× Noto Sans JP（本文）
   形状   : 角丸最小・縦グリッド・シャープ
   Signature: ゴールドのアクセントルール、セリフ見出し、重厚カード
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;600;700&family=Noto+Sans+JP:wght@400;500;600&display=swap');

:root {
  /* カラー */
  --color-primary:       #2D3B6B;
  --color-primary-light: #3D5090;
  --color-primary-rgb:   45, 59, 107;
  --color-accent:        #C4962E;
  --color-accent-dark:   #A87D22;
  --color-bg:            #F6F4F0;
  --color-surface:       #EDEAE4;
  --color-text:          #1C1C1C;
  --color-text-muted:    #6B6869;
  --color-border:        #D4D0C8;

  /* タイポグラフィ */
  --font-heading: 'Noto Serif JP', 'Georgia', 'YuMincho', serif;
  --font-body:    'Noto Sans JP', 'Hiragino Kaku Gothic ProN', sans-serif;
  --text-xs:      0.75rem;
  --text-sm:      0.875rem;
  --text-base:    1rem;
  --text-lg:      1.125rem;
  --text-xl:      1.25rem;
  --text-2xl:     1.5rem;
  --text-3xl:     2rem;
  --text-4xl:     2.75rem;
  --leading-heading: 1.3;
  --leading-body:    1.8;
  --weight-heading:  700;

  /* スペーシング */
  --section-py:       5rem;
  --container-width:  1080px;
  --container-px:     24px;
  --header-height:    72px;

  /* 形状（シャープ） */
  --radius-sm:   4px;
  --radius-btn:  4px;
  --radius-card: 6px;
  --radius-md:   8px;
  --radius-icon: 6px;

  /* シャドウ */
  --shadow-hover: 0 6px 24px rgba(45, 59, 107, 0.12);
}

/* ============================================================
   パターンA シグネチャ要素
   ============================================================ */

/* ヘッダー — ゴールドの下ボーダー */
.site-header {
  border-bottom: 2px solid var(--color-accent);
}

/* ロゴマーク */
.logo-mark {
  background: var(--color-primary);
  border-radius: 2px;
  letter-spacing: 0;
}

/* セクション見出し — ゴールドのアンダーライン */
.section-title {
  position: relative;
  padding-bottom: 1.25rem;
}
.section-title::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0;
  width: 40px; height: 3px;
  background: var(--color-accent);
}
.section-header.center .section-title::after {
  left: 50%;
  transform: translateX(-50%);
}

/* ヒーロー — ストーン背景、左ゴールドライン */
.hero {
  background: var(--color-surface);
  position: relative;
  overflow: hidden;
}
.hero::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 4px;
  background: linear-gradient(to bottom, var(--color-accent), var(--color-accent-dark));
}

/* ヒーロー headline — セリフ体 */
.hero-headline { font-weight: 700; }

/* サービスカード — ホバー時ゴールド左ボーダー */
.service-card { border-left: 3px solid transparent; transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s; }
.service-card:hover { border-left-color: var(--color-accent); }
.service-icon { background: var(--color-surface); color: var(--color-primary); font-size: 1.5rem; }

/* 料金テーブルヘッダー */
.pricing-row.header-row { background: var(--color-primary); }

/* 代表者紹介 — ゴールドバッジ */
.about .about-badge { border-color: var(--color-accent); color: var(--color-accent); }

/* アクセスセクション — ストーン背景 */
.access { background: var(--color-surface); }

/* テスティモニアル */
.testimonials { background: var(--color-surface); }
.testimonial-card { border-left: 3px solid var(--color-accent); }
.testimonial-quote-mark { color: var(--color-accent); }

/* ブログリンクバナー — ゴールドアクセント */
.blog-link-banner { background: var(--color-primary); }
.blog-link-banner p { color: rgba(255,255,255,0.8); }

/* フッター */
.site-footer { background: var(--color-primary); }

/* フッター上部ゴールドライン */
.footer-gold-line {
  height: 3px;
  background: linear-gradient(90deg, var(--color-accent) 0%, transparent 100%);
  margin-bottom: 3.5rem;
}

/* ボタン — シャープ角 */
.btn { border-radius: 4px; }

/* チャットウィジェット */
.chat-trigger { border-radius: 4px; }

/* Cookie バナー */
.cookie-banner { border-top: 3px solid var(--color-accent); }

/* フォームフォーカス */
.form-group input:focus,
.form-group textarea:focus {
  border-color: var(--color-primary);
}

/* 代表者写真 */
.photo-container {
  border-radius: 6px;
}
