:root {
  --wpg-primary: #294d6b;
  --wpg-accent: #b38b43;
  --wpg-bg: #f2f0ea;
  --wpg-surface: #fffef9;
  --wpg-text: #26333d;
  --wpg-border: #cbd1d5;
  --wpg-radius: 5px;
  --wpg-content-width: 1100px;
  --wpg-body-line-height: 1.8;
  --wpg-font-body: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  --wpg-font-heading: "Yu Mincho", "Hiragino Mincho ProN", serif;
}

* { box-sizing: border-box; }
body.wpg-public-site { margin: 0; color: var(--wpg-text); background: var(--wpg-bg); font-family: var(--wpg-font-body); line-height: var(--wpg-body-line-height); }
.wpg-skip-link { position: absolute; left: -9999px; top: 0; }
.wpg-skip-link:focus { left: 12px; top: 12px; z-index: 9999; padding: 10px 14px; background: var(--wpg-surface); }
.wpg-site-header { color: #fff; background: var(--wpg-primary); border-bottom: 4px solid var(--wpg-accent); }
.wpg-site-header__inner, .wpg-site-footer__inner { width: min(calc(100% - 36px), var(--wpg-content-width)); margin-inline: auto; }
.wpg-site-header__inner { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.wpg-site-brand a { color: inherit; font-weight: 700; text-decoration: none; letter-spacing: .08em; }
.wpg-primary-nav ul { display: flex; gap: 18px; list-style: none; margin: 0; padding: 0; }
.wpg-primary-nav a { color: inherit; }
.wpg-content { width: min(calc(100% - 36px), 760px); min-height: 60vh; margin: 64px auto; }
.wpg-entry { padding: clamp(24px, 5vw, 52px); background: var(--wpg-surface); border: 1px solid var(--wpg-border); border-radius: var(--wpg-radius); }
.wpg-entry + .wpg-entry { margin-top: 28px; }
.wpg-entry__title { margin-top: 0; color: var(--wpg-primary); font-family: var(--wpg-font-heading); }
.wpg-entry__title a { color: inherit; text-decoration: none; }
.wpg-site-footer { padding: 36px 0; color: #fff; background: var(--wpg-primary); }
@media (max-width: 700px) { .wpg-site-header__inner { align-items: flex-start; flex-direction: column; padding: 18px 0; } .wpg-primary-nav ul { flex-wrap: wrap; } .wpg-content { margin: 36px auto; } }

