/* 色・書体・リセット・外枠を定義する基礎層。 */
/* 全CSSの先頭で読み込み、後続ファイルはこのトークンを使う。 */

:root {
  --paper: #faf6ef;
  --ink: #3b2c22;
  --ink-soft: #6f5a49;
  --gold: #b88432;
  --champagne-gold: #d8bc72;
  --champagne-gold-soft: rgba(216, 188, 114, 0.24);
  --line: rgba(59, 44, 34, 0.22);
  --theme-morning: #faf6ef;
  --theme-daylight: #dce6d7;
  --theme-golden: #875943;
  --theme-night: #111722;
  --night-paper: #f8eee1;
  --gutter: clamp(1.25rem, 4vw, 3.5rem);
  --space-section: clamp(5.5rem, 10vw, 9rem);
  --ease-light: cubic-bezier(.22, 1, .36, 1);
  --shine-duration: 1.9s;
  --hover-light-duration: 1.58s;
  --photo-hover-in-duration: 0.52s;
  --photo-hover-out-duration: 1.24s;
  --font-serif: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", Georgia, serif;
  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  background: var(--paper);
  color: var(--ink);
  scroll-behavior: smooth;
  scroll-padding-top: 5rem;
}

html,
body {
  margin: 0;
  overflow-x: clip;
}

body {
  background: transparent;
  font-family: var(--font-sans);
  font-size: 16px;
  isolation: isolate;
  line-height: 1.9;
  text-rendering: optimizeLegibility;
}

main {
  display: block;
}

img,
svg {
  display: block;
}

img {
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  color: inherit;
  font: inherit;
}

h1,
h2,
h3,
p,
figure {
  margin: 0;
}

h1,
h2,
h3 {
  font-family: var(--font-serif);
  font-weight: 500;
  letter-spacing: 0.035em;
  line-height: 1.45;
}

h1 {
  font-size: clamp(2.125rem, 5vw, 3.75rem);
}

h2 {
  font-size: clamp(1.75rem, 3.4vw, 2.5rem);
}

h3 {
  font-size: 1.125rem;
}

ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

.inner {
  /* ページ全体の整列軸を1120pxに保つ唯一の外枠max-width。削除禁止。 */
  margin-inline: auto;
  max-width: 1120px;
  padding-inline: var(--gutter);
}

.section-space {
  padding-block: var(--space-section);
}

.eyebrow {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.75rem;
  letter-spacing: 0.23em;
  line-height: 1.5;
}

::selection {
  background: #dec18f;
  color: var(--ink);
}
