/* ヘッダー・フッター・セクションの骨格 */

/* ===== ヘッダー ===== */
.site-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 22px var(--gutter);
  border-bottom: 1px solid var(--border-light);
  background: var(--surface);
  width: 100%;
  max-width: var(--page-max);
  margin-inline: auto;
}

.site-header__logo { display: flex; flex-direction: column; gap: 5px; flex-shrink: 0; }

.site-header__logo-text {
  font-family: var(--font-serif);
  font-size: 23px;
  letter-spacing: .24em;
  color: var(--gold);
}

.site-header__logo-rule { width: 88px; height: 1px; background: var(--gold); }

.site-header__nav {
  display: flex;
  align-items: center;
  gap: 28px;
  font-size: 13px;
  color: var(--text-body);
  min-width: 0;
}

.site-header__actions { display: flex; align-items: center; gap: 20px; flex-shrink: 0; }

.site-header__member {
  font-size: 12.5px;
  color: var(--text-muted);
  border-bottom: 1px solid var(--border-cool);
  padding-bottom: 2px;
}

.site-header__cta {
  font-size: 13px;
  color: var(--surface);
  background: var(--ink);
  padding: 12px 22px;
  letter-spacing: .04em;
  white-space: nowrap;
}
.site-header__cta:hover { color: var(--surface); background: var(--text-strong); }

/* ハンバーガー。1024px以下でのみ出す */
.site-header__toggle { display: none; }
.site-header__drawer { display: none; }

/* ===== フッター ===== */
.site-footer {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 48px;
  padding: 48px var(--gutter);
  background: var(--ink);
  color: var(--on-ink);
  width: 100%;
  max-width: var(--page-max);
  margin-inline: auto;
}

.site-footer__brand { display: flex; flex-direction: column; gap: 8px; }

.site-footer__brand-name {
  font-family: var(--font-serif);
  font-size: 19px;
  letter-spacing: .24em;
  color: var(--on-ink-strong);
}

.site-footer__brand-rule { width: 88px; height: 1px; background: var(--gold-light); }

.site-footer__brand-tagline { font-size: 12px; line-height: 2; margin-top: 10px; }

.site-footer__links { display: flex; gap: 40px; font-size: 12.5px; flex-wrap: wrap; }
.site-footer__links a { color: var(--on-ink); }
.site-footer__links a:hover { color: var(--gold-light); }

/* 原稿待ちページの本文 */
.stub { padding: 96px var(--gutter) 160px; display: flex; flex-direction: column; gap: 20px; }
.stub h1 { font-size: 30px; }
.stub__rule { width: 56px; height: 1px; background: var(--gold); }
.stub p { font-size: 14.5px; color: var(--text-muted); max-width: 560px; }
