/* Tokyo uses the shared Event Report shell, with photo-led sections sized to
   its own source material. No legacy article/card styling is retained. */
.tokyo-report .tokyo-anchor { display: block; height: 0; scroll-margin-top: 82px; }
.tokyo-report .event-opening,
.tokyo-report .event-wrap,
.tokyo-report .event-faq { position: relative; }
.tokyo-report :is(.event-opening,.event-wrap,.event-faq) > .tokyo-anchor { position: absolute; top: 0; }
.tokyo-report .event-cover__copy { max-width: 920px; }
.tokyo-report .event-cover__copy h1 { font-size: clamp(34px,4.2vw,58px); line-height: 1.5; }
.tokyo-report .event-cover__photo img { object-position: center 45%; transform: none; animation: none; }
.tokyo-report .event-opening { padding-block: 72px; grid-template-columns: minmax(0,690px) minmax(260px,1fr); gap: 40px 64px; }
.tokyo-report .event-opening__story { min-width: 0; }
.tokyo-report .event-opening__lead { margin: 20px 0 28px; font-size: 30px; line-height: 1.5; font-weight: 600; }
.tokyo-report .event-opening__lead > span { display: block; }
.tokyo-report .event-opening__context { max-width: 690px; margin: 0; }
.tokyo-report .event-opening__context > p { margin: 0 0 22px; font-size: 16px; line-height: 2; font-weight: 400; }
.tokyo-report .event-opening__facts { align-self: start; padding-top: 6px; }
.tokyo-report .tokyo-copy { width: 100%; max-width: var(--event-copy-width); margin-inline: auto; }
.tokyo-report .tokyo-copy p { margin: 0 0 24px; font-size: 16px; line-height: 2; color: var(--event-muted); font-weight: 400; }
.tokyo-report .tokyo-copy p:last-child { margin-bottom: 0; }
.tokyo-report .event-section-header { width: 100%; max-width: var(--event-copy-width); margin: 0 auto 28px; }
.tokyo-report .event-section-header h2 { margin-top: 12px; font-size: clamp(28px,3.2vw,40px); line-height: 1.5; }
.tokyo-report .event-section-shell { padding-block: 80px; }
.tokyo-report .tokyo-booth { background: #0a0a0a; }
.tokyo-report .tokyo-booth .tokyo-copy p { color: #d0d0d0; }
.tokyo-report .tokyo-booth-pair { margin: 44px 0; }
.tokyo-report .tokyo-booth-pair > div { display: grid; grid-template-columns: minmax(0,2.25fr) minmax(0,1fr); gap: 24px; align-items: center; }
.tokyo-report .tokyo-photo { min-width: 0; }
.tokyo-report :is(.tokyo-photo,.tokyo-booth-pair,.tokyo-snap-pair,.tokyo-product) :is(picture,img) { display: block; width: 100%; height: auto; }
.tokyo-report .tokyo-booth .tokyo-photo { margin-block: 40px; }
.tokyo-report .photo-caption { padding: 12px 0 0; margin: 0; color: var(--event-muted); background: transparent; font-size: 13px; line-height: 1.9; letter-spacing: .01em; }
.tokyo-report .tokyo-booth .photo-caption { color: #bfbfbf; }
.tokyo-report .tokyo-detail { margin-top: 64px; padding-top: 40px; border-top: 1px solid #3c3c3c; }
.tokyo-report .tokyo-people { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); gap: 40px; align-items: center; margin-top: 60px; }
.tokyo-report .tokyo-people .tokyo-photo { margin: 0; }
.tokyo-report .tokyo-people h2 { font-size: 28px; }
.tokyo-report .tokyo-people .tokyo-note { margin: 28px 0 0; padding-top: 24px; border-top: 1px solid #444; color: #fff; font-size: 20px; line-height: 1.85; font-weight: 500; }
.tokyo-report .tokyo-interior-pair { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; max-width: 940px; margin: 44px auto; }
.tokyo-report .tokyo-product { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 40px; align-items: center; margin-top: 56px; padding-block: 32px; border-block: 1px solid var(--event-line); }
.tokyo-report .tokyo-product h3 { margin: 16px 0; font-size: 25px; line-height: 1.65; font-weight: 500; }
.tokyo-report .tokyo-product p:not(.event-mini-label) { font-size: 16px; line-height: 2; color: var(--event-muted); }
.tokyo-report .tokyo-product a { color: inherit; text-underline-offset: 5px; }
.tokyo-report .cover-highlight-link { display: inline-flex; align-items: center; min-height: 48px; margin-top: 12px; font-size: 14px; }
.tokyo-report .tokyo-snap { background: #eae6de; }
.tokyo-report .tokyo-snap-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: 24px; margin: 44px 0; }
.tokyo-report .tokyo-snap-pair { margin-block: 40px; }
.tokyo-report .tokyo-snap-pair > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: 24px; }
.tokyo-report .tokyo-snap-pair:has(img[src*="snap-17"]) > div { grid-template-columns: minmax(0,2.25fr) minmax(0,1fr); align-items: center; }
.tokyo-report .tokyo-best-shot { width: min(100%,560px); margin: 56px auto; }
.tokyo-report .tokyo-gallery { padding-top: 32px; border-top: 1px solid #bab5ac; }
.tokyo-report .tokyo-gallery h3 { font-size: 26px; margin: 12px 0 28px; font-weight: 500; }
.tokyo-report .tokyo-gallery > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; align-items: start; }
.tokyo-report .event-wrap { padding-block: 72px; }
.tokyo-report .event-wrap__copy > p:nth-of-type(2) { font-weight: 400; }
.tokyo-report .event-faq { padding-block: 72px; }
@media (max-width: 1100px) {
  .tokyo-report .event-opening { grid-template-columns: 1fr; }
  .tokyo-report .event-opening__story,.tokyo-report .event-opening__facts { width: 100%; max-width: 690px; margin-inline: auto; }
  .tokyo-report .tokyo-people,.tokyo-report .tokyo-product { grid-template-columns: 1fr; }
  .tokyo-report .tokyo-people > div { width: 100%; max-width: var(--event-copy-width); margin-inline: auto; }
}
@media (max-width: 760px) {
  .tokyo-report .event-cover__copy h1 { font-size: clamp(23px,6.1vw,27px); }
  .tokyo-report .event-cover__photo img { object-position: center 38%; }
  .tokyo-report .event-opening { padding-block: 48px; gap: 32px; }
  .tokyo-report .event-opening__lead { font-size: 23px; margin-bottom: 26px; }
  .tokyo-report .event-section-shell { padding-block: 48px; }
  .tokyo-report .event-section-header h2 { font-size: 28px; }
  .tokyo-report :is(.tokyo-booth-pair,.tokyo-snap-pair) > div,
  .tokyo-report .tokyo-snap-pair:has(img[src*="snap-17"]) > div,
  .tokyo-report .tokyo-interior-pair,
  .tokyo-report .tokyo-snap-grid,
  .tokyo-report .tokyo-gallery > div { grid-template-columns: minmax(0,1fr); gap: 28px; }
  .tokyo-report .tokyo-booth-pair,.tokyo-report .tokyo-interior-pair,.tokyo-report .tokyo-snap-grid,.tokyo-report .tokyo-snap-pair { margin-block: 32px; }
  .tokyo-report .tokyo-detail { margin-top: 40px; padding-top: 32px; }
  .tokyo-report .tokyo-people { margin-top: 40px; gap: 28px; }
  .tokyo-report .tokyo-people .tokyo-note { font-size: 18px; }
  .tokyo-report .tokyo-product { margin-top: 40px; padding-block: 28px; gap: 24px; }
  .tokyo-report .tokyo-product h3 { font-size: 22px; }
  .tokyo-report .event-wrap,.tokyo-report .event-faq { padding-block: 48px; }
  .tokyo-report .tokyo-anchor { scroll-margin-top: calc(var(--rail) + 66px); }
}
