/* MUSEUMS IN TRUST Front UI 0.2.2
 * Scope: reusable visual system only. No data/search logic.
 */

:root {
  --mit-content-wide: 1180px;
  --mit-content-narrow: 760px;
  --mit-section-space: clamp(88px, 10vw, 160px);
  --mit-section-space-mobile: 84px;
  --mit-text: currentColor;
  --mit-muted: rgba(0, 0, 0, 0.58);
  --mit-rule: rgba(0, 0, 0, 0.16);
  --mit-paper: #f6f2e9;
  --mit-accent-red: #df4a34;
}

.mit-nowrap {
  white-space: nowrap;
}

/* Spacious home-page section */
.wp-block-group.is-style-mit-section {
  width: min(100%, var(--mit-content-wide));
  margin-inline: auto;
  padding-block: var(--mit-section-space);
}

/* Reading-width section */
.wp-block-group.is-style-mit-section-narrow {
  width: min(100%, var(--mit-content-narrow));
  margin-inline: auto;
  padding-block: var(--mit-section-space);
}

/* Quiet, editable profile panel for fixed-page content. */
.wp-block-group.is-style-mit-profile-box {
  box-sizing: border-box;
  width: 78%;
  max-width: 592px;
  margin: clamp(44px, 5vw, 64px) auto 0 0;
  padding: 22px 24px;
  border: 0;
  border-radius: 0;
  background: #f7f7f4;
  box-shadow: none;
  color: var(--mit-reading-text, #151515);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.76;
}

.wp-block-group.is-style-mit-profile-box > :first-child {
  margin-top: 0;
}

.wp-block-group.is-style-mit-profile-box > .wp-block-heading {
  margin-bottom: 1em;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.65;
}

.wp-block-group.is-style-mit-profile-box > p {
  margin-top: 0;
  margin-bottom: 1em;
  font-size: inherit;
  line-height: inherit;
}

.wp-block-group.is-style-mit-profile-box > p:first-of-type {
  font-weight: 500;
}

.wp-block-group.is-style-mit-profile-box > :last-child {
  margin-bottom: 0;
}

.wp-block-group.is-style-mit-profile-box > p:last-child {
  margin-top: 1.35em;
}

@media (max-width: 782px) {
  .wp-block-group.is-style-mit-profile-box {
    width: 100%;
    max-width: none;
    margin-top: 40px;
    padding: 20px;
  }
}

/* Heading hierarchy */
.wp-block-heading.is-style-mit-section-title {
  margin-top: 0;
  margin-bottom: 0.85em;
  font-size: clamp(2rem, 3.4vw, 2.55rem);
  line-height: 1.24;
  font-weight: 600;
  letter-spacing: -0.015em;
}

/* Introductory copy */
p.is-style-mit-lead {
  max-width: 44em;
  margin-top: 0;
  margin-bottom: 1.45em;
  font-size: clamp(1rem, 1.45vw, 1.12rem);
  line-height: 1.85;
}

/* Small supporting text / limited English */
p.is-style-mit-meta {
  margin-top: 0.35em;
  margin-bottom: 1.2em;
  font-size: 0.9rem;
  line-height: 1.5;
  color: var(--mit-muted);
}

/* Quiet editorial CTA */
p.is-style-mit-cta {
  margin-top: 1.6rem;
  margin-bottom: 0;
  font-size: 0.98rem;
  line-height: 1.5;
}

p.is-style-mit-cta a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid var(--mit-rule);
  padding-bottom: 0.18em;
}

p.is-style-mit-cta a:hover,
p.is-style-mit-cta a:focus-visible {
  border-bottom-color: currentColor;
}

/* Illustration as an editorial pause, not a full hero */
figure.wp-block-image.is-style-mit-illustration {
  width: min(100%, 860px) !important;
  max-width: 860px !important;
  margin: clamp(56px, 7vw, 96px) auto;
}

figure.wp-block-image.is-style-mit-illustration img {
  display: block;
  width: 100%;
  height: auto;
}

/* --------------------------------------------------------------------------
 * ABOUT VISUAL A — EDITORIAL SPLIT
 * Robust against normal Gutenberg wrapper nesting.
 * The image is treated as a visual layer at right; copy remains in normal flow.
 * -------------------------------------------------------------------------- */
.wp-block-group.is-style-mit-about-a {
  box-sizing: border-box;
  position: relative;
  width: min(100%, var(--mit-content-wide));
  min-height: clamp(430px, 40vw, 620px);
  margin: var(--mit-section-space) auto;
  padding: clamp(52px, 6vw, 84px) 54% clamp(52px, 6vw, 84px) clamp(44px, 5vw, 76px);
  background: var(--mit-paper);
  overflow: hidden;
}

/* Keep normal copy to a comfortable measure even when nested in another group. */
.wp-block-group.is-style-mit-about-a > *:not(figure),
.wp-block-group.is-style-mit-about-a > .wp-block-group:not(:has(figure.wp-block-image)) {
  max-width: 34rem;
}

/* Any illustration inside the About A group becomes the right-hand visual.
   Descendant targeting intentionally supports Gutenberg wrapper groups. */
.wp-block-group.is-style-mit-about-a figure.wp-block-image {
  position: absolute !important;
  z-index: 0;
  top: 50%;
  right: clamp(28px, 4vw, 64px);
  transform: translateY(-50%);
  width: min(45%, 540px) !important;
  max-width: 540px !important;
  margin: 0 !important;
}

.wp-block-group.is-style-mit-about-a figure.wp-block-image img {
  display: block;
  width: 100%;
  height: auto;
  mix-blend-mode: multiply;
}

/* Keep copy above the artwork if the image visually approaches it. */
.wp-block-group.is-style-mit-about-a .wp-block-heading,
.wp-block-group.is-style-mit-about-a p,
.wp-block-group.is-style-mit-about-a ul,
.wp-block-group.is-style-mit-about-a ol {
  position: relative;
  z-index: 1;
}

.wp-block-group.is-style-mit-about-a .wp-block-heading {
  margin-top: 0;
  margin-bottom: 0.9em;
  font-size: clamp(2rem, 3.2vw, 2.7rem);
  line-height: 1.22;
  letter-spacing: -0.018em;
}

.wp-block-group.is-style-mit-about-a p {
  line-height: 1.82;
}

/* --------------------------------------------------------------------------
 * ABOUT VISUAL B — CROPPED GRAPHIC
 * Illustration becomes a graphic chapter break. Descendant selectors allow
 * the Image block to remain inside ordinary Gutenberg wrapper Groups.
 * -------------------------------------------------------------------------- */
.wp-block-group.is-style-mit-about-b {
  box-sizing: border-box;
  width: min(100%, var(--mit-content-wide));
  margin: var(--mit-section-space) auto;
}

/* If Gutenberg has wrapped the image in a child Group, let that wrapper expand. */
.wp-block-group.is-style-mit-about-b > .wp-block-group:has(figure.wp-block-image) {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
}

.wp-block-group.is-style-mit-about-b figure.wp-block-image {
  width: 100% !important;
  max-width: none !important;
  height: clamp(230px, 29vw, 360px) !important;
  margin: 0 0 clamp(48px, 6vw, 82px) !important;
  overflow: hidden;
  background: var(--mit-paper);
}

.wp-block-group.is-style-mit-about-b figure.wp-block-image img {
  display: block;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  object-fit: cover;
  /* Favour the lower-middle red/black horizontal gesture. */
  object-position: 50% 68%;
}

/* Copy returns to reading width. Direct paragraphs/headings and a plain text
   wrapper Group are both supported. */
.wp-block-group.is-style-mit-about-b > .wp-block-heading,
.wp-block-group.is-style-mit-about-b > p,
.wp-block-group.is-style-mit-about-b > .wp-block-group:not(:has(figure.wp-block-image)) {
  box-sizing: border-box;
  width: min(100%, var(--mit-content-narrow));
  margin-left: auto;
  margin-right: auto;
}

.wp-block-group.is-style-mit-about-b .wp-block-heading {
  margin-top: 0;
  margin-bottom: 0.85em;
  font-size: clamp(2rem, 3.4vw, 2.55rem);
  line-height: 1.24;
  letter-spacing: -0.015em;
}

.wp-block-group.is-style-mit-about-b p {
  line-height: 1.82;
}

/* Optional utility classes for existing blocks */
.mit-home-wide {
  width: min(100%, var(--mit-content-wide));
  margin-inline: auto;
}

.mit-home-narrow {
  width: min(100%, var(--mit-content-narrow));
  margin-inline: auto;
}

.mit-home-section-gap {
  margin-top: var(--mit-section-space);
}

@media (max-width: 782px) {
  body.home .mit-database-heading .wp-block-heading {
    white-space: nowrap;
    font-size: clamp(21px, 5.4vw, 23px);
    line-height: 1.3;
    letter-spacing: 0;
  }

  .wp-block-group.is-style-mit-section,
  .wp-block-group.is-style-mit-section-narrow {
    width: 100%;
    padding-block: var(--mit-section-space-mobile);
  }

  .wp-block-heading.is-style-mit-section-title {
    font-size: clamp(1.7rem, 7.6vw, 2rem);
    line-height: 1.32;
    margin-bottom: 0.8em;
  }

  p.is-style-mit-lead {
    font-size: 1rem;
    line-height: 1.78;
  }

  p.is-style-mit-meta {
    font-size: 0.82rem;
  }

  figure.wp-block-image.is-style-mit-illustration {
    width: 100% !important;
    max-width: 100% !important;
    margin-block: 64px;
  }

  .wp-block-group.is-style-mit-about-a {
    width: 100%;
    min-height: 0;
    margin-block: var(--mit-section-space-mobile);
    padding: 42px 28px 0;
    background: var(--mit-paper);
    overflow: hidden;
  }

  .wp-block-group.is-style-mit-about-a figure.wp-block-image {
    position: relative !important;
    top: auto;
    right: auto;
    transform: none;
    width: calc(100% + 56px) !important;
    max-width: none !important;
    margin: 34px -28px 0 !important;
  }

  .wp-block-group.is-style-mit-about-a .wp-block-heading,
  .wp-block-group.is-style-mit-about-b .wp-block-heading {
    font-size: clamp(1.75rem, 7.5vw, 2.1rem);
    line-height: 1.3;
  }

  .wp-block-group.is-style-mit-about-b {
    width: 100%;
    margin-block: var(--mit-section-space-mobile);
  }

  .wp-block-group.is-style-mit-about-b figure.wp-block-image {
    height: clamp(180px, 48vw, 260px) !important;
    margin-bottom: 46px !important;
  }

  .wp-block-group.is-style-mit-about-b > .wp-block-heading,
  .wp-block-group.is-style-mit-about-b > p,
  .wp-block-group.is-style-mit-about-b > .wp-block-group:not(:has(figure.wp-block-image)) {
    box-sizing: border-box;
    width: 100%;
    padding-inline: 28px;
  }
}

/* Home: make the existing Japan SVG a keyboard-accessible prefecture navigator. */
.home .mit-map-panel .mit-home-prefecture-map-frame {
  position: relative;
  display: inline-block;
  max-width: 100%;
  line-height: 0;
}

.home .mit-map-panel .mit-home-prefecture-map-frame > img {
  visibility: hidden;
}

.home .mit-map-panel .mit-home-prefecture-map {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}

.home .mit-map-panel .mit-home-prefecture-link path {
  cursor: pointer;
  transition: fill 140ms ease;
}

@media (hover: hover) and (pointer: fine) {
  .home .mit-map-panel .mit-home-prefecture-link:hover path {
    fill: #f2f2f0 !important;
  }
}

.home .mit-map-panel .mit-home-prefecture-link:focus {
  outline: none;
}

.home .mit-map-panel .mit-home-prefecture-link:focus-visible path {
  fill: #ececea !important;
  stroke: #555 !important;
}

@media (prefers-reduced-motion: reduce) {
  .home .mit-map-panel .mit-home-prefecture-link path {
    transition: none;
  }
}

/* ==========================================================================
 * PREFECTURE ARCHIVE — Kyoto beta
 * ========================================================================== */

body.mit-prefecture-page {
  --mit-prefecture-ink: #171717;
  --mit-prefecture-muted: #60605c;
  --mit-prefecture-rule: rgba(0, 0, 0, 0.12);
  background: #fff;
  color: var(--mit-prefecture-ink);
  font-family: Inter, "Noto Sans JP", sans-serif;
}

.mit-prefecture-main,
.mit-prefecture-main * {
  box-sizing: border-box;
}

.mit-prefecture-main {
  width: min(100%, 1280px);
  margin-inline: auto;
  padding: clamp(68px, 7vw, 96px) 40px clamp(112px, 11vw, 160px);
}

.mit-prefecture-hero {
  width: min(100%, 760px);
}

.mit-prefecture-hero h1 {
  margin: 0;
  font-size: clamp(34px, 3.4vw, 46px);
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: -0.025em;
}

.mit-prefecture-hero__english {
  margin: 8px 0 0;
  color: var(--mit-prefecture-muted);
  font-size: 15px;
  line-height: 1.5;
}

.mit-prefecture-map-section {
  margin-top: clamp(60px, 6.5vw, 88px);
}

.mit-prefecture-map-layout {
  display: grid;
  grid-template-columns: minmax(0, 2.15fr) minmax(260px, 1fr);
  border-top: 1px solid var(--mit-prefecture-rule);
  border-bottom: 1px solid var(--mit-prefecture-rule);
}

.mit-prefecture-summary {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: clamp(34px, 4vw, 54px);
  border-left: 1px solid var(--mit-prefecture-rule);
}

.mit-prefecture-summary__total {
  display: block;
}

.mit-prefecture-summary__total > span,
.mit-prefecture-summary__operation-group h3 {
  color: var(--mit-prefecture-ink);
  font-size: 18px;
  font-weight: 500;
  line-height: 1.5;
}

.mit-prefecture-summary__operations dt {
  color: var(--mit-prefecture-muted);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.55;
}

.mit-prefecture-summary__total strong {
  display: block;
  margin-top: 18px;
  font-size: 40px;
  font-weight: 500;
  line-height: 1;
}

.mit-prefecture-summary__total small {
  margin-left: 5px;
  font-size: 15px;
  font-weight: 400;
}

.mit-prefecture-summary__operation-group {
  margin-top: clamp(52px, 5vw, 72px);
}

.mit-prefecture-summary__operation-group h3 {
  margin: 0 0 24px;
}

.mit-prefecture-summary__operation-group h3 small,
.mit-prefecture-museums > h2 small {
  margin-left: 8px;
  color: var(--mit-prefecture-muted);
  font-size: 12px;
  font-weight: 400;
}

.mit-prefecture-summary__operations {
  display: grid;
  gap: 18px;
  margin: 0;
}

.mit-prefecture-summary__operations > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: baseline;
}

.mit-prefecture-summary__operations dt,
.mit-prefecture-summary__operations dd {
  margin: 0;
}

.mit-prefecture-summary__operations dd {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.2;
}

.mit-prefecture-summary__operations dd a {
  color: inherit;
  text-decoration: none;
  transition: color 120ms ease;
}

@media (hover: hover) and (pointer: fine) {
  .mit-prefecture-summary__operations dd a:hover,
  .mit-prefecture-summary__operations dd a:focus-visible {
    color: var(--mit-accent-red);
    font-weight: 650;
    text-decoration: none;
  }
}

.mit-prefecture-museums {
  margin-top: clamp(88px, 9vw, 126px);
}

.mit-prefecture-museums > h2 {
  margin: 0;
  font-size: clamp(25px, 2.6vw, 30px);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: -0.015em;
}

.mit-prefecture-map {
  width: 100%;
  height: clamp(500px, 48vw, 620px);
  overflow: hidden;
  background: #fff;
}

.mit-prefecture-map.leaflet-container {
  background: #fff;
  font-family: inherit;
  cursor: default;
}

.mit-prefecture-map-column {
  min-width: 0;
}

.mit-prefecture-map-column--inset {
  display: grid;
  grid-template-rows: minmax(0, 1fr) 174px;
  height: clamp(500px, 48vw, 620px);
}

.mit-prefecture-map-column--inset > .mit-prefecture-map {
  height: auto;
  min-height: 0;
}

.mit-prefecture-insets {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--mit-prefecture-rule);
}

.mit-prefecture-insets--1 {
  grid-template-columns: minmax(0, 1fr);
  width: 50%;
  margin-left: auto;
  border-left: 1px solid var(--mit-prefecture-rule);
}

.mit-prefecture-inset {
  position: relative;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  background: #fff;
}

.mit-prefecture-inset + .mit-prefecture-inset {
  border-left: 1px solid var(--mit-prefecture-rule);
}

.mit-prefecture-inset figcaption {
  position: absolute;
  z-index: 500;
  top: 10px;
  left: 12px;
  margin: 0;
  color: var(--mit-prefecture-muted);
  font-size: 11px;
  font-weight: 500;
  line-height: 1.4;
  pointer-events: none;
}

.mit-prefecture-inset__map,
.mit-prefecture-inset__map.leaflet-container {
  width: 100%;
  height: 100%;
  background: #fff;
  font-family: inherit;
  cursor: default;
}

.mit-prefecture-map__reset {
  appearance: none;
  min-width: 30px;
  padding: 7px 8px;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 1px;
  background: rgba(255, 255, 255, 0.94);
  color: var(--mit-prefecture-ink);
  font: inherit;
  font-size: 11px;
  line-height: 1.2;
  cursor: pointer;
}

.mit-prefecture-map .leaflet-control-zoom {
  margin-bottom: 6px;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 1px;
  box-shadow: none;
}

.mit-prefecture-map .leaflet-control-zoom a,
.mit-prefecture-map .leaflet-control-zoom a:hover,
.mit-prefecture-map .leaflet-control-zoom a:focus {
  width: 28px;
  height: 28px;
  border-color: rgba(0, 0, 0, 0.14);
  background: rgba(255, 255, 255, 0.94);
  color: var(--mit-prefecture-ink);
  font-size: 18px;
  font-weight: 400;
  line-height: 28px;
  box-shadow: none;
}

.mit-prefecture-map .leaflet-control-zoom a:hover,
.mit-prefecture-map .leaflet-control-zoom a:focus {
  background: #f7f5f0;
}

.mit-prefecture-map__reset[hidden] {
  display: none;
}

.mit-prefecture-map--error {
  display: grid;
  place-items: center;
  padding: 28px;
  color: var(--mit-prefecture-muted);
  font-size: 14px;
  text-align: center;
}

.mit-prefecture-map__source,
.mit-prefecture-map__availability {
  margin: 10px 0 0;
  color: var(--mit-prefecture-muted);
  font-size: 11px;
  line-height: 1.6;
}

.mit-prefecture-map__availability + .mit-prefecture-map__source {
  margin-top: 3px;
}

.mit-prefecture-tooltip.leaflet-tooltip,
.mit-prefecture-popup .leaflet-popup-content-wrapper {
  border: 0;
  border-radius: 1px;
  background: #3a3a37;
  color: #fff;
  box-shadow: none;
}

.mit-prefecture-tooltip.leaflet-tooltip {
  max-width: 280px;
  padding: 4px 7px;
}

.mit-prefecture-tooltip .mit-prefecture-popup__link {
  width: max-content;
  padding: 0;
  max-width: 264px;
  min-width: 0;
  white-space: normal;
}

.mit-prefecture-popup .leaflet-popup-tip-container {
  display: none;
}

.mit-prefecture-tooltip.leaflet-tooltip::before {
  position: absolute;
  top: 50%;
  right: 100%;
  left: auto;
  display: block;
  width: 18px;
  height: 1px;
  margin: 0;
  border: 0;
  background: #444440;
  content: "";
  transform: translateY(-50%);
}

.mit-prefecture-popup .leaflet-popup-content {
  margin: 0;
}

.mit-prefecture-map .mit-prefecture-popup__link,
.mit-prefecture-inset__map .mit-prefecture-popup__link {
  display: block;
  min-width: 150px;
  padding: 13px 15px;
  color: #fff;
  text-decoration: none;
}

.mit-prefecture-map .mit-prefecture-popup__link strong,
.mit-prefecture-map .mit-prefecture-popup__link span,
.mit-prefecture-inset__map .mit-prefecture-popup__link strong,
.mit-prefecture-inset__map .mit-prefecture-popup__link span {
  display: block;
}

.mit-prefecture-map .mit-prefecture-popup__link strong,
.mit-prefecture-inset__map .mit-prefecture-popup__link strong {
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
  overflow-wrap: normal;
  word-break: normal;
}

.mit-prefecture-map .mit-prefecture-popup__english,
.mit-prefecture-inset__map .mit-prefecture-popup__english {
  margin-top: 4px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 11px;
  line-height: 1.5;
  overflow-wrap: normal;
  word-break: normal;
}

.mit-prefecture-map .mit-prefecture-popup__site-name,
.mit-prefecture-inset__map .mit-prefecture-popup__site-name {
  margin-top: 3px;
  color: rgba(255, 255, 255, 0.9);
  font-size: 12px;
  line-height: 1.5;
}

.mit-prefecture-museums > h2 {
  margin-bottom: 34px;
}

.mit-prefecture-museums .mit-result-list {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  grid-auto-rows: auto;
  column-gap: 24px;
  row-gap: 0;
}

.mit-prefecture-museums .mit-result-card {
  grid-row: auto !important;
}

@media (max-width: 782px) {
  .mit-prefecture-main {
    padding: 54px 20px 104px;
  }

  .mit-prefecture-hero h1 {
    font-size: clamp(30px, 8vw, 34px);
  }

  .mit-prefecture-hero__english {
    margin-top: 6px;
    font-size: 13.5px;
  }

  .mit-prefecture-map-section {
    margin-top: 58px;
  }

  .mit-prefecture-map-layout {
    display: flex;
    flex-direction: column;
  }

  .mit-prefecture-summary {
    padding: 24px 0 26px;
    border-left: 0;
    border-top: 1px solid var(--mit-prefecture-rule);
  }

  .mit-prefecture-museums {
    margin-top: 76px;
  }

  .mit-prefecture-museums > h2 {
    font-size: clamp(23px, 6.6vw, 26px);
  }

  .mit-prefecture-summary__total strong {
    margin-top: 12px;
  }

  .mit-prefecture-map {
    height: min(110vw, 500px);
  }

  .mit-prefecture-map-column--inset {
    display: block;
    height: auto;
  }

  .mit-prefecture-map-column--inset > .mit-prefecture-map {
    height: min(110vw, 500px);
  }

  .mit-prefecture-insets,
  .mit-prefecture-insets--1 {
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    margin-left: 0;
    border-left: 0;
  }

  .mit-prefecture-inset {
    height: 190px;
  }

  .mit-prefecture-map-column--tokyo .mit-prefecture-insets {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mit-prefecture-map-column--tokyo .mit-prefecture-inset {
    height: 128px;
  }

  .mit-prefecture-map-column--tokyo .mit-prefecture-inset + .mit-prefecture-inset {
    border-top: 0;
    border-left: 1px solid var(--mit-prefecture-rule);
  }

  .mit-prefecture-map-column--kagoshima .mit-prefecture-inset {
    height: 108px;
  }

  .mit-prefecture-inset + .mit-prefecture-inset {
    border-top: 1px solid var(--mit-prefecture-rule);
    border-left: 0;
  }

  .mit-prefecture-summary__operation-group {
    margin-top: 32px;
  }

  .mit-prefecture-summary__operations {
    width: min(100%, 280px);
    gap: 14px;
  }

  .mit-prefecture-map .mit-prefecture-popup__link,
  .mit-prefecture-inset__map .mit-prefecture-popup__link {
    width: max-content;
    max-width: min(240px, calc(100vw - 72px));
    min-width: 0;
    padding: 9px 11px;
    text-transform: none;
  }

  .mit-prefecture-museums > h2 {
    margin-bottom: 26px;
  }

  .mit-prefecture-museums .mit-result-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 16px;
  }
}

/* ==========================================================================
 * Museum profile — reading first, structured data second.
 * Presentation is isolated from the museum data model and search behavior.
 * ========================================================================== */
body.single-museum {
  background: #fff;
  color: var(--mit-reading-text, #171717);
  font-family: Inter, "Noto Sans JP", sans-serif;
}

body.single-museum .mit-museum-profile,
body.single-museum .mit-museum-profile * {
  box-sizing: border-box;
}

body.single-museum .mit-museum-timeline__events {
	display: block;
	list-style: none;
	margin: 32px 0 0;
	padding: 0 !important;
	counter-reset: none;
}

body.single-museum .mit-museum-timeline {
	width: min(100%, 760px);
}

body.single-museum .mit-museum-timeline > h2,
body.single-museum .mit-museum-timeline__events {
	width: min(100%, 760px);
	margin-right: auto;
	margin-left: auto;
}

body.single-museum .mit-museum-timeline > h2 {
	font-size: clamp(21px, 2.2vw, 24px);
}

@media (min-width: 701px) {
	body.single-museum .mit-museum-timeline > h2 {
		text-align: center;
	}
}

body.single-museum .mit-museum-timeline__event {
	display: grid;
	grid-template-columns: 7rem minmax(0, 1fr);
	gap: 28px;
	margin: 0 !important;
	padding: 8px 0;
	border: 0;
}

body.single-museum .mit-museum-timeline__event:first-child {
	padding-top: 0;
}

body.single-museum .mit-museum-timeline__event:last-child {
	padding-bottom: 0;
}

body.single-museum .mit-museum-timeline__events time {
	white-space: nowrap;
	font-family: Inter, "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	font-variant-numeric: tabular-nums;
}

body.single-museum .mit-museum-timeline__body {
	min-width: 0;
	font-family: Inter, "Noto Sans JP", sans-serif;
}

body.single-museum .mit-museum-timeline__body > :first-child {
	margin-top: 0;
}

body.single-museum .mit-museum-timeline__body > :last-child {
	margin-bottom: 0;
}

body.single-museum .mit-museum-timeline__body > p {
	font-size: 16px;
	font-weight: 400;
	line-height: 1.62;
}

@media (max-width: 700px) {
	body.single-museum .mit-museum-timeline__events {
		margin-top: 24px;
	}

	body.single-museum .mit-museum-timeline__event {
		grid-template-columns: 4.5rem minmax(0, 1fr);
		gap: 16px;
		padding: 7px 0;
	}

	body.single-museum .mit-museum-timeline > h2 {
		font-size: 21px;
	}
}

.mit-museum-profile {
  width: 100%;
  margin: 0 auto;
  padding: 0 32px clamp(112px, 11vw, 160px);
}

.mit-museum-hero {
  width: min(100%, 760px);
  margin: clamp(68px, 7vw, 92px) auto 0;
}

.mit-museum-hero h1 {
  margin: 0;
  font-size: clamp(31px, 3.4vw, 46px);
  font-weight: 500;
  line-height: 1.32;
  letter-spacing: -0.025em;
}

.mit-museum-hero__english {
  margin: 9px 0 0;
  color: var(--mit-reading-muted, #606060);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.5;
}

.mit-museum-hero__site-name {
  margin: 8px 0 0;
  color: var(--mit-reading-muted, #606060);
  font-size: clamp(18px, 2vw, 23px);
  font-weight: 400;
  line-height: 1.45;
}

.mit-museum-hero__verified {
  margin: 24px 0 0;
  color: var(--mit-reading-muted, #606060);
  font-size: 12.5px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.025em;
}

.mit-museum-main-image {
  width: min(100%, 960px);
  margin: clamp(44px, 5vw, 66px) auto 0;
}

.mit-museum-main-image img {
  display: block;
  width: 100%;
  height: auto;
}

.mit-museum-main-image figcaption {
  margin-top: 10px;
  color: var(--mit-reading-muted, #606060);
  font-size: 12px;
  line-height: 1.55;
}

.mit-museum-reading {
  width: min(100%, 760px);
  margin: clamp(72px, 8vw, 108px) auto 0;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.85;
}

.mit-museum-reading--without-image {
  margin-top: 48px;
}

.mit-museum-reading > h2 {
  margin: clamp(78px, 8vw, 112px) 0 30px;
  padding-top: 28px;
  border-top: 1px solid var(--mit-reading-rule, rgba(0, 0, 0, 0.11));
  font-size: clamp(25px, 2.6vw, 30px);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: -0.015em;
}

.mit-museum-reading > h2:first-child {
  margin-top: 0;
}

.mit-museum-reading > p {
  margin: 0 0 1.35em;
}

.mit-museum-reading__subheading {
  margin: 2.35em 0 0.8em;
  font-size: 19px;
  font-weight: 600;
  line-height: 1.6;
}

.mit-museum-reading__subheading:first-child {
  margin-top: 0;
}

.mit-museum-section {
  width: min(100%, 860px);
  margin: clamp(100px, 10vw, 144px) auto 0;
  padding-top: 30px;
  border-top: 1px solid var(--mit-reading-rule, rgba(0, 0, 0, 0.11));
}

.mit-museum-support,
.mit-museum-facts,
.mit-museum-location,
.mit-museum-official-links,
.mit-museum-notes {
  margin-top: clamp(82px, 8vw, 116px);
}

.mit-museum-location {
  margin-top: clamp(68px, 7vw, 94px);
}

.mit-museum-section > h2,
.mit-museum-related > h2 {
  margin: 0 0 34px;
  font-size: clamp(25px, 2.6vw, 30px);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: -0.015em;
}

.mit-museum-section > p,
.mit-museum-notes {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
}

.mit-museum-support > p {
  width: min(100%, 680px);
  margin: -12px 0 28px;
  color: var(--mit-reading-muted, #606060);
}

.mit-museum-support {
  padding: clamp(28px, 3.5vw, 38px);
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 2px;
  background: #fff;
}

.mit-museum-support,
.mit-museum-timeline,
.mit-museum-facts,
.mit-museum-official-links,
.mit-museum-reference-links,
.mit-museum-location {
  width: min(100%, 760px);
}

.mit-museum-link-list {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid var(--mit-reading-rule, rgba(0, 0, 0, 0.11));
  list-style: none;
}

.mit-museum-link-list li {
  margin: 0;
  border-top: 1px solid var(--mit-reading-rule, rgba(0, 0, 0, 0.11));
}

.mit-museum-link-list a {
  display: flex;
  gap: 24px;
  justify-content: space-between;
  padding: 19px 2px;
  color: inherit;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.55;
  text-decoration: none;
}

.mit-museum-link-list a:hover span:first-child,
.mit-museum-link-list a:focus-visible span:first-child {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.mit-museum-video {
  width: min(100%, 660px);
  margin-top: clamp(48px, 6vw, 72px);
  padding-top: 0;
  border-top: 0;
}

.mit-museum-video__frame {
  width: 100%;
  max-width: 100%;
  padding: clamp(18px, 2.4vw, 22px);
  background: #fff;
}

.mit-museum-video__frame figure,
.mit-museum-video__frame .wp-block-embed__wrapper {
  position: relative;
  width: 100%;
  max-width: 100%;
  margin: 0;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #f2f2ef;
}

.mit-museum-video__frame figure + figure {
  margin-top: 28px;
}

.mit-museum-video__frame iframe,
.mit-museum-video__frame video {
  position: absolute;
  inset: 0;
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  border: 0;
}

.mit-museum-facts__group {
  margin: 0 0 58px;
}

.mit-museum-facts__group:last-child {
  margin-bottom: 0;
}

.mit-museum-facts__group > h3 {
  margin: 0 0 17px;
  color: #444;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.055em;
}

.mit-museum-facts__group dl {
  margin: 0;
  border-bottom: 1px solid var(--mit-reading-rule, rgba(0, 0, 0, 0.11));
}

.mit-museum-facts__row {
  display: grid;
  grid-template-columns: minmax(150px, 210px) minmax(0, 1fr);
  gap: 28px;
  padding: 17px 2px;
  border-top: 1px solid var(--mit-reading-rule, rgba(0, 0, 0, 0.11));
  font-size: 15px;
  line-height: 1.65;
}

.mit-museum-facts__row dt,
.mit-museum-facts__row dd {
  min-width: 0;
  margin: 0;
}

.mit-museum-facts__row dt {
  color: var(--mit-reading-muted, #606060);
  font-weight: 400;
}

.mit-museum-facts__row dd {
  font-weight: 400;
  overflow-wrap: anywhere;
}

.mit-museum-english-source-mark {
  margin-inline-start: 0.08em;
}

.mit-museum-english-source-note {
  margin: 14px 0 0;
  color: var(--mit-reading-muted, #606060);
  font-size: 12px;
  line-height: 1.65;
}

.mit-museum-map-frame {
  width: 100%;
  aspect-ratio: 16 / 7;
  overflow: hidden;
}

.mit-museum-map-frame iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.mit-museum-notes > div {
  width: min(100%, 760px);
}

.mit-museum-notes p {
  margin: 0 0 1.25em;
}

.mit-museum-notes a {
  color: inherit;
  overflow-wrap: anywhere;
  text-underline-offset: 4px;
}

.mit-museum-related {
  width: min(100%, var(--mit-content-wide, 1180px));
  margin: clamp(112px, 12vw, 168px) auto 0;
  padding-top: 32px;
  border-top: 1px solid var(--mit-reading-rule, rgba(0, 0, 0, 0.11));
}

.mit-museum-related .mit-result-list {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  grid-auto-rows: auto;
  column-gap: 24px;
  row-gap: 0;
}

.mit-museum-related .mit-result-card {
  grid-row: auto !important;
}

.mit-museum-related .mit-result-card__title {
  font-size: 15px;
}

.mit-museum-related__all {
  margin: 34px 0 0;
  text-align: right;
}

.mit-museum-related__all a {
  color: inherit;
  font-size: 14px;
  font-weight: 400;
  text-decoration: none;
}

.mit-museum-related__all a:hover,
.mit-museum-related__all a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 4px;
}

@media (max-width: 980px) {
  .mit-museum-related .mit-result-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 782px) {
  .mit-museum-profile {
    padding: 0 20px 104px;
  }

  .mit-museum-hero {
    margin-top: 46px;
  }

  .mit-museum-hero h1 {
    font-size: clamp(28px, 8.2vw, 34px);
    line-height: 1.38;
  }

  .mit-museum-hero__english {
    margin-top: 7px;
    font-size: 13.5px;
  }

  .mit-museum-hero__verified {
    margin-top: 18px;
    font-size: 12px;
  }

  .mit-museum-main-image {
    margin-top: 38px;
  }

  .mit-museum-reading {
    margin-top: 64px;
    font-size: 15.5px;
    line-height: 1.76;
  }

  .mit-museum-reading--without-image {
    margin-top: 42px;
  }

  .mit-museum-reading > p {
    margin-bottom: 1.2em;
  }

  .mit-museum-reading > h2 {
    margin-top: 70px;
    margin-bottom: 24px;
    padding-top: 22px;
    font-size: clamp(23px, 6.6vw, 26px);
  }

  .mit-museum-section {
    margin-top: 82px;
    padding-top: 22px;
  }

  .mit-museum-video {
    margin-top: 44px;
    padding-top: 0;
  }

  .mit-museum-video__frame {
    padding: 10px 0;
  }

  .mit-museum-support {
    padding: 24px 18px;
  }

  .mit-museum-reading__subheading {
    margin-top: 2em;
    font-size: 18px;
  }

  .mit-museum-support,
  .mit-museum-facts,
  .mit-museum-official-links,
  .mit-museum-notes {
    margin-top: 68px;
  }

  .mit-museum-location {
    margin-top: 54px;
  }

  .mit-museum-section > h2,
  .mit-museum-related > h2 {
    margin-bottom: 27px;
    font-size: clamp(23px, 6.6vw, 26px);
  }

  .mit-museum-facts__group {
    margin-bottom: 48px;
  }

  .mit-museum-facts__row {
    display: block;
    padding: 13px 1px 14px;
    font-size: 14.5px;
  }

  .mit-museum-facts__row dt {
    margin-bottom: 6px;
    font-size: 12.5px;
  }

  .mit-museum-map-frame {
    aspect-ratio: 4 / 3;
  }

  .mit-museum-related {
    margin-top: 96px;
    padding-top: 24px;
  }

  .mit-museum-related .mit-result-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 16px;
  }

  .mit-museum-related__all {
    margin-top: 28px;
    text-align: left;
  }
}

/* ==========================================================================
 * FIXED / READING PAGES
 * Shared title rhythm plus opt-in standard and dedicated reading layouts.
 * ========================================================================== */

body.mit-fixed-page,
body.mit-reading-page {
  --mit-reading-title-offset: clamp(34px, 4vw, 52px);
  --mit-reading-body-size: 17px;
  --mit-reading-body-weight: 400;
  --mit-reading-body-leading: 1.82;
  --mit-reading-section-number-size: 16px;
  --mit-reading-section-number-gap: 18px;
  --mit-reading-section-heading-size: clamp(27px, 2.55vw, 31px);
  --mit-reading-section-space: clamp(78px, 8vw, 116px);
  --mit-reading-section-padding: 32px;
}

body.mit-fixed-page .wp-block-post-title {
  margin-top: var(--mit-reading-title-offset);
}

/* The block-theme page shell already supplies the shared header offset.
   Avoid stacking its inner full-width padding on top of the title offset. */
body.mit-fixed-page main > .alignfull.has-global-padding {
  padding-top: 0 !important;
}

body.mit-reading-page {
  --mit-reading-text: #151515;
  --mit-reading-muted: #5f5f5f;
  --mit-reading-rule: rgba(0, 0, 0, 0.12);
  background: #fff;
  color: var(--mit-reading-text);
  font-family: Inter, "Noto Sans JP", sans-serif;
}

body.mit-reading-page main {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--mit-content-wide, 1180px);
  margin-inline: auto;
  padding-inline: 32px;
}

body.mit-reading-page .wp-block-post-title {
  width: min(100%, var(--mit-content-narrow, 760px));
  max-width: none;
  margin: var(--mit-reading-title-offset) auto 0;
  font-family: inherit;
  font-size: clamp(28px, 2.35vw, 30px);
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: -0.015em;
}

.mit-reading-content {
  box-sizing: border-box;
  color: var(--mit-reading-text);
  font-family: inherit;
  font-size: var(--mit-reading-body-size);
  font-weight: var(--mit-reading-body-weight);
  line-height: var(--mit-reading-body-leading);
}

.mit-reading-content--standard {
  width: min(var(--mit-content-narrow, 760px), calc(100vw - 64px));
  max-width: none;
  margin: 34px auto clamp(96px, 10vw, 144px);
}

.mit-reading-content p {
  margin-block: 0 22px;
}

/* Reusable editorial roles for standard Paragraph blocks on fixed pages. */
body.mit-reading-page p.is-style-mit-page-section-number {
  margin: 0 0 18px;
  color: var(--mit-reading-muted);
  font-size: 13px;
  font-weight: 300;
  line-height: 1.5;
  letter-spacing: 0.1em;
}

body.mit-reading-page p.is-style-mit-page-copy {
  margin: 0 0 48px;
  font-size: clamp(42px, 4.25vw, 52px);
  font-weight: 500;
  line-height: 1.32;
  letter-spacing: -0.03em;
}

body.mit-reading-page p.is-style-mit-page-lead {
  margin: 0 0 40px;
  font-size: 19px;
  font-weight: 300;
  line-height: 1.9;
}

.mit-reading-content a {
  color: inherit;
  text-decoration-line: underline;
  text-decoration-color: rgba(0, 0, 0, 0.38);
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.mit-reading-content a:hover,
.mit-reading-content a:focus-visible {
  text-decoration-color: currentColor;
}

.mit-reading-content--standard > .mit-reading-page__lead {
  font-size: inherit;
  line-height: inherit;
}

.mit-reading-content--standard > .mit-reading-page__lead:last-of-type {
  margin-bottom: 0;
}

.mit-reading-content--standard h2 {
  margin: var(--mit-reading-section-space) 0 22px;
  font-size: var(--mit-reading-section-heading-size);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: -0.01em;
}

.mit-reading-content--standard > .mit-reading-page__numbered-heading:first-child {
  margin-top: 0;
}

.mit-page-introduction,
.is-style-mit-page-introduction,
.mit-glossary-introduction {
  box-sizing: border-box;
  width: 100%;
  margin-top: 0;
  background: transparent;
}

.mit-reading-content--standard > .is-style-mit-page-introduction.has-global-padding {
  padding-inline: 0 !important;
}

.mit-reading-content--standard > .is-style-mit-page-introduction.has-global-padding > * {
  width: 100%;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.mit-page-introduction > h2,
.is-style-mit-page-introduction > h2,
.mit-glossary-introduction > h2 {
  margin: 0 0 28px;
  padding: 0;
  border: 0;
  font-size: clamp(23px, 2.2vw, 27px);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: -0.012em;
}

.mit-page-introduction > :last-child,
.is-style-mit-page-introduction > :last-child,
.mit-glossary-introduction > :last-child {
  margin-bottom: 0;
}

.mit-reading-page__numbered-heading {
  display: flex;
  flex-flow: row nowrap;
  gap: var(--mit-reading-section-number-gap);
  align-items: baseline;
}

.mit-reading-page__number {
  flex: 0 0 auto;
  color: var(--mit-reading-muted);
  font-size: var(--mit-reading-section-number-size);
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0.06em;
}

.mit-reading-content--standard h3 {
  margin: 36px 0 16px;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.55;
}

.mit-reading-content--standard ul,
.mit-reading-content--standard ol {
  margin: 0 0 24px;
  padding-left: 1.35em;
}

.mit-reading-content--standard li {
  margin-bottom: 10px;
  padding-left: 0.2em;
}

/* Dynamic prefecture ranking inside the shared TYPE A reading column. */
.mit-reading-content--standard > .mit-ranking-list {
  width: 100%;
  margin: 40px 0 0;
  padding: 0;
  list-style: none;
  border-bottom: 1px solid var(--mit-reading-rule);
}

.mit-reading-content--standard > .mit-ranking-list > li {
  display: grid;
  grid-template-columns: 3.25rem minmax(0, 1fr) auto;
  gap: 18px;
  align-items: baseline;
  min-width: 0;
  margin: 0;
  padding: 20px 0;
  border-top: 1px solid var(--mit-reading-rule);
}

.mit-reading-content--standard > .mit-ranking-list > li > span {
  color: var(--mit-reading-muted);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.06em;
}

.mit-reading-content--standard > .mit-ranking-list > li > a {
  min-width: 0;
  font-size: inherit;
  font-weight: 500;
  line-height: 1.65;
  text-decoration-color: transparent;
}

.mit-reading-content--standard > .mit-ranking-list > li > a:hover,
.mit-reading-content--standard > .mit-ranking-list > li > a:focus-visible {
  text-decoration-color: currentColor;
}

.mit-reading-content--standard > .mit-ranking-list > li > strong {
  justify-self: end;
  white-space: nowrap;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
}

.mit-reading-content--standard > .mit-ranking-list > li > strong > small {
  margin-left: 0.22em;
  font-size: 0.72em;
  font-weight: 400;
}

/* Contact form: a quiet, single-column extension of the shared reading page. */
.mit-contact-form-wrap {
  width: 100%;
  margin: 48px 0 0;
}

.mit-contact-form,
.mit-contact-form * {
  box-sizing: border-box;
}

.mit-contact-field {
  margin: 0;
  padding: 28px 0;
  border-top: 1px solid var(--mit-reading-rule);
}

.mit-contact-field > label,
.mit-contact-field--checkbox label {
  display: block;
  margin: 0 0 12px;
  color: var(--mit-reading-text);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
}

.mit-contact-required {
  margin-left: 0.6em;
  color: var(--mit-reading-muted);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.04em;
}

.mit-contact-form select,
.mit-contact-form textarea,
.mit-contact-form input[type="text"],
.mit-contact-form input[type="email"] {
  display: block;
  width: 100%;
  margin: 0;
  border: 1px solid rgba(17, 17, 17, 0.34);
  border-radius: 0;
  background: #fff;
  color: var(--mit-reading-text);
  font: inherit;
  font-size: 16px;
  line-height: 1.65;
}

.mit-contact-form select,
.mit-contact-form input[type="text"],
.mit-contact-form input[type="email"] {
  min-height: 50px;
  padding: 10px 12px;
}

.mit-contact-form textarea {
  min-height: 210px;
  padding: 12px;
  resize: vertical;
}

.mit-contact-form select:focus-visible,
.mit-contact-form textarea:focus-visible,
.mit-contact-form input[type="text"]:focus-visible,
.mit-contact-form input[type="email"]:focus-visible,
.mit-contact-form input[type="checkbox"]:focus-visible,
.mit-contact-form button:focus-visible {
  outline: 2px solid var(--mit-accent-red);
  outline-offset: 3px;
}

.mit-contact-form [aria-invalid="true"] {
  border-color: #8d2e23;
}

.mit-contact-note,
.mit-reading-content .mit-contact-note {
  margin: 10px 0 0;
  color: #55524e;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.75;
}

.mit-contact-error,
.mit-reading-content .mit-contact-error {
  margin: 10px 0 0;
  color: #8d2e23;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.65;
}

.mit-contact-field--checkbox label {
  display: inline-flex;
  gap: 11px;
  align-items: center;
  margin: 0;
  cursor: pointer;
}

.mit-contact-field--checkbox input[type="checkbox"] {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  margin: 0;
  accent-color: #111;
}

.mit-contact-form.is-enhanced .mit-contact-organization-fields[hidden] {
  display: none;
}

.mit-contact-actions {
  padding-top: 32px;
  border-top: 1px solid var(--mit-reading-rule);
}

.mit-contact-actions button {
  min-width: 152px;
  min-height: 50px;
  padding: 12px 28px;
  border: 1px solid #111;
  border-radius: 0;
  background: #111;
  color: #fff;
  font: inherit;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.5;
  cursor: pointer;
  transition: background-color 150ms ease, color 150ms ease;
}

.mit-contact-actions button:hover {
  background: #fff;
  color: #111;
}

.mit-contact-errors,
.mit-contact-success {
  margin: 0 0 30px;
  padding: 22px 0;
  border-top: 1px solid var(--mit-reading-rule);
  border-bottom: 1px solid var(--mit-reading-rule);
  outline: 0;
}

.mit-contact-errors p,
.mit-reading-content .mit-contact-errors p,
.mit-contact-success p,
.mit-reading-content .mit-contact-success p {
  margin: 0;
}

.mit-contact-success h2,
.mit-reading-content--standard .mit-contact-success h2 {
  margin: 0 0 14px;
  padding: 0;
  border: 0;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.5;
}

.mit-contact-honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

/* Glossary */
body.mit-reading-page--glossary {
  --mit-glossary-content-column: 680px;
}

body.mit-reading-page--glossary .wp-block-post-title,
.mit-reading-content--glossary {
  box-sizing: border-box;
  width: min(100%, var(--mit-glossary-content-column));
  max-width: none;
  margin-inline: auto;
}

.mit-reading-content--glossary {
  margin: 34px auto clamp(96px, 10vw, 144px);
}

/* Keep the page title and every top-level glossary block on one content axis.
   Gutenberg adds inline padding to Group blocks carrying has-global-padding;
   the outer reading column already provides the required page gutter. */
.mit-reading-content--glossary > .wp-block-group.has-global-padding {
  padding-inline: 0 !important;
}

.mit-reading-content--glossary > .wp-block-group.has-global-padding > * {
  width: 100%;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.mit-glossary-introduction {
  width: 100%;
  margin: 0 0 clamp(76px, 8vw, 104px);
}

.mit-glossary-introduction > h2 {
  text-wrap: balance;
}

.mit-glossary-introduction > p {
  max-width: 40rem;
  text-wrap: pretty;
}

.mit-glossary-lead {
  margin-bottom: 14px !important;
}

.mit-glossary-section {
  width: 100%;
  margin: clamp(84px, 9vw, 124px) 0 0;
  padding-top: 30px;
  border-top: 1px solid var(--mit-reading-rule);
}

.mit-glossary-introduction + .mit-glossary-section {
  margin-top: 0;
}

.mit-glossary-section > .mit-page-section-heading {
  display: flex;
  flex-wrap: nowrap;
  gap: var(--mit-reading-section-number-gap);
  align-items: baseline;
  margin: 0 0 42px;
}

.mit-glossary-section > .mit-page-section-heading > p.is-style-mit-page-section-number {
  flex: 0 0 auto;
  margin: 0;
  font-size: var(--mit-reading-section-number-size);
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0.06em;
}

.mit-glossary-section > .mit-page-section-heading > h2 {
  margin: 0;
  scroll-margin-top: 76px;
  font-size: var(--mit-reading-section-heading-size);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: -0.015em;
}

.mit-glossary-section__description {
  max-width: 40rem;
  margin-bottom: 0 !important;
  text-wrap: pretty;
}

.mit-glossary-subterms {
  width: 100%;
  margin: 38px 0 0;
  padding: 0 0 0 28px !important;
  border-left: 1px solid var(--mit-reading-rule);
}

.mit-glossary-subterm {
  width: 100%;
  margin: 0;
  padding: 0 !important;
}

.mit-glossary-subterm + .mit-glossary-subterm {
  margin-top: 28px;
  padding-top: 28px !important;
  border-top: 1px solid var(--mit-reading-rule);
}

.mit-glossary-subterm > h3 {
  margin: 0 0 13px;
  scroll-margin-top: 76px;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.5;
}

.mit-glossary-subterm > p {
  margin: 0;
  text-wrap: pretty;
}

/* PPP/PFI concept hierarchy: restrained indentation and rules, not cards. */
.mit-glossary-subterms--hierarchy {
  padding-left: 28px !important;
  border-left: 1px solid var(--mit-reading-rule);
}

.mit-glossary-subterms--hierarchy > .mit-glossary-subterm + .mit-glossary-subterm {
  margin-top: 30px;
  padding-top: 0 !important;
  border-top: 0;
}

.mit-glossary-subterms--hierarchy > .mit-glossary-subterm--level-2 + .mit-glossary-subterm--level-1 {
  margin-top: 28px;
  padding-top: 28px !important;
  border-top: 1px solid var(--mit-reading-rule);
}

.mit-glossary-subterm--level-1,
.mit-glossary-subterm--level-2 {
  position: relative;
  border-left: 0;
}

.mit-glossary-subterm--level-1 {
  width: calc(100% - 28px);
  margin-left: 28px !important;
  padding-left: 0 !important;
}

.mit-glossary-subterm--level-2 {
  width: calc(100% - 56px);
  margin-left: 56px !important;
  padding-left: 0 !important;
}

.mit-glossary-display-note {
  width: 100%;
  margin: 48px 0 0;
  padding: 26px 0 0 !important;
  border-top: 1px solid var(--mit-reading-rule);
}

.mit-glossary-display-note > h3 {
  margin: 0 0 24px;
  color: var(--mit-reading-muted);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.6;
}

.mit-glossary-display-note > .mit-glossary-subterm {
  padding-left: 0 !important;
  border-left: 0;
}

.mit-glossary-subterm--display-state > h4 {
  margin: 0 0 13px;
  scroll-margin-top: 76px;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.5;
}

/* About page: an editorial reading flow built entirely from post_content blocks. */
body.mit-reading-page--about {
  --mit-about-content-column: 680px;
}

body.mit-reading-page--about .wp-block-post-title,
.mit-reading-content--about {
  box-sizing: border-box;
  width: min(100%, var(--mit-about-content-column));
  max-width: none;
  margin-inline: auto;
}

.mit-reading-content--about {
  margin: clamp(42px, 5vw, 58px) auto clamp(104px, 10vw, 144px);
}

body.mit-reading-page--about .wp-block-post-title {
  margin-top: var(--mit-reading-title-offset);
}

body.mit-reading-page--about main .alignfull.has-global-padding {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: 0 !important;
  padding-inline: 0 !important;
}

.mit-reading-content--about > .mit-about-section {
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  padding: clamp(110px, 10vw, 148px) 0 0;
}

.mit-reading-content--about > .mit-about-section:first-child {
  padding-top: 0;
}

/* Cancel Gutenberg's nested constrained width so every section child uses
   the same left edge as the About content column. */
.mit-reading-content--about > .mit-about-section > * {
  width: 100%;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.mit-reading-section__kicker,
.mit-about-section__kicker {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: baseline;
  margin: 0 0 18px;
  color: var(--mit-reading-muted);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

.mit-reading-section__number,
.mit-about-section__number {
  font-weight: 300;
  letter-spacing: 0.1em;
}

.mit-about-section > h2 {
  margin: 0 0 34px;
  font-size: clamp(27px, 2.55vw, 31px);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: -0.015em;
}

.mit-about-section > .mit-page-section-heading {
  display: flex;
  flex-wrap: nowrap;
  gap: var(--mit-reading-section-number-gap);
  align-items: baseline;
  width: 100%;
  margin: 0 0 34px;
}

.mit-about-section--intro > .mit-page-section-heading {
  margin-bottom: 28px;
}

.mit-about-section > .mit-page-section-heading > p.is-style-mit-page-section-number {
  position: static;
  flex: 0 0 auto;
  margin: 0;
  transform: none;
  color: var(--mit-reading-muted);
  font-size: var(--mit-reading-section-number-size);
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0.06em;
}

.mit-about-section > .mit-page-section-heading > h2 {
  margin: 0;
  font-size: var(--mit-reading-section-heading-size);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: -0.015em;
}

.mit-about-section > p {
  margin: 0 0 1.2em;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.82;
}

.mit-about-section--intro {
  width: 100% !important;
}

.mit-about-section--intro > h2 {
  margin-bottom: 38px;
  font-size: clamp(27px, 2.55vw, 31px);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: -0.015em;
}

.mit-reading-content--about > .mit-about-section--why {
  padding-top: clamp(168px, 16vw, 224px);
}

.mit-reading-content--about > .mit-about-section--information,
.mit-reading-content--about > .mit-about-section--data {
  padding-top: clamp(116px, 11vw, 156px);
}

.mit-about-section > h3 {
  margin: 54px 0 26px;
  padding-top: 32px;
  border-top: 1px solid rgba(0, 0, 0, 0.045);
  font-size: 18px;
  font-weight: 500;
  line-height: 1.55;
}

.mit-about-section--information > p,
.mit-about-section--data > p {
  margin-bottom: 1.2em;
}

.mit-about-section > h2 + p,
.mit-about-section > .mit-about-section__kicker + h2 + p {
  margin-top: 0;
}

.mit-about-section > .mit-about-section__note {
  color: var(--mit-reading-muted);
  font-size: 14px;
}

.mit-about-section > .mit-about-section__key-thought {
  margin-block: 34px !important;
  font-size: clamp(18px, 1.8vw, 20px);
  font-weight: 400;
  line-height: 1.85;
  letter-spacing: -0.005em;
}

.mit-about-section--name {
  width: 100% !important;
  padding-top: clamp(126px, 12vw, 170px) !important;
  padding-bottom: 0;
}

.mit-about-section--name > h2 {
  font-size: clamp(27px, 2.55vw, 31px);
  line-height: 1.45;
}

/* Semantic paragraph groups keep related thoughts together without decoration. */
.mit-about-section > .mit-page-prose-group {
  width: 100%;
  margin: 0 0 1.9em;
}

.mit-about-section > .mit-page-prose-group > p {
  margin: 0 0 0.58em;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.82;
}

.mit-about-section > .mit-page-prose-group > p:last-child {
  margin-bottom: 0;
}

body.mit-reading-page--about p.is-style-mit-page-section-number {
  margin-bottom: 14px;
}

body.mit-reading-page--about p.is-style-mit-page-copy {
  margin-bottom: 38px;
  font-size: 17px;
  line-height: 1.82;
}

body.mit-reading-page--about p.is-style-mit-page-lead {
  margin-bottom: 34px;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.78;
}

.mit-about-cta {
  margin-top: 32px !important;
}

.mit-about-cta a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid var(--mit-reading-rule);
  padding-bottom: 0.18em;
}

.mit-about-cta a:hover,
.mit-about-cta a:focus-visible {
  border-bottom-color: currentColor;
}

.mit-about-facts {
  width: 100%;
  margin: 12px 0 0;
  border-top: 1px solid var(--mit-reading-rule);
}

.mit-about-fact {
  display: grid;
  grid-template-columns: minmax(110px, 0.3fr) minmax(0, 1fr);
  gap: 24px;
  margin: 0;
  padding: 17px 0;
  border-bottom: 1px solid var(--mit-reading-rule);
}

.mit-about-fact > p {
  width: 100%;
  max-width: none;
  margin: 0;
  text-align: left;
}

.mit-about-fact > .mit-about-fact__label {
  color: var(--mit-reading-muted);
  font-size: 14px;
}

.mit-about-fact > .mit-about-fact__value {
  font-size: 16px;
  font-weight: 400;
}

/* Shared fixed-page header using the front page's MIT component contract. */
.mit-shared-site-header.mit-site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 48px;
  align-items: center;
  height: 48px;
  background: #fff;
  border-bottom: 1px solid #d7d7d7;
  font-family: Inter, "Noto Sans JP", sans-serif;
}

body.admin-bar .mit-shared-site-header.mit-site-header {
  top: 32px;
}

.mit-shared-site-header .mit-site-name {
  justify-self: center;
  color: #151515;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.055em;
  text-decoration: none;
  white-space: nowrap;
}

.mit-shared-site-header .mit-menu-toggle,
.mit-shared-site-header .mit-header-search {
  display: grid;
  width: 48px;
  height: 48px;
  padding: 0;
  place-items: center;
  border: 0;
  background: transparent;
  color: #151515;
  font-size: 20px;
  text-decoration: none;
  cursor: pointer;
}

.mit-shared-site-header .mit-header-search {
  transform: scaleX(-1);
  transform-origin: center;
}

.mit-shared-site-header .mit-menu-toggle:focus-visible,
.mit-shared-site-header .mit-header-search:focus-visible,
.mit-shared-site-header .mit-site-name:focus-visible {
  outline: 2px solid #111;
  outline-offset: 2px;
}

.mit-shared-site-header .mit-compact-menu {
  position: absolute;
  top: 48px;
  left: 0;
  width: min(320px, 88vw);
  padding: 24px;
  border: 1px solid #d7d7d7;
  border-left: 0;
  background: #fff;
}

.mit-shared-site-header .mit-compact-menu a {
  display: block;
  padding: 12px 0;
  border-bottom: 1px solid #d7d7d7;
  color: #151515;
  text-decoration: none;
}

#mit-site-header .mit-compact-menu .mit-menu-close,
#mit-site-header .mit-compact-menu .mit-nav-legal {
  display: none;
}

#mit-site-header .mit-compact-menu a {
  font-size: 17px;
  font-weight: 400;
  line-height: 1.6;
}

body.mit-menu-open {
  overflow: hidden;
}

@media (min-width: 783px) {
  #mit-site-header .mit-compact-menu {
    position: fixed;
    top: 48px;
    border-top: 0;
  }

  #mit-site-header .mit-compact-menu a {
    border-bottom: 0;
  }

  body.admin-bar #mit-site-header .mit-compact-menu {
    top: 80px;
  }

  body.mit-menu-open {
    overflow: visible;
  }
}

/* One site-wide footer; the old front-page legal block is visually replaced. */
.home .mit-legal-footer {
  display: none !important;
}

.mit-shared-footer {
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  padding: 36px max(32px, calc((100vw - 1180px) / 2)) 32px;
  border-top: 1px solid rgba(17, 17, 17, 0.18);
  background: #fff;
  color: #5f5f5f;
  font-family: Inter, "Noto Sans JP", sans-serif;
}

.mit-footer-nav {
  margin-bottom: 28px;
}

.mit-footer-nav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: fit-content;
  max-width: 100%;
  gap: 8px 0;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}

.mit-footer-nav li {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}

.mit-footer-nav li:not(:last-child)::after {
  content: "|";
  margin-inline: 12px;
  color: rgba(17, 17, 17, 0.25);
}

.mit-footer-nav a {
  color: #4f4f4f;
  font-size: 13px !important;
  line-height: 1.6 !important;
  text-decoration: none;
}

.mit-footer-nav a:hover,
.mit-footer-nav a:focus-visible {
  color: #151515;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.mit-footer-legal {
  width: min(100%, 760px);
  max-width: none;
  margin-inline: auto;
  text-align: left;
}

.mit-footer-legal p {
  margin: 0 0 8px;
  color: #6a6a6a;
  font-size: 12px !important;
  font-weight: 400;
  line-height: 1.75 !important;
}

.mit-footer-legal p:last-child {
  margin-bottom: 0;
}

/* Quiet section transitions for numbered fixed-page chapters. */
.mit-reading-content--about > .mit-about-section {
  margin-top: var(--mit-reading-section-space);
  padding-top: var(--mit-reading-section-padding);
  border-top: 1px solid var(--mit-reading-rule);
}

.mit-reading-content--about > .mit-about-section:first-child {
  margin-top: 0;
  padding-top: var(--mit-reading-section-padding);
}

.mit-reading-content--about > .mit-about-section--name,
.mit-reading-content--about > .mit-about-section--data {
  padding-top: var(--mit-reading-section-padding) !important;
}

.mit-reading-content--standard .mit-reading-page__numbered-heading {
  padding-top: var(--mit-reading-section-padding);
  border-top: 1px solid var(--mit-reading-rule);
}

/* Privacy policy: retain the shared legal-page typography, with a tighter
   chapter rhythm than the editorial fixed pages. */
body.page-id-3 .mit-reading-content--standard > h2.mit-reading-page__numbered-heading {
  margin-top: clamp(55px, 5.75vw, 84px);
}

body.page-id-3 .mit-reading-content--standard > h2.mit-reading-page__numbered-heading:first-of-type {
  margin-top: clamp(62px, 6.4vw, 93px);
}

/* FAQ accordion: Core Group + first-child H3 remains editable in post_content. */
body.mit-reading-page--faq .mit-reading-content--standard > .mit-faq-item {
  box-sizing: border-box;
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border-top: 1px solid var(--mit-reading-rule);
  background: transparent;
}

body.mit-reading-page--faq .mit-reading-content--standard > .mit-faq-item > * {
  width: 100%;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.mit-reading-page--faq .mit-reading-content--standard > .mit-faq-item + h2 {
  margin-top: clamp(52px, 5.5vw, 72px);
}

body.mit-reading-page--faq .mit-reading-content--standard > h2 {
  margin-bottom: 14px;
}

body.mit-reading-page--faq .mit-faq-item > .mit-faq-heading {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.65;
}

body.mit-reading-page--faq .mit-faq-question {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  width: 100%;
  min-height: 72px;
  margin: 0;
  padding: 20px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

body.mit-reading-page--faq .mit-faq-question__text {
  min-width: 0;
  word-break: normal;
  overflow-wrap: anywhere;
  text-wrap: pretty;
}

body.mit-reading-page--faq .mit-faq-question__icon {
  display: block;
  min-width: 1em;
  color: var(--mit-reading-muted);
  font-size: 21px;
  font-weight: 300;
  line-height: 1;
  text-align: center;
}

body.mit-reading-page--faq .mit-faq-question:hover .mit-faq-question__icon,
body.mit-reading-page--faq .mit-faq-question:focus-visible .mit-faq-question__icon {
  color: var(--mit-reading-text);
}

body.mit-reading-page--faq .mit-faq-question:focus-visible {
  outline: 2px solid var(--mit-accent-red);
  outline-offset: 4px;
}

body.mit-reading-page--faq .mit-faq-answer {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  transition: grid-template-rows 200ms ease, opacity 160ms ease;
}

body.mit-reading-page--faq .mit-faq-answer[hidden] {
  display: none;
}

body.mit-reading-page--faq .mit-faq-answer.is-open {
  grid-template-rows: 1fr;
  opacity: 1;
}

body.mit-reading-page--faq .mit-faq-answer__inner {
  min-height: 0;
  overflow: hidden;
  padding: 0 42px 24px 0;
}

body.mit-reading-page--faq .mit-faq-answer__inner > * {
  width: 100%;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.mit-reading-page--faq .mit-faq-answer__inner > :last-child {
  margin-bottom: 0;
}

body.mit-reading-page--faq .mit-faq-item:last-child {
  border-bottom: 1px solid var(--mit-reading-rule);
}

@media (max-width: 782px) {
  .mit-shared-site-header.mit-site-header {
    grid-template-columns: 46px minmax(0, 1fr) 46px;
    height: 46px;
  }

  body.admin-bar .mit-shared-site-header.mit-site-header {
    top: 46px;
  }

  .mit-shared-site-header .mit-menu-toggle,
  .mit-shared-site-header .mit-header-search {
    width: 46px;
    height: 46px;
  }

  .mit-shared-site-header .mit-site-name {
    font-size: 15px;
  }

  .mit-shared-site-header .mit-compact-menu {
    top: 46px;
  }

  html body #mit-site-header .mit-compact-menu {
    position: fixed !important;
    inset: 0 !important;
    z-index: 1100 !important;
    box-sizing: border-box !important;
    display: block;
    width: 100% !important;
    max-width: none !important;
    height: 100dvh !important;
    padding: 88px 28px 40px !important;
    overflow-y: auto !important;
    border: 0 !important;
    background: #fff !important;
  }

  html body #mit-site-header .mit-compact-menu[hidden] {
    display: none !important;
  }

  #mit-site-header .mit-compact-menu .mit-menu-close {
    position: absolute;
    top: 14px;
    right: 14px;
    display: grid;
    width: 48px;
    height: 48px;
    padding: 0;
    place-items: center;
    border: 0;
    background: transparent;
    color: #151515;
    font-size: 30px;
    font-weight: 300;
    line-height: 1;
    cursor: pointer;
    z-index: 1;
    pointer-events: auto;
    touch-action: manipulation;
  }

  #mit-site-header .mit-compact-menu a {
    display: block;
    padding: 11px 0;
    border: 0;
    color: #151515;
    font-size: 17px;
    line-height: 1.6;
    text-align: left;
    text-decoration: none;
  }

  #mit-site-header .mit-compact-menu .mit-nav-legal {
    display: block;
    margin-top: 28px;
    padding-top: 22px;
    border-top: 1px solid rgba(17, 17, 17, 0.12);
  }

  #mit-site-header .mit-compact-menu .mit-nav-legal a {
    color: #5f5f5f;
    font-size: 14px;
  }

  .mit-footer-nav {
    display: none;
  }

  .mit-shared-footer {
    padding: 26px 20px 28px !important;
  }

  .mit-footer-legal p {
    font-size: 12px;
    line-height: 1.75;
  }

  body.mit-reading-page main {
    padding-inline: 20px;
  }

  body.mit-fixed-page,
  body.mit-reading-page {
    --mit-reading-title-offset: 27px;
    --mit-reading-body-size: 16px;
    --mit-reading-section-number-size: 15px;
    --mit-reading-section-number-gap: 14px;
    --mit-reading-section-heading-size: clamp(27px, 7.2vw, 28px);
    --mit-reading-section-space: 64px;
    --mit-reading-section-padding: 26px;
  }

  body.mit-reading-page--about main {
    margin-top: 0 !important;
  }

  body.mit-reading-page main .alignfull.has-global-padding {
    margin-inline: -20px !important;
    padding-inline: 20px !important;
  }

  body.mit-reading-page--about main .alignfull.has-global-padding {
    width: calc(100% + 40px) !important;
    max-width: none !important;
    margin-inline: -20px !important;
    padding-inline: 20px !important;
  }

  body.mit-reading-page--about main > .alignfull.has-global-padding {
    padding-top: 0 !important;
  }

  body.mit-reading-page .wp-block-post-title {
    margin-top: var(--mit-reading-title-offset);
    font-size: clamp(24px, 6.5vw, 26px);
    line-height: 1.4;
  }

  body.mit-reading-page--about .wp-block-post-title {
    width: 100%;
    margin-top: var(--mit-reading-title-offset);
  }

  .mit-reading-content {
    font-size: var(--mit-reading-body-size);
    line-height: var(--mit-reading-body-leading);
  }

  .mit-reading-content--standard,
  .mit-reading-content--glossary {
    margin-top: 30px;
    margin-bottom: 92px;
  }

  .mit-reading-content--standard {
    width: 100%;
    margin-left: 0;
    transform: none;
  }

  .mit-reading-content--standard > .mit-reading-page__lead {
    font-size: inherit;
  }

  .mit-reading-content--standard h2 {
    margin-top: var(--mit-reading-section-space);
    font-size: var(--mit-reading-section-heading-size);
  }

  body.page-id-3 .mit-reading-content--standard > h2.mit-reading-page__numbered-heading {
    margin-top: 46px;
  }

  body.page-id-3 .mit-reading-content--standard > h2.mit-reading-page__numbered-heading:first-of-type {
    margin-top: 51px;
  }

  body.mit-reading-page--faq .mit-faq-item > .mit-faq-heading {
    font-size: 17px;
  }

  body.mit-reading-page--faq .mit-reading-content--standard > .mit-faq-item + h2 {
    margin-top: 48px;
  }

  body.mit-reading-page--faq .mit-reading-content--standard > h2 {
    margin-bottom: 12px;
  }

  body.mit-reading-page--faq .mit-faq-question {
    gap: 18px;
    min-height: 66px;
    padding-block: 18px;
  }

  body.mit-reading-page--faq .mit-faq-question__icon {
    font-size: 20px;
  }

  body.mit-reading-page--faq .mit-faq-answer__inner {
    padding: 0 32px 22px 0;
  }

  .mit-reading-content--standard > .mit-ranking-list {
    margin-top: 32px;
  }

  .mit-reading-content--standard > .mit-ranking-list > li {
    grid-template-columns: 2.5rem minmax(0, 1fr) auto;
    gap: 12px;
    padding-block: 17px;
  }

  .mit-reading-content--standard > .mit-ranking-list > li > span {
    font-size: 12px;
  }

  .mit-reading-content--standard > .mit-ranking-list > li > strong {
    font-size: 15px;
  }

  .mit-contact-form-wrap {
    margin-top: 40px;
  }

  .mit-contact-field {
    padding-block: 24px;
  }

  .mit-contact-field > label,
  .mit-contact-field--checkbox label {
    font-size: 16px;
  }

  .mit-contact-form select,
  .mit-contact-form input[type="text"],
  .mit-contact-form input[type="email"] {
    min-height: 52px;
  }

  .mit-contact-form textarea {
    min-height: 230px;
  }

  .mit-contact-actions {
    padding-top: 26px;
  }

  .mit-contact-actions button {
    width: 100%;
    min-height: 52px;
  }

  .mit-reading-page__numbered-heading {
    gap: var(--mit-reading-section-number-gap);
  }

  .mit-reading-page__number {
    font-size: var(--mit-reading-section-number-size);
  }

  .mit-glossary-introduction {
    margin-bottom: 64px;
  }

  .mit-glossary-introduction > h2 {
    margin-bottom: 22px;
    font-size: clamp(21px, 5.8vw, 24px);
  }

  .mit-glossary-lead {
    margin-bottom: 12px !important;
  }

  .mit-glossary-section {
    margin-top: 72px;
    padding-top: 24px;
  }

  .mit-glossary-section > .mit-page-section-heading {
    gap: var(--mit-reading-section-number-gap);
    margin-bottom: 34px;
  }

  .mit-glossary-section > .mit-page-section-heading > p.is-style-mit-page-section-number {
    font-size: var(--mit-reading-section-number-size);
  }

  .mit-glossary-section > .mit-page-section-heading > h2 {
    font-size: var(--mit-reading-section-heading-size);
  }

  .mit-glossary-section__description {
    line-height: 1.82;
  }

  .mit-glossary-subterms {
    margin-top: 32px;
    padding-left: 18px !important;
  }

  .mit-glossary-subterm + .mit-glossary-subterm {
    margin-top: 24px;
    padding-top: 24px !important;
  }

  .mit-glossary-subterm > h3 {
    margin-bottom: 11px;
    font-size: 17px;
  }

  .mit-glossary-subterm--level-1 {
    width: calc(100% - 16px);
    margin-left: 16px !important;
    padding-left: 0 !important;
  }

  .mit-glossary-subterm--level-2 {
    width: calc(100% - 32px);
    margin-left: 32px !important;
    padding-left: 0 !important;
  }

  .mit-glossary-subterms--hierarchy {
    padding-left: 18px !important;
  }

  .mit-glossary-subterms--hierarchy > .mit-glossary-subterm--level-2 + .mit-glossary-subterm--level-1 {
    margin-top: 24px;
    padding-top: 24px !important;
  }

  .mit-glossary-display-note {
    margin-top: 38px;
    padding-top: 22px !important;
  }

  .mit-glossary-display-note > h3 {
    margin-bottom: 20px;
  }

  .mit-glossary-display-note > .mit-glossary-subterm {
    padding-left: 0 !important;
  }

  .mit-glossary-subterm--display-state > h4 {
    margin-bottom: 11px;
    font-size: 17px;
  }

  .mit-reading-content--about {
    left: 0;
    width: 100%;
    margin-top: 36px;
    margin-bottom: 96px;
    font-size: 16px;
    line-height: 1.82;
    transform: none;
  }

  .mit-reading-content--about > .mit-about-section {
    padding-top: 96px;
  }

  body.mit-reading-page p.is-style-mit-page-section-number {
    margin-bottom: 16px;
    font-size: 12.5px;
  }

  .mit-about-section > h2 {
    margin-bottom: 28px;
    font-size: clamp(24px, 6.7vw, 27px);
  }

  .mit-about-section > .mit-page-section-heading {
    display: flex;
    flex-wrap: nowrap;
    gap: var(--mit-reading-section-number-gap);
    align-items: baseline;
    margin-bottom: 28px;
  }

  .mit-about-section--intro > .mit-page-section-heading {
    margin-bottom: 20px;
  }

  .mit-about-section > .mit-page-section-heading > p.is-style-mit-page-section-number {
    position: static;
    flex: 0 0 auto;
    transform: none;
    font-size: var(--mit-reading-section-number-size);
  }

  .mit-about-section > .mit-page-section-heading > h2 {
    font-size: var(--mit-reading-section-heading-size);
    line-height: 1.45;
  }

  .mit-about-section--intro > h2 {
    margin-bottom: 28px;
    font-size: clamp(24px, 6.7vw, 27px);
    line-height: 1.45;
  }

  .mit-about-section > p {
    margin-bottom: 1.2em;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.82;
  }

  body.mit-reading-page--about p.is-style-mit-page-copy {
    margin-bottom: 32px;
    font-size: 16px;
    line-height: 1.82;
  }

  body.mit-reading-page--about p.is-style-mit-page-lead {
    margin-bottom: 30px;
    font-size: 17px;
    line-height: 1.8;
  }

  .mit-reading-content--about > .mit-about-section--why {
    padding-top: 144px;
  }

  .mit-reading-content--about > .mit-about-section--information,
  .mit-reading-content--about > .mit-about-section--data {
    padding-top: 104px;
  }

  .mit-about-section > h3 {
    margin-top: 46px;
    margin-bottom: 23px;
    padding-top: 28px;
    font-size: 17px;
  }

  .mit-about-section--name {
    width: 100% !important;
    padding-top: 112px !important;
    padding-bottom: 0;
  }

  .mit-about-section--name > h2 {
    font-size: clamp(24px, 6.7vw, 27px);
  }

  .mit-about-section > .mit-page-prose-group {
    margin-bottom: 1.75em;
  }

  .mit-about-section > .mit-page-prose-group > p {
    margin-bottom: 0.58em;
    font-size: 16px;
    line-height: 1.82;
  }

  .mit-reading-content p {
    letter-spacing: normal;
    line-break: strict;
    overflow-wrap: anywhere;
    word-break: normal;
  }

  .mit-reading-content p:not(.is-style-mit-page-copy) br {
    display: none;
  }

  .mit-reading-content--about > .mit-about-section--name p br,
  .mit-reading-content--about > .mit-about-section--data p br {
    display: inline;
  }

  .mit-reading-content--about > .mit-about-section,
  .mit-reading-content--about > .mit-about-section--name,
  .mit-reading-content--about > .mit-about-section--data,
  .mit-reading-content--about > .mit-about-section--information,
  .mit-reading-content--about > .mit-about-section--why {
    margin-top: 64px;
    padding-top: 26px !important;
  }

  .mit-reading-content--about > .mit-about-section:first-child {
    margin-top: 0;
    padding-top: 26px !important;
  }

  .mit-reading-content--standard .mit-reading-page__numbered-heading {
    padding-top: var(--mit-reading-section-padding);
  }

  .mit-about-fact {
    grid-template-columns: 1fr;
    gap: 5px;
    padding-block: 15px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
  }

  body.mit-reading-page--faq .mit-faq-answer {
    transition: none;
  }
}

/* ========================================================================== 
 * ABOUT VISUAL COMPARISON — 0.3.0
 * Three deliberate alternatives using the SAME source illustration.
 * These styles intentionally break out of a narrow Gutenberg content column
 * on desktop while remaining fully fluid on mobile.
 * ========================================================================== */

/* Shared breakout width for all three About comparison styles. */
.wp-block-group.is-style-mit-about-wide-crop,
.wp-block-group.is-style-mit-about-focus-crop,
.wp-block-group.is-style-mit-about-integrated {
  box-sizing: border-box;
  width: min(var(--mit-content-wide), calc(100vw - 64px)) !important;
  max-width: none !important;
  margin-top: var(--mit-section-space) !important;
  margin-bottom: var(--mit-section-space) !important;
  margin-left: 50% !important;
  margin-right: 0 !important;
  transform: translateX(-50%);
}

/* --------------------------------------------------------------------------
 * A — WIDE CROP
 * A calm, architectural chapter break. The illustration becomes a wide strip
 * rather than a standalone artwork; copy returns to a narrow reading measure.
 * -------------------------------------------------------------------------- */
.wp-block-group.is-style-mit-about-wide-crop figure.wp-block-image {
  width: 100% !important;
  max-width: none !important;
  height: clamp(220px, 24vw, 330px) !important;
  margin: 0 0 clamp(50px, 6vw, 76px) !important;
  overflow: hidden;
  background: var(--mit-paper);
}

.wp-block-group.is-style-mit-about-wide-crop figure.wp-block-image img {
  display: block;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  object-fit: cover;
  /* Favour the lower-middle red/black gesture without over-cropping. */
  object-position: 50% 67%;
}

.wp-block-group.is-style-mit-about-wide-crop > .wp-block-heading,
.wp-block-group.is-style-mit-about-wide-crop > p,
.wp-block-group.is-style-mit-about-wide-crop > .wp-block-group:not(:has(figure.wp-block-image)) {
  box-sizing: border-box;
  width: min(100%, var(--mit-content-narrow));
  margin-left: auto;
  margin-right: auto;
}

.wp-block-group.is-style-mit-about-wide-crop .wp-block-heading {
  margin-top: 0;
  margin-bottom: 0.85em;
  font-size: clamp(2rem, 3.35vw, 2.6rem);
  line-height: 1.24;
  letter-spacing: -0.015em;
}

.wp-block-group.is-style-mit-about-wide-crop p {
  line-height: 1.82;
}

/* --------------------------------------------------------------------------
 * B — FOCUS CROP
 * A more graphic, editorial crop. The same illustration is enlarged inside a
 * shallower frame so only its characteristic red/black detail remains visible.
 * -------------------------------------------------------------------------- */
.wp-block-group.is-style-mit-about-focus-crop figure.wp-block-image {
  width: 100% !important;
  max-width: none !important;
  height: clamp(250px, 27vw, 380px) !important;
  margin: 0 0 clamp(48px, 5.5vw, 72px) !important;
  overflow: hidden;
  background: var(--mit-paper);
}

.wp-block-group.is-style-mit-about-focus-crop figure.wp-block-image img {
  display: block;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  object-fit: cover;
  object-position: 48% 72%;
  transform: scale(1.22);
  transform-origin: 48% 72%;
}

.wp-block-group.is-style-mit-about-focus-crop > .wp-block-heading,
.wp-block-group.is-style-mit-about-focus-crop > p,
.wp-block-group.is-style-mit-about-focus-crop > .wp-block-group:not(:has(figure.wp-block-image)) {
  box-sizing: border-box;
  width: min(100%, var(--mit-content-narrow));
  margin-left: auto;
  margin-right: auto;
}

.wp-block-group.is-style-mit-about-focus-crop .wp-block-heading {
  margin-top: 0;
  margin-bottom: 0.85em;
  font-size: clamp(2rem, 3.35vw, 2.6rem);
  line-height: 1.24;
  letter-spacing: -0.015em;
}

.wp-block-group.is-style-mit-about-focus-crop p {
  line-height: 1.82;
}

/* --------------------------------------------------------------------------
 * C — INTEGRATED
 * Recommended MIT direction: the About section itself becomes the graphic.
 * Copy remains primary; the illustration is integrated into an off-white field
 * and gently bleeds toward the edge instead of appearing as a separate artwork.
 * -------------------------------------------------------------------------- */
.wp-block-group.is-style-mit-about-integrated {
  position: relative;
  min-height: clamp(470px, 42vw, 610px);
  padding: clamp(64px, 7vw, 94px) 52% clamp(64px, 7vw, 94px) clamp(52px, 6vw, 84px);
  background: var(--mit-paper);
  overflow: hidden;
}

/* Let a normal Gutenberg text wrapper retain a calm measure. */
.wp-block-group.is-style-mit-about-integrated > *:not(figure),
.wp-block-group.is-style-mit-about-integrated > .wp-block-group:not(:has(figure.wp-block-image)) {
  max-width: 34rem;
}

.wp-block-group.is-style-mit-about-integrated figure.wp-block-image {
  position: absolute !important;
  z-index: 0;
  top: 50%;
  right: -3%;
  transform: translateY(-50%);
  width: min(50%, 610px) !important;
  max-width: 610px !important;
  margin: 0 !important;
  overflow: hidden;
}

.wp-block-group.is-style-mit-about-integrated figure.wp-block-image img {
  display: block;
  width: 100% !important;
  height: auto !important;
  mix-blend-mode: multiply;
}

.wp-block-group.is-style-mit-about-integrated .wp-block-heading,
.wp-block-group.is-style-mit-about-integrated p,
.wp-block-group.is-style-mit-about-integrated ul,
.wp-block-group.is-style-mit-about-integrated ol {
  position: relative;
  z-index: 1;
}

.wp-block-group.is-style-mit-about-integrated .wp-block-heading {
  margin-top: 0;
  margin-bottom: 0.9em;
  font-size: clamp(2rem, 3.35vw, 2.7rem);
  line-height: 1.23;
  letter-spacing: -0.018em;
}

.wp-block-group.is-style-mit-about-integrated p {
  line-height: 1.82;
}

@media (max-width: 782px) {
  .wp-block-group.is-style-mit-about-wide-crop,
  .wp-block-group.is-style-mit-about-focus-crop,
  .wp-block-group.is-style-mit-about-integrated {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none;
    margin-top: var(--mit-section-space-mobile) !important;
    margin-bottom: var(--mit-section-space-mobile) !important;
  }

  .wp-block-group.is-style-mit-about-wide-crop figure.wp-block-image {
    height: clamp(170px, 48vw, 235px) !important;
    margin-bottom: 42px !important;
  }

  .wp-block-group.is-style-mit-about-focus-crop figure.wp-block-image {
    height: clamp(200px, 56vw, 280px) !important;
    margin-bottom: 42px !important;
  }

  .wp-block-group.is-style-mit-about-wide-crop > .wp-block-heading,
  .wp-block-group.is-style-mit-about-wide-crop > p,
  .wp-block-group.is-style-mit-about-wide-crop > .wp-block-group:not(:has(figure.wp-block-image)),
  .wp-block-group.is-style-mit-about-focus-crop > .wp-block-heading,
  .wp-block-group.is-style-mit-about-focus-crop > p,
  .wp-block-group.is-style-mit-about-focus-crop > .wp-block-group:not(:has(figure.wp-block-image)) {
    width: 100%;
    padding-inline: 28px;
  }

  .wp-block-group.is-style-mit-about-integrated {
    min-height: 0;
    padding: 46px 28px 0;
    background: var(--mit-paper);
  }

  .wp-block-group.is-style-mit-about-integrated figure.wp-block-image {
    position: relative !important;
    top: auto;
    right: auto;
    transform: none;
    width: calc(100% + 56px) !important;
    max-width: none !important;
    margin: 38px -28px 0 !important;
  }

  .wp-block-group.is-style-mit-about-wide-crop .wp-block-heading,
  .wp-block-group.is-style-mit-about-focus-crop .wp-block-heading,
  .wp-block-group.is-style-mit-about-integrated .wp-block-heading {
    font-size: clamp(1.75rem, 7.5vw, 2.1rem);
    line-height: 1.3;
  }
}


/* ========================================================================== 
 * ABOUT CROP FIXES — 0.3.1
 * Force genuine cropping even when Gutenberg/Image styles or old inline widths
 * remain on nested Image blocks. These rules intentionally come last.
 * ========================================================================== */

/* A — Wide Crop: a true editorial strip, not a full illustration. */
.wp-block-group.is-style-mit-about-wide-crop figure.wp-block-image,
.wp-block-group.is-style-mit-about-wide-crop .wp-block-image {
  position: relative !important;
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  aspect-ratio: 4 / 1 !important;
  margin: 0 0 clamp(50px, 6vw, 76px) !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: var(--mit-paper) !important;
}

.wp-block-group.is-style-mit-about-wide-crop figure.wp-block-image > img,
.wp-block-group.is-style-mit-about-wide-crop .wp-block-image > img,
.wp-block-group.is-style-mit-about-wide-crop .wp-block-image img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: 50% 63% !important;
  transform: none !important;
  transform-origin: center !important;
}

/* B — Focus Crop: zoom into the red horizontal gesture / black circular form. */
.wp-block-group.is-style-mit-about-focus-crop figure.wp-block-image,
.wp-block-group.is-style-mit-about-focus-crop .wp-block-image {
  position: relative !important;
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  aspect-ratio: 3 / 1 !important;
  margin: 0 0 clamp(48px, 5.5vw, 72px) !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: var(--mit-paper) !important;
}

.wp-block-group.is-style-mit-about-focus-crop figure.wp-block-image > img,
.wp-block-group.is-style-mit-about-focus-crop .wp-block-image > img,
.wp-block-group.is-style-mit-about-focus-crop .wp-block-image img {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: 50% 72% !important;
  transform: translate(-50%, -50%) scale(1.7) !important;
  transform-origin: 50% 72% !important;
}

/* Keep the copy readable below either crop, including nested Gutenberg groups. */
.wp-block-group.is-style-mit-about-wide-crop > :not(figure):not(.wp-block-image),
.wp-block-group.is-style-mit-about-focus-crop > :not(figure):not(.wp-block-image),
.wp-block-group.is-style-mit-about-wide-crop > .wp-block-group:not(:has(.wp-block-image)),
.wp-block-group.is-style-mit-about-focus-crop > .wp-block-group:not(:has(.wp-block-image)) {
  box-sizing: border-box;
  width: min(100%, var(--mit-content-narrow));
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 782px) {
  .wp-block-group.is-style-mit-about-wide-crop figure.wp-block-image,
  .wp-block-group.is-style-mit-about-wide-crop .wp-block-image {
    aspect-ratio: 16 / 7 !important;
    margin-bottom: 40px !important;
  }

  .wp-block-group.is-style-mit-about-wide-crop figure.wp-block-image > img,
  .wp-block-group.is-style-mit-about-wide-crop .wp-block-image > img,
  .wp-block-group.is-style-mit-about-wide-crop .wp-block-image img {
    object-position: 50% 62% !important;
  }

  .wp-block-group.is-style-mit-about-focus-crop figure.wp-block-image,
  .wp-block-group.is-style-mit-about-focus-crop .wp-block-image {
    aspect-ratio: 16 / 8 !important;
    margin-bottom: 40px !important;
  }

  .wp-block-group.is-style-mit-about-focus-crop figure.wp-block-image > img,
  .wp-block-group.is-style-mit-about-focus-crop .wp-block-image > img,
  .wp-block-group.is-style-mit-about-focus-crop .wp-block-image img {
    object-position: 50% 70% !important;
    transform: translate(-50%, -50%) scale(1.48) !important;
  }
}

/* Reserve the existing mobile image geometry before the assets arrive. */
@media (max-width: 700px) {
  .home .mit-hero-inner .mit-hero-logo {
    aspect-ratio: 1717 / 916;
  }

  .home .mit-map-panel img[src*="japan-blank-map-v2.svg"] {
    width: min(245px, 70vw) !important;
    aspect-ratio: 1;
  }
}

/* Quiet beta note and breathing room around the home hero introduction. */
.home .mit-hero-inner .mit-hero-site-description {
  margin: 24px auto 12px !important;
}

.home .mit-hero-beta-note {
  display: block;
  margin-top: 12px;
  color: #777;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.02em;
}

@media (max-width: 700px) {
  .home .mit-hero-inner .mit-hero-site-description {
    margin: 16px auto 12px !important;
  }
}

/* Shared, quiet hierarchy for facility status and counting units. */
:is(.mit-result-card__tags, .mit-museum-hero__status) span.mit-facility-status {
  border-radius: 0;
  color: #555;
  background: #fff;
  font-weight: 400;
}
:is(.mit-result-card__tags, .mit-museum-hero__status) span.mit-facility-status--open { border-color: #d8d8d8 !important; }
:is(.mit-result-card__tags, .mit-museum-hero__status) span.mit-facility-status--pre-opening {
  border-color: #888 !important;
  border-style: dashed !important;
}
:is(.mit-result-card__tags, .mit-museum-hero__status) span.mit-facility-status--long-term-closed {
  color: #333;
  border-color: #888 !important;
  background: #f0f0f0;
  font-weight: 500;
}
:is(.mit-result-card__tags, .mit-museum-hero__status) span.mit-facility-status--closed {
  color: #fff;
  border-color: #444 !important;
  background: #444;
  font-weight: 500;
}
.mit-stat-note {
  margin: 12px 0 0;
  color: #666;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.7;
}
.mit-prefecture-map-layout { grid-template-columns: minmax(0, 1fr); }
.mit-prefecture-summary {
  display: grid;
  grid-template-columns: 1fr 1fr 1.4fr;
  align-items: start;
  gap: 32px;
  padding: 32px 0;
  border-left: 0;
  border-top: 1px solid var(--mit-prefecture-rule);
}
.mit-prefecture-summary > * + * {
  border-left: 1px solid var(--mit-prefecture-rule);
  padding-left: 32px;
}
.mit-prefecture-summary__operation-group { margin-top: 0; }
.mit-prefecture-summary__operation-group h3 small {
  display: block;
  margin: 8px 0 0;
}
@media (max-width: 700px) {
  .mit-prefecture-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 18px; }
  .mit-prefecture-summary > * + * { padding-left: 18px; }
  .mit-prefecture-summary__operation-group {
    grid-column: 1 / -1;
    border-left: 0 !important;
    border-top: 1px solid var(--mit-prefecture-rule);
    padding: 24px 0 0;
  }
  .mit-prefecture-summary__operations { width: 100%; }
}

/* Match the existing home operation tags without changing status emphasis. */
:is(.mit-prefecture-page, .mit-search-page) .mit-result-card__tags span:not(.mit-facility-status) {
  font-size: 10px;
  line-height: 1.4;
  padding: 3px 7px;
  border: 1px solid #c8c8c8;
  border-radius: 0;
}
.mit-museum-hero__status {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 16px;
}
.mit-museum-hero__status .mit-facility-status {
  display: inline-block;
  padding: 3px 7px;
  border: 1px solid #c8c8c8;
  font-size: 13px;
  line-height: 1.4;
}

/* Quiet, editor-managed updates between the home beta note and search form. */
.home .mit-search-panel .mit-recent-updates {
  margin: 18px 0 4px;
  padding: 0;
  color: inherit;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  font-size: 12px;
  line-height: 1.6;
}

.home .mit-search-panel .mit-recent-updates :is(h2, h3, h4, h5, h6, .wp-block-heading) {
  margin: 0 0 6px;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.6;
}

.home .mit-search-panel .mit-recent-updates :is(p, ul, ol) {
  margin-top: 0;
  margin-bottom: 6px;
  font-size: 12px;
  line-height: 1.6;
}

.home .mit-search-panel .mit-recent-updates :is(p, ul, ol):last-child {
  margin-bottom: 0;
}

.home .mit-search-panel .mit-recent-updates a {
  color: inherit;
  text-decoration-line: underline;
  text-decoration-color: rgba(0, 0, 0, 0.38);
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.home .mit-search-panel .mit-recent-updates a:hover,
.home .mit-search-panel .mit-recent-updates a:focus-visible {
  text-decoration-color: currentColor;
}

@media (max-width: 700px) {
  .home .mit-search-panel .mit-recent-updates {
    margin-top: 14px;
  }
}
