@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500&display=swap");

:root {
  --bg-dark: #0d1b2a;
  --bg-dark2: #1a2a3a;
  --accent: #7ab3c8;
  --accent-light: #a8d4f0;
  --text-light: #c8d8e4;
  --text-muted: #a0b8c8;
  --navy: #1a3a5c;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

body {
  font-family: "Noto Serif JP", "Yu Mincho", serif;
  font-weight: 300;
  color: var(--text-light);
  background: var(--bg-dark);
  line-height: 1.8;
  letter-spacing: 0.05em;
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; text-decoration: none; }
::selection { background: var(--accent); color: var(--bg-dark); }

.section { padding: 120px 20px; text-align: center; }
.container { max-width: 640px; margin: 0 auto; }
.label { font-size: 11px; letter-spacing: 0.3em; color: var(--accent); margin-bottom: 40px; }
.heading { font-size: clamp(18px, 3vw, 24px); font-weight: 200; letter-spacing: 0.15em; line-height: 2.4; color: #e8e4dc; }
.body-text { font-size: 14px; line-height: 2.6; color: var(--text-muted); }
.btn { border: 1px solid var(--accent); padding: 14px 36px; font-size: 13px; letter-spacing: 0.15em; color: var(--text-light); border-radius: 2px; display: inline-block; transition: all 0.3s; }
.btn:hover { background: rgba(122,179,200,0.1); }

@keyframes breathe {
  0%, 100% { transform: scale(1); opacity: 0.8; }
  50% { transform: scale(1.05); opacity: 1; }
}
