html {
  box-sizing: border-box;
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

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

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
li,
figure,
blockquote {
  margin: 0;
}

ul,
ol {
  padding: 0;
}

img,
picture,
svg,
canvas,
video {
  display: block;
  max-width: 100%;
}

button,
input,
textarea,
select {
  font: inherit;
  color: inherit;
}

button {
  cursor: pointer;
}

body {
  min-height: 100vh;
  margin: 0;
  text-rendering: optimizeLegibility;
  font-family: "Yu Gothic", "Hiragino Sans", "Noto Sans JP", sans-serif;
  line-height: 1.6;
}

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

:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}

:root {
  --font-sans: "Yu Gothic", "Hiragino Sans", "Noto Sans JP", sans-serif;
  --font-display: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;

  --color-bg: #120704;
  --color-surface: rgba(18, 21, 27, 0.48);
  --color-surface-strong: rgba(12, 14, 19, 0.7);
  --color-line: rgba(255, 255, 255, 0.18);
  --color-line-strong: rgba(255, 255, 255, 0.4);
  --color-text: #fff4ee;
  --color-text-soft: rgba(255, 248, 245, 0.84);
  --color-text-faint: rgba(255, 248, 245, 0.66);
  --color-accent: #ffb262;
  --color-accent-deep: #4e5666;

  --shadow-soft: 0 18px 40px rgba(0, 0, 0, 0.28);
  --shadow-strong: 0 28px 80px rgba(0, 0, 0, 0.38);

  --radius-soft: 1rem;
  --radius-card: 1.5rem;
  --blur-amount: 14px;
  --content-width: min(100% - 2rem, 74rem);
  --section-gap: clamp(1rem, 4vw, 2rem);
  --block-gap: clamp(0.75rem, 3vw, 1.25rem);
}

#news,
.global-nav a[href="#news"],
.footer-nav a[href="#news"] {
  display: none;
}
