/* =========================================================
   01 Design Tokens
========================================================= */

:root {
  --m-font-sans: "Urbanist", sans-serif;
  --m-font-serif: "Noto Serif JP", serif;
  --m-fw-light: 300;
  --m-fw-regular: 400;
  --m-fw-semibold: 600;
  --m-fw-bold: 700;
  --color-black: #000000;
  --color-white: #ffffff;
  --btn-border-dark: #231815;
  --btn-border-light: #f2f2f2;

  --layout-max-width: 1600px;
  --layout-side-padding: 8vw;
}

/* =========================================================
   02 Foundation
========================================================= */

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

body {
  font-family: var(--m-font-serif);
  font-weight: var(--m-fw-regular);
  color: #231815;
}

:where(h1, h2, h3, h4, h5, h6) {
  border: 0;
  background: none;
  box-shadow: none;
  text-decoration: none;
  padding: 0;
}

:where(h1, h2, h3, h4, h5, h6)::before,
:where(h1, h2, h3, h4, h5, h6)::after {
  content: none;
  display: none;
}

h2:where(:not(.wp-block-post-title)),
.entry-title--post-type--page {
  border: 0;
  padding: 0;
}

/* =========================================================
   03 Layout
========================================================= */

.site-body-container.container,
.container,
.container-fluid,
.container-lg,
.container-md,
.container-sm,
.container-xl {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.site-body .entry-body > * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.entry-body > section {
  margin: 0;
}

.site-body-container {
  padding-top: 0;
  padding-bottom: 0;
}

.l-inner {
  width: min(100% - (var(--layout-side-padding) * 2), var(--layout-max-width));
  margin-inline: auto;
}

.l-section {
  padding-block: clamp(4rem, 8vw, 8rem);
}

/* =========================================================
   04 Typography
========================================================= */

.t-display { font-size: clamp(2.4rem, 4vw, 4rem); line-height: 1.2; letter-spacing: 0.02em; }
.t-section-title { font-size: clamp(1.8rem, 2.5vw, 2.4rem); line-height: 1.3; letter-spacing: 0.04em; }
.t-article-title { font-size: clamp(1rem, 1.4vw, 1.4rem); line-height: 1.5; }
.t-meta { font-family: var(--m-font-sans); font-size: clamp(0.7rem, 0.9vw, 0.85rem); letter-spacing: 0.05em; }
.t-body { font-size: clamp(0.9rem, 1vw, 1rem); line-height: 1.8; }
.t-button { font-size: clamp(0.75rem, 1vw, 0.95rem); line-height: 1; }
.t-nav { font-family: var(--m-font-sans); font-size: clamp(0.75rem, 0.9vw, 0.9rem); }