/* 媒体TOP：Figma 436:761（1440）／436:762（390）、catch-v3。 */
.page-home, .magazine-header { --magazine-paper: #f8f9f4; }
.page-home main { background: var(--magazine-paper); }

/* 共通媒体ヘッダー。号TOPの .site-header には適用しない。 */
.magazine-header { height: 120px; padding: 0 48px; color: var(--ink); background: var(--magazine-paper); }
.magazine-header-inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: 'identity social'; align-items: center; gap: 24px; height: 100%; }
.magazine-identity { grid-area: identity; display: flex; align-items: center; gap: 24px; min-width: 0; }
.magazine-header .brand--magazine { width: 148px; height: 88px; }
.magazine-header .brand-mark { width: 148px; height: auto; }
.magazine-header-concept { margin: 0; font-size: 14px; font-weight: 700; line-height: 24px; white-space: nowrap; }
.magazine-header .header-social { grid-area: social; }

/* 写真だけを背景面に固定し、文字は通常フローで高さを確保する。 */
.mag-current { position: relative; isolation: isolate; min-height: 780px; padding: 186px 48px 122px; color: var(--footer-content); background: var(--ink); }
.mag-current-photo, .mag-current-shade { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; }
.mag-current-photo { object-fit: cover; object-position: center; }
.mag-current-shade { background: linear-gradient(to bottom, rgba(8, 26, 41, 0.05), rgba(8, 26, 41, 0.12) 36%, rgba(8, 26, 41, 0.91)); }
.mag-cover-content { display: flex; flex-direction: column; align-items: flex-start; gap: 48px; width: min(960px, 100%); }
.mag-cover-heading { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; width: 100%; }
.mag-current-label { display: inline-flex; align-items: center; min-height: 32px; margin: 0; padding: 0 16px; background: var(--sky); color: var(--ink); font-size: 13px; font-weight: 700; line-height: 24px; }
.mag-issue-name { width: 100%; margin: 0; font-family: var(--font-en); font-size: 64px; font-weight: 900; font-style: italic; line-height: 80px; white-space: nowrap; }
.mag-cover-action { display: flex; flex-direction: column; align-items: flex-start; gap: 48px; width: 100%; }
.mag-current-title { margin: 0; font-size: 60px; font-weight: 900; line-height: 92px; }
.mag-issue-cta { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: space-between; width: 256px; min-height: 64px; padding: 0 24px; background: var(--citrus); color: var(--ink); text-decoration: none; font-size: 20px; font-weight: 700; line-height: 32px; white-space: nowrap; }
.mag-issue-cta:hover { filter: brightness(0.96); }
.mag-issue-cta:focus-visible { outline-color: var(--footer-content); }
.mag-cta-arrow { font-size: 28px; line-height: 36px; }

.mag-archive { display: flex; flex-direction: column; align-items: stretch; gap: 16px; padding: 48px; scroll-margin-top: 24px; }
.mag-archive-eyebrow { margin: 0; font-size: 14px; font-weight: 700; line-height: 24px; }
.mag-archive-title { margin: 0; font-size: 40px; font-weight: 700; line-height: 58px; }
.mag-archive-notice { display: flex; align-items: center; justify-content: center; min-height: 96px; padding: 16px 12px; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.mag-archive-notice p { width: min(800px, 100%); margin: 0; text-align: center; font-size: 16px; line-height: 32px; }
.mag-archive-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; margin: 0; padding: 0; list-style: none; }
.mag-archive-link { display: block; text-decoration: none; }
.mag-archive-link img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.mag-archive-link h3 { margin: 16px 0 0; font-size: 20px; font-weight: 700; line-height: 32px; overflow-wrap: anywhere; }
.mag-archive-link:hover h3, .mag-archive-link:focus-visible h3 { text-decoration: underline; text-underline-offset: 4px; }

.mag-about { padding: 64px 48px; text-align: center; }
.mag-about-concept { width: 100%; margin: 0; font-size: 32px; font-weight: 700; line-height: 54px; }
.mag-about-break { display: none; }

@media (min-width: 900px) and (max-width: 1199px) {
  .mag-archive-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 899px) {
  .magazine-header { height: 112px; padding: 24px; }
  .magazine-header-inner { grid-template-rows: 64px; }
  .magazine-header .brand--magazine { width: 96px; height: 64px; }
  .magazine-header .brand-mark { width: 96px; height: auto; }
  .magazine-header-concept { display: none; }
  .mag-current { min-height: 648px; padding: 216px 24px 124px; }
  .mag-cover-content { gap: 32px; width: 100%; }
  .mag-issue-name { font-size: 28px; line-height: 40px; }
  .mag-cover-action { gap: 32px; }
  .mag-current-title { font-size: clamp(26px, 8.205128vw, 32px); line-height: 1.5625; }
  .mag-issue-cta { width: 218px; min-height: 56px; font-size: 17px; line-height: 28px; }
  .mag-archive { padding: 48px 24px; }
  .mag-archive-eyebrow { font-size: 12px; }
  .mag-archive-title { font-size: 26px; line-height: 40px; }
  .mag-archive-notice { min-height: 112px; }
  .mag-archive-notice p { font-size: 14px; line-height: 28px; }
  .mag-archive-list { grid-template-columns: minmax(0, 1fr); }
  .mag-about { padding: 48px 24px; }
  .mag-about-concept { font-size: 24px; line-height: 42px; }
  .mag-about-break { display: initial; }
}
