/* ============================================================
   金継ぎ 追補CSS — AI × MONEY 特別対談LP
   本体（style.css）は1行も変更していません。
   このファイルを <head> の style.css より「後ろ」に読み込むだけで効きます。
   ============================================================ */

/* ------------------------------------------------------------
   1. 色の元栓 — 一点物の色25個を、既にある5本のトークンへ寄せる
   （:root に元からある --text / --muted / --teal / --teal-soft / --bg を使う。新色は作らない）
   ------------------------------------------------------------ */

/* 1-a. 明るい文字 → --text (#f1f8f7) */
.why-glance__intro strong,
.prose__emphasis,
.why-glance__points strong,
.change-map__node strong,
.event-details dd,
.signal-card__footer strong,
.hero__facts dd,
.button--ghost {
  color: var(--text);
}
.site-nav .nav-cta:hover,
.site-nav .nav-cta:focus-visible {
  color: var(--text);
}

/* 1-b. 淡い文字 → --muted (#afc3c4) */
.source-list a,
.event-panel__status p,
.change-map__life small,
.prose,
.definition p,
.for-you li,
.site-footer__inner,
.site-footer a,
.disclaimer,
.scroll-cue {
  color: var(--muted);
}

/* 1-c. 明るい面の上の暗い文字 → --panel-solid (#0b2831)
   （面の地と同じ1色にまとめる。ミント地の上で比 約9.9:1・床4.5をゆうに超える） */
.button--primary,
.event-details div:last-child .button,
.skip-link,
.trust-message__mark {
  color: var(--panel-solid);
}
::selection {
  color: var(--panel-solid);
}

/* 1-d. 面（カード・下敷き・小さな帯）の地を1本に
   節の地（.section--intro / --speakers / --sources の交互の帯）は
   セクションの拍なので触っていません。 */
.flow-visual,
.speaker-card__portrait--guest,
.speaker-card__portrait--bentec {
  background: var(--panel-solid);
}
.event-panel,
.speaker-card,
.change-map,
.signal-card,
.event-panel__status,
.change-map__node,
.speaker-card__portrait span {
  background-color: var(--panel-solid);
}
.speaker-card__portrait span {
  color: var(--text);
}

/* 1-e. ミントの寄せ — 罫線・飾りの元栓を2本（--line / --line-strong）に統一し、
   その2本を既存のアクセント2色と同じ色相にそろえる。新色は作らない。 */
:root {
  --line: rgba(163, 244, 228, 0.15);
  --line-strong: rgba(73, 225, 196, 0.32);
}
.section--intro,
.section--speakers,
.section--sources,
.flow-visual,
.signal-card__footer,
.why-glance,
.event-panel__status,
.change-map__node,
.site-nav .nav-cta {
  border-color: var(--line);
}
.button,
.signal-card,
.lens-card,
.change-map__life,
.event-details div:last-child {
  border-color: var(--line-strong);
}
.button--primary,
.button--primary:hover,
.button--primary:focus-visible,
.event-details div:last-child .button,
.event-details div:last-child .button:hover,
.event-details div:last-child .button:focus-visible {
  border-color: var(--teal);
}
.site-nav .nav-cta {
  background: rgba(73, 225, 196, 0.07);
}
.site-nav .nav-cta:hover,
.site-nav .nav-cta:focus-visible {
  background: rgba(73, 225, 196, 0.13);
}
.change-map__life span {
  color: var(--teal-soft);
}
.signal-card::before {
  background: linear-gradient(90deg, transparent, var(--teal-soft), transparent);
}

/* ------------------------------------------------------------
   2. 文字の段 — 役割ごとに1〜3段へ。最小は12px（9px・8pxを全廃）
   ------------------------------------------------------------ */

/* 2-a. 本文（p / li / dt）= 17 / 15 / 13 の3段 */
body {
  font-size: 17px;
}
.hero__lead,
.prose,
.for-you li,
.event-panel__intro p:last-child {
  font-size: 17px;
}
.trust-message p,
.hero__facts dd,
.event-details dd,
.split-heading__aside,
.fact-strip p,
.theme-row p,
.takeaway-card p,
.sources-lead,
.lens-card p:last-child,
.definition p,
.speaker-card__body p:last-child {
  font-size: 15px;
}
.eyebrow,
.section-index,
.hero__facts dt,
.event-details dt,
.event-details div:last-child dt,
.event-address,
.disclaimer,
.event-panel__status p,
.change-map__label,
.lens-card__label,
.speaker-card__role,
.for-you__label,
.site-footer__inner p {
  font-size: 13px;
}
.speaker-card__note,
.why-glance__intro p,
.why-prose__label {
  font-size: 13px !important; /* 本体の !important を上書きするため */
}

/* 2-b. ボタン・リンク（a / nav）= 15 / 13 の2段 */
.button {
  font-size: 15px;
}
.brand,
.site-nav,
.site-nav .nav-cta,
.source-list a,
.site-footer a {
  font-size: 13px;
}

/* 2-c. その他（div / span / strong）= 28 / 17 / 13 の3段 */
.change-map__life span {
  font-size: 28px;
}
.why-glance__intro strong,
.why-glance__points strong,
.change-map__node strong,
.signal-card__footer strong {
  font-size: 17px;
}
.flow-visual__legend,
.signal-card__topline,
.countdown,
.theme-row__number,
.theme-row__tag,
.trust-message__mark,
.definition__term,
.why-glance__points span,
.change-map__node span,
.fact-strip__number,
.takeaway-card > span,
.micro-label,
.speaker-card__portrait,
.speaker-card__portrait span,
.scroll-cue,
.speaker-join {
  font-size: 13px;
}

/* 2-d. 補足（small）= 1段 */
.why-glance__points small,
.change-map__life small {
  font-size: 13px;
}

/* 2-e. 見出し h2 = 2段 / h3 = 2段 */
.section-title,
.event-panel__intro h2 {
  font-size: clamp(34px, 4.7vw, 60px);
}
.sources-title {
  font-size: clamp(27px, 3.4vw, 42px);
}
.lens-card h3,
.definition h3,
.speaker-card__body h3,
.for-you h3,
.theme-row h3 {
  font-size: clamp(24px, 2.7vw, 34px);
}
.fact-strip h3,
.takeaway-card h3 {
  font-size: clamp(20px, 1.9vw, 24px);
}

/* ------------------------------------------------------------
   3. 角丸 — 4種（14 / 18 / 22 / 999）を3種へ
   ------------------------------------------------------------ */
.why-facts {
  border-radius: var(--radius);
}

/* ------------------------------------------------------------
   4. AIの既製品の型（型紙）を外す — CSSだけで外せる5つ
   ------------------------------------------------------------ */

/* 4-a. グラデ文字をやめて単色に（強調は色と太さで） */
.hero__title span,
.section-title span,
.event-panel__intro h2 span {
  background: none;
  color: var(--teal-soft);
  -webkit-text-fill-color: var(--teal-soft);
  animation: none;
}

/* 4-b. ガラス調（背景ぼかし）をやめて不透明の面に */
.site-header {
  background: var(--panel-solid);
  backdrop-filter: none;
}
.signal-card,
.flow-visual__legend {
  backdrop-filter: none;
}

/* 4-c. スクロールでふわっと出す演出を外す（43箇所すべてに掛かっていた） */
.reveal {
  opacity: 1;
  transform: none;
  transition: none;
}

/* 4-d. ヒーローの錠剤ラベルを、図の中の注記に格下げ */
.flow-visual__legend {
  border-radius: 0;
  border: 0;
  background: none;
  box-shadow: none;
  backdrop-filter: none;
  padding: 0;
  opacity: 1;
  color: var(--muted);
}

/* 4-e. 最初の画面のボタンは1つに。2つ目は文中リンクの見た目へ格下げ
   （DOMも行き先も変えていません。見た目だけ） */
.hero__actions .button--ghost {
  padding: 0;
  color: var(--teal-soft);
  background: none;
  border: 0;
  text-decoration: underline;
  text-underline-offset: 5px;
  min-height: 24px;
}
.hero__actions .button--ghost:hover,
.hero__actions .button--ghost:focus-visible {
  background: none;
  color: var(--text);
}

/* ------------------------------------------------------------
   5. 言葉の泣き別れ（「ニュース」が「ニ|ュース」で行またぎ）
   ------------------------------------------------------------ */
p,
li,
h2,
h3 {
  word-break: auto-phrase;
}

/* ------------------------------------------------------------
   6. 画素検査で出た床割れ 1件（390pxの「暮らし」の円の中の注記）
   地がミントの円で中間の明るさ → 文字を --text まで上げて比 3.55 → 6.0
   ------------------------------------------------------------ */
.change-map__life small {
  color: var(--text);
}

/* ------------------------------------------------------------
   7. 注記を段落に分けたことで、区切り線が3本に増えたのを1本へ戻す
   （2つ目以降の注記から上の罫線と余白を外す）
   ------------------------------------------------------------ */
.disclaimer + .disclaimer {
  margin-top: 14px;
  padding-top: 0;
  border-top: 0;
}

/* ============================================================
   第2便（2026-09-02）— 見立ての処方を本体に反映したぶんの見た目
   ============================================================ */

/* 8. 最初の画面「話すのは、この二人」 */
.hero-speakers {
  margin-top: 26px;
  padding-top: 22px;
  border-top: 1px solid var(--line);
}
.hero-speakers__label {
  margin: 0 0 12px;
  color: var(--muted);
  font-size: 13px;
  letter-spacing: 0.04em;
}
.hero-speakers__row {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 26px;
}
.hero-speakers__row a {
  display: flex;
  gap: 12px;
  align-items: center;
  min-height: 24px;
  color: var(--text);
  text-decoration: none;
}
.hero-speakers__row img {
  width: 52px;
  height: 52px;
  border-radius: var(--radius-inner);
  border: 1px solid var(--line);
  background: var(--panel-solid);
  object-fit: cover;
  object-position: center 30%;
}
.hero-speakers__row span {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
}
.hero-speakers__row small {
  color: var(--muted);
  font-size: 13px;
  font-weight: 400;
}
.hero-speakers__row a:hover span,
.hero-speakers__row a:focus-visible span {
  color: var(--teal-soft);
}

/* 9. 「分からないから」と判断を預けたときの話（本文と同じ扱い） */
.definition__note {
  margin: 14px 0 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.9;
}

/* 10. 参加費の下の、比較の一文 */
.event-note {
  display: inline-block;
  margin-top: 6px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.7;
}

/* 11. ページ末尾の申し込み導線 */
.final-cta {
  padding: clamp(30px, 5vw, 56px);
  text-align: center;
  background-color: var(--panel-solid);
  border: 1px solid var(--line-strong);
  border-radius: var(--radius);
}
.final-cta h2 {
  margin: 0 0 18px;
  font-size: clamp(27px, 3.4vw, 42px); /* .sources-title と同じ段に載せる（h2は2段まで） */
  line-height: 1.45;
}
.final-cta__facts {
  margin: 0 0 26px;
  color: var(--muted);
  font-size: 15px;
  line-height: 2;
}
.final-cta .button {
  justify-content: center;
  min-width: min(100%, 320px);
}
.final-cta__sub {
  margin: 30px 0 10px;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.9;
}
.final-cta__ig {
  display: inline-block;
  min-height: 24px;
  padding: 4px 0;
  color: var(--teal-soft);
  font-size: 15px;
  text-decoration: underline;
  text-underline-offset: 5px;
}
.final-cta__ig:hover,
.final-cta__ig:focus-visible {
  color: var(--text);
}
.section--final {
  padding-top: 0;
}

/* 12. 最初の画面に、日付・会場・参加費・ボタンまで収める（見立て問い6）
   ヒーローの上下の余白と見出しの最大サイズを詰める。文言は変えていない。 */
.hero {
  padding: 100px 0 72px;
}
.hero__title {
  font-size: clamp(40px, 4.9vw, 64px);
}
.hero__lead {
  margin-top: 20px;
}
.hero__facts {
  margin-top: 22px;
}
.trust-message {
  margin-top: 20px;
}
.hero__actions {
  margin-top: 22px;
}
.hero-speakers {
  margin-top: 22px;
  padding-top: 18px;
}

/* 13. 幅390pxで、ヒーローのリード文が床すれすれ（比4.49／床4.5）だったので
   既にある --text へ上げる。新しい色は作っていない。 */
.hero__lead {
  color: var(--text);
}

/* 14. 最初の画面の顔写真の切り抜き位置（顔が入るように） */
.hero-speakers__row a:first-child img {
  object-position: 50% 68%;
}
