/* A quiet editorial pairing, with the supplied handwritten logo left intact. */
:root {
  --font-jp: 'Zen Kaku Gothic New', 'Hiragino Kaku Gothic ProN', 'Yu Gothic', sans-serif;
  --font-heading-jp: 'Shippori Mincho', 'Yu Mincho', serif;
  --font-en: 'Cormorant Garamond', Georgia, serif;
}
body { font-family: var(--font-jp); font-weight: 400; font-kerning: normal; }
.header nav a { font-family: var(--font-en); font-size: 1.125rem; font-weight: 500; letter-spacing: .1em; }
.header-note, .hero-signature p { font-family: var(--font-en); font-size: .8125rem; font-weight: 500; letter-spacing: .17em; }
.section-label { font-family: var(--font-en); font-size: 2rem; font-weight: 500; line-height: 1.2; letter-spacing: .085em; }
.section-label > span:last-child { font-family: var(--font-jp); font-size: .875rem; font-weight: 400; letter-spacing: .08em; }
.live-date { font-family: var(--font-en); font-size: 1.75rem; font-weight: 400; font-variant-numeric: lining-nums; letter-spacing: .04em; }
.live-date > span { font-size: 6.25rem; font-weight: 400; letter-spacing: -.06em; line-height: .95; }
.live-date .month { font-family: var(--font-en); font-size: .8125rem; font-weight: 500; letter-spacing: .09em; margin-top: 14px; }
.tag { display: inline-block; font-family: var(--font-en); font-size: .875rem; font-weight: 500; letter-spacing: .13em; }
.live h2 { font-family: var(--font-heading-jp); font-size: clamp(1.375rem, 2.25vw, 1.875rem); font-weight: 500; line-height: 1.85; letter-spacing: .045em; margin: 10px 0 18px; font-feature-settings: 'palt'; }
.live-copy p, .bio p { font-size: 1rem; font-weight: 400; line-height: 2.15; letter-spacing: .035em; line-break: strict; overflow-wrap: anywhere; }
.bio p { margin-bottom: 1.4em; }
.about-title h2 { font-family: var(--font-en); font-size: 4.25rem; font-weight: 500; font-style: italic; letter-spacing: -.025em; line-height: 1.15; }
.kana { font-family: var(--font-heading-jp); font-size: .9375rem; font-weight: 500; letter-spacing: .2em; line-height: 1.8; margin-top: 14px; }
.base { flex-wrap: wrap; gap: 12px 25px; }
.base span { font-family: var(--font-en); font-size: .875rem; font-weight: 500; letter-spacing: .1em; }
.base strong { font-family: var(--font-jp); font-size: .9375rem; font-weight: 500; letter-spacing: .04em; }
.gallery-heading { align-items: center; gap: 20px; }
.gallery-heading h2 { font-family: var(--font-en); font-size: 1.625rem; font-style: italic; font-weight: 500; letter-spacing: .015em; line-height: 1.4; }
.gallery-heading p { font-size: .875rem; line-height: 1.8; letter-spacing: .025em; }
.photo > span { font-family: var(--font-en); font-size: 1.5rem; font-variant-numeric: lining-nums; letter-spacing: .055em; }
footer { font-family: var(--font-en); font-size: .8125rem; font-weight: 500; letter-spacing: .075em; }
.close, .viewer-controls { font-family: var(--font-jp); font-size: .875rem; letter-spacing: .04em; }
@media (max-width:600px) {
  .header nav { gap: 18px; }
  .header nav a { font-size: .875rem; letter-spacing: .055em; }
  .hero-signature p { font-size: .75rem; letter-spacing: .13em; }
  .section-label { font-size: 1.75rem; letter-spacing: .06em; }
  .section-label > span:last-child { font-size: .8125rem; letter-spacing: .035em; }
  .live-body { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .live-date { display: flex; align-items: baseline; gap: 12px; font-size: 1.375rem; }
  .live-date > span { font-size: 3.5rem; }
  .live-date .month { display: inline; margin-left: 14px; font-size: .75rem; letter-spacing: .025em; }
  .tag { font-size: .8125rem; letter-spacing: .04em; line-height: 1.5; }
  .live h2 { font-size: 1.25rem; line-height: 1.85; letter-spacing: .02em; }
  .live-copy p { font-size: 1rem; line-height: 1.95; letter-spacing: .01em; }
  .about-title h2 { font-size: 3.5rem; }
  .kana { font-size: .875rem; }
  .bio p { font-size: 1rem; line-height: 2.1; letter-spacing: .025em; }
  .gallery-heading h2 { font-size: 1.5rem; }
  .gallery-heading p { font-size: .8125rem; max-width: 10em; }
  footer { font-size: .8125rem; }
}
@media (max-width:360px) {
  .header nav { gap: 12px; }
  .live-body { grid-template-columns: 1fr; }
  .live-date { display: flex; align-items: baseline; gap: 12px; }
  .live-date > span { font-size: 3rem; }
  .live-date .month { display: inline; margin-left: 10px; }
}
