/* =========================================================
   uplift.css — 品質向上レイヤー（最後に読み込む・生成り版）
   承認済みレシピ(color_lp_v2)の汎用部分のみ移植。
   正本 DESIGN_LAWS_DEEP.md 第0/9/17/18章 準拠。
   ========================================================= */

/* ---- 和文タイポ（プログレッシブ・非対応は無害） ---- */
h1, h2, h3, .h2, .h3, .lead, .fv__title, .fv__sub, .reason__t { text-wrap: pretty; }
@supports (text-autospace: normal) { body { text-autospace: normal; } }
@supports (text-spacing-trim: space-first) { .h2, .h3, .fv__title { text-spacing-trim: space-first; } }

/* ---- MPA クロスフェード（非対応は通常遷移＝無害） ---- */
@view-transition { navigation: auto; }

/* ---- モーション格上げ（reduced-motion 尊重） ---- */
@media (prefers-reduced-motion: no-preference) {
  .fv__media img { animation: kb 16s var(--ease) both; transform-origin: 80% 24%; }
  @keyframes kb { from { transform: scale(1.004); } to { transform: scale(1.05); } }
  @media (hover: hover) and (min-width: 1100px) { .wing__img { animation: kb 22s var(--ease) both; } }
  .reveal { transition-timing-function: var(--ease); }
  .btn__arrow { transition: transform 400ms var(--ease); display: inline-block; }
  .shop .btn:hover .btn__arrow, .menu a:hover .btn__arrow { transform: translateX(3px); }
}

/* ---- 余白リズム（下/外を厚く＝据わり／四辺均等を禁止） ---- */
.section {
  padding-top: clamp(56px, 13vw, 84px);
  padding-bottom: clamp(80px, 17vw, 116px);
  padding-inline: clamp(20px, 6vw, 30px);
}
.section__head { margin-bottom: clamp(30px, 8vw, 46px); }

/* ---- CTA の質感 ---- */
.btn { letter-spacing: .06em; }

/* ---- 角丸0・影なしの徹底（保険） ---- */
.btn, .wing__cta, .shop, .voice, .reasons, .check, .ba__media, .fv__media, .section--ink, .reason { border-radius: 0; box-shadow: none; }

/* ---- 10px撲滅：意味テキストは最低11px（tokens で --fs-note=11px 済／保険） ---- */
.note, .btn-note, .sticky__label, .foot__note, .ba__note, .menu__note { font-size: 11px; }
.cta2-head { font-size: 11.5px; }
.cta2 .btn span { font-size: 11px; }

/* ---- 詰まりの是正：小見出しと説明の区分けを明確に ---- */
.reason__t, .flow__t { margin-bottom: 5px; }
.reason__d, .flow__d { line-height: 1.9; }
