:root {
  --cb-bg: #050706;
  --cb-bg-soft: #0a0e0d;
  --cb-panel: #0d1210;
  --cb-gold: #b99556;
  --cb-gold-bright: #d8bc7b;
  --cb-ivory: #eee5d1;
  --cb-muted: #aaa28f;
  --cb-line: rgba(185, 149, 86, .32);
  --cb-line-soft: rgba(238, 229, 209, .12);
  --cb-serif: "Yu Mincho", "Hiragino Mincho ProN", "Times New Roman", serif;
  --cb-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans JP", sans-serif;
  --cb-container: 1180px;
  --cb-header: 70px;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--cb-bg); }
body { margin: 0; min-width: 320px; color: var(--cb-ivory); background: var(--cb-bg); font-family: var(--cb-sans); font-size: 16px; line-height: 1.75; -webkit-font-smoothing: antialiased; }
body.admin-bar { --wp-adminbar: 32px; }
@media (max-width: 782px) { body.admin-bar { --wp-adminbar: 46px; } }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
ul, ol { margin: 0; padding: 0; list-style: none; }
h1, h2, h3, p, figure, dl, dd { margin: 0; }
:focus-visible { outline: 2px solid var(--cb-gold-bright); outline-offset: 4px; }
::selection { color: var(--cb-bg); background: var(--cb-gold-bright); }
.c-skip-link { position: fixed; top: -100px; left: 12px; z-index: 9999; padding: 10px 14px; color: #000; background: var(--cb-gold-bright); }
.c-skip-link:focus { top: 12px; }
