/* Local Myoko / Nozawa / Madarao multipage candidate. */
html.v2-mno-preview {
  scroll-behavior: auto;
  scroll-padding-top: var(--mnp-sticky-offset, 4.5rem);
}

html.v2-mno-preview body {
  margin: 0;
  color: #193a50;
  background: #f7f8f6;
  font-family: "Noto Sans TC", "Microsoft JhengHei", sans-serif;
  line-height: 1.65;
}

.v2-mno-preview *,
.v2-mno-preview *::before,
.v2-mno-preview *::after { box-sizing: border-box; }
.v2-mno-preview [hidden] { display: none !important; }
.v2-mno-preview :is(button, input, select) { font: inherit; }
.v2-mno-preview :is(a, button, summary, input, select):focus-visible {
  outline: 3px solid #126b9a;
  outline-offset: 4px;
}

.mnp-container {
  width: min(1160px, calc(100% - 64px));
  min-width: 0;
  margin-inline: auto;
}

.mnp-fallback-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  padding: 1rem;
  color: white;
  background: #06285f;
}
.mnp-fallback-nav a { color: inherit; }
.mnp-preview-note { color: #6c592e; background: #f6efdc; font-size: .76rem; }
.mnp-preview-note .mnp-container { padding-block: .45rem; }
.mnp-preview-note b { display: inline-block; margin-right: .5rem; font-weight: 750; }
.mnp-breadcrumb { padding-block: 1rem .65rem; color: #70808b; font-size: .76rem; }
.mnp-breadcrumb nav { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.mnp-breadcrumb a { color: #587186; text-decoration: none; }

.mnp-section-nav {
  position: sticky;
  top: 0;
  z-index: 35;
  border-bottom: 1px solid #dfe6e8;
  background: #f7f8f6;
}
.mnp-nav-links {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 1.3rem;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: #b2c3ca transparent;
}
.mnp-section-nav a {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  min-height: 48px;
  padding: 3px .15rem 0;
  border-bottom: 3px solid transparent;
  color: #536c7c;
  text-decoration: none;
  font-size: .88rem;
  font-weight: 650;
  white-space: nowrap;
}
.mnp-section-nav a[aria-current="page"] { color: #163a50; border-bottom-color: #bc9154; }
.mnp-section-nav a:hover { color: #126b9a; }
.mnp-nav-hint { display: none; margin: 0; padding-block: .1rem .25rem; color: #617887; font-size: .65rem; text-align: right; }
.mnp-section-nav[data-overflow="true"] .mnp-nav-hint { display: block; }

.mnp-eyebrow { margin: 0 0 .4rem; color: #827458; font-size: .68rem; font-weight: 700; letter-spacing: .14em; }
.mnp-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; }
.mnp-button {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  gap: .6rem;
  padding: .62rem 1rem;
  border: 1px solid #b5c7cf;
  border-radius: .5rem;
  color: #244b60;
  background: #fff;
  font-size: .82rem;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
}
.mnp-button:hover { filter: brightness(.96); }
.mnp-button--primary { color: #fff; border-color: #173e59; background: #173e59; }
.mnp-button--gold { color: #21394b; border-color: #e9ca8b; background: #e9ca8b; }
.mnp-button--glass { color: #fff; border-color: #ffffff70; background: #193a5050; }
.mnp-text-link { display: inline-flex; min-height: 44px; align-items: center; color: #265c75; font-size: .87rem; font-weight: 650; text-decoration: underline; text-underline-offset: 5px; }

.mnp-hero {
  position: relative;
  isolation: isolate;
  min-height: 390px;
  margin-top: 1.4rem;
  overflow: hidden;
  border-radius: 1rem;
  background: #294c66;
}
.mnp-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgb(16 45 75 / 88%) 0%, rgb(16 45 75 / 62%) 42%, rgb(16 45 75 / 5%) 82%);
}
.mnp-hero__image { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.mnp-hero__copy { max-width: 44rem; padding: 3rem; color: #fff; }
.mnp-hero .mnp-eyebrow { color: #ddcfb1; letter-spacing: .17em; }
.mnp-hero h1 { margin: .35rem 0 .8rem; color: #fff; font-size: clamp(2.1rem, 4vw, 3.25rem); font-weight: 750; line-height: 1.3; letter-spacing: .08em; }
.mnp-hero__lead { margin: 0 0 1.5rem; color: #f4f7fb; font-size: 1rem; line-height: 1.9; }
.mnp-hero__caption { position: absolute; right: 1.5rem; bottom: 1.1rem; padding: .2rem .5rem; border-radius: .25rem; color: #fff; background: #102d4b88; font-size: .72rem; }

.mnp-section { margin-block: 2.8rem; }
.mnp-section-heading { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: .7rem 1.5rem; margin-bottom: 1rem; }
.mnp-section-heading h2 { margin: 0; color: #193a50; font-size: clamp(1.25rem, 2vw, 1.65rem); line-height: 1.45; }
.mnp-section-heading > p { margin: 0; color: #75828c; font-size: .82rem; }
.mnp-message { padding: 1rem; border: 1px solid #c8dbda; border-radius: .6rem; color: #35665c; background: #eef7f4; }

.mnp-area-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.mnp-area-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid #d4e0e4; border-radius: .8rem; background: #fff; }
.mnp-area-card__header { display: grid; gap: .4rem; min-width: 0; padding: 1.15rem 1.25rem; background: var(--mnp-area-header-color, #224d68); }
.mnp-area-card__content { display: flex; flex: 1; min-width: 0; flex-direction: column; gap: .75rem; padding: 1.25rem; }
.mnp-area-card h3 { margin: 0; color: #183e56; font-size: 1.18rem; }
.mnp-area-card p { margin: 0; color: #607886; font-size: .86rem; }
.mnp-area-card__header h3 { color: #fff; line-height: 1.5; }
.mnp-area-card__header .mnp-eyebrow { color: #f4e6bd; font-size: .74rem; line-height: 1.6; letter-spacing: .1em; overflow-wrap: anywhere; }
.mnp-area-card__metric { color: #7a6540 !important; font-weight: 700; }
.mnp-area-card__lead { color: #315468 !important; font-weight: 650; line-height: 1.75; }
.mnp-area-card__profile { display: grid; gap: .7rem; margin: 0; }
.mnp-area-card__profile > div { padding-top: .65rem; border-top: 1px solid #e0e8eb; }
.mnp-area-card__profile dt { margin: 0 0 .18rem; color: var(--mnp-area-color, #315f7c); font-size: .72rem; font-weight: 750; letter-spacing: .04em; }
.mnp-area-card__profile dd { margin: 0; color: #5f7480; font-size: .8rem; line-height: 1.7; }
.mnp-area-card .mnp-actions { margin-top: auto; }
.mnp-card__map-note { margin: .45rem 0 0; color: #607886; font-size: .76rem; line-height: 1.65; }

.mnp-map-shell { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(17rem, .65fr); gap: 1rem; }
.mnp-map-toolbar { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; }
.mnp-map-toolbar button { min-height: 44px; padding: .55rem .9rem; border: 1px solid #bfd0d7; border-radius: 999px; color: #2b5269; background: #fff; font-weight: 700; cursor: pointer; }
.mnp-map-toolbar button[aria-pressed="true"] { color: #fff; border-color: #285f7f; background: #285f7f; }
.mnp-map-picker { grid-column: 1 / -1; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: .55rem; width: 100%; }
.mnp-map-picker label { font-size: .82rem; font-weight: 700; }
.mnp-map-picker select { min-height: 44px; min-width: 0; padding-inline: .75rem; border: 1px solid #b9ccd4; border-radius: .5rem; color: #193a50; background: #fff; }
.mnp-map-mount { min-width: 0; min-height: 31rem; overflow: hidden; border: 1px solid #d4dfe3; border-radius: .85rem; background: #eaf0f3; }
.mnp-map-mount > .v2-real-map { min-height: 31rem; }
.mnp-map-detail { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid #d4e0e4; border-radius: .85rem; background: #fff; }
.mnp-map-detail .v2-snow-media { margin: 0; aspect-ratio: 4 / 3; border: 0; border-radius: 0; }
.mnp-map-detail :is(.v2-snow-media__image, .v2-snow-media-placeholder) { width: 100%; height: 100%; object-fit: cover; }
.mnp-map-detail__copy { display: flex; flex: 1; flex-direction: column; gap: .65rem; padding: 1rem; }
.mnp-map-detail h3, .mnp-map-detail p { margin: 0; }
.mnp-map-detail p { color: #647986; font-size: .84rem; }

.mnp-guide { padding: 1.4rem; border: 1px solid #d7e2e5; border-radius: .85rem; background: #edf2ef; }
.mnp-guide-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; }
.mnp-guide-group h3 { margin: 0 0 .7rem; color: #234c61; font-size: 1.08rem; }
.mnp-guide-card { overflow: hidden; padding: .85rem; border-radius: .65rem; background: #fff; }
.mnp-guide-card + .mnp-guide-card { margin-top: .55rem; }
.mnp-guide-card__media { aspect-ratio: 16 / 9; margin: -.85rem -.85rem .75rem; border: 0; border-radius: .65rem .65rem 0 0; }
.mnp-guide-card__media :is(.v2-snow-media__image, .v2-snow-media-placeholder) { width: 100%; height: 100%; object-fit: cover; }
.mnp-guide-card :is(h3, h4) { margin: 0 0 .4rem; font-size: .95rem; }
.mnp-guide-card p { margin: 0; color: #657b87; font-size: .78rem; }
.mnp-guide-card .v2-snow-rating { margin-top: .45rem; }
.mnp-resort-page { margin-block: .75rem 1.5rem; }
.mnp-resort-page .mnp-guide-grid { grid-template-columns: minmax(0, 1fr); gap: 1.4rem; }
.mnp-resort-page .mnp-guide-group { scroll-margin-top: var(--mnp-sticky-offset, 4.5rem); }
.mnp-guide-group__heading { display: flex; align-items: baseline; justify-content: space-between; gap: .75rem; margin-bottom: .8rem; border-bottom: 1px solid #d5e1df; }
.mnp-guide-group__heading h2 { margin: 0 0 .5rem; color: #234c61; font-size: 1.14rem; }
.mnp-guide-group__heading span { color: #71828a; font-size: .78rem; }
.mnp-guide-group__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; }
.mnp-resort-page .mnp-guide-card + .mnp-guide-card { margin-top: 0; }

.mnp-course { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; padding: 1.5rem 1.8rem; border-radius: .8rem; background: #f1ece2; }
.mnp-course h2 { margin: 0 0 .4rem; color: #294f5c; font-size: 1.2rem; }
.mnp-course p { margin: 0; color: #746f64; font-size: .84rem; }

.mnp-topic-main { padding-top: 2rem; }
.mnp-topic-header { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(17rem, .85fr); grid-template-areas: "copy media" "action media"; gap: .8rem 1.5rem; align-items: stretch; padding-bottom: 1rem; }
.mnp-topic-header__copy { grid-area: copy; align-self: end; }
.mnp-topic-header__action { grid-area: action; justify-self: start; }
.mnp-topic-header--no-action { grid-template-areas: "copy media"; }
.mnp-topic-header h1 { margin: .25rem 0 .65rem; color: #193a50; font-size: clamp(1.9rem, 3vw, 2.5rem); letter-spacing: .035em; }
.mnp-topic-header p:not(.mnp-eyebrow) { margin: 0; color: #607886; font-size: .9rem; line-height: 1.8; }
.mnp-topic-header__media { position: relative; grid-area: media; min-width: 0; height: clamp(18rem, 25vw, 20rem); overflow: hidden; border: 1px solid #d7e2e7; border-radius: .9rem; background: #e9f0f2; box-shadow: 0 .45rem 1.4rem rgba(22, 58, 80, .08); }
.mnp-topic-header__media img { width: 100%; height: 100%; object-fit: cover; }
.mnp-topic-header__media figcaption { position: absolute; inset-inline: 0; bottom: 0; padding: .35rem .65rem; color: #fff; background: #173e59c9; font-size: .68rem; }

.mnp-filter { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; margin-block: .7rem 1.1rem; }
.mnp-filter button { min-height: 44px; padding: .5rem .85rem; border: 1px solid #bfd0d7; border-radius: .5rem; color: #2d586e; background: #fff; font-weight: 700; cursor: pointer; }
.mnp-filter button[aria-pressed="true"] { color: #fff; border-color: #2c607b; background: #2c607b; }
.mnp-filter__count { margin-left: auto; color: #617887; font-size: .8rem; }
.mnp-topic-groups { display: grid; gap: 1.5rem; }
.mnp-topic-group { scroll-margin-top: var(--mnp-sticky-offset, 4.5rem); }
.mnp-topic-group__heading { display: flex; align-items: baseline; justify-content: space-between; gap: .7rem; margin-bottom: .7rem; border-bottom: 1px solid #dce5e7; }
.mnp-topic-group__heading h2 { margin: 0 0 .45rem; color: #1d465c; font-size: 1.2rem; }
.mnp-topic-group__heading span { color: #758590; font-size: .78rem; }
.mnp-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .9rem; }
.mnp-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid #d5e0e4; border-radius: .75rem; background: #fff; }
.mnp-card > .v2-snow-media { margin: 0; aspect-ratio: 4 / 3; border: 0; border-radius: 0; }
.mnp-card > .v2-snow-media :is(.v2-snow-media__image, .v2-snow-media-placeholder) { width: 100%; height: 100%; object-fit: cover; }
.mnp-card__body { display: flex; flex: 1; flex-direction: column; gap: .55rem; padding: 1rem; }
.mnp-card__meta { display: flex; flex-wrap: wrap; gap: .35rem; }
.mnp-pill { padding: .15rem .45rem; border-radius: .35rem; color: #416678; background: #eef4f4; font-size: .7rem; }
.mnp-card h3 { margin: 0; color: #183e56; font-size: 1rem; line-height: 1.45; }
.mnp-card__summary { margin: 0; color: #617887; font-size: .82rem; }
.mnp-card__actions { display: flex; flex-wrap: wrap; gap: .45rem; }
.mnp-card__actions .mnp-button { min-height: 42px; padding: .48rem .7rem; }
.mnp-card--traffic .mnp-card__actions { gap: .5rem; }
.mnp-card--traffic .mnp-card__summary { line-height: 1.8; }
.mnp-card--traffic .mnp-card__notice {
  margin: .15rem 0; padding: .8rem .9rem; border-left: 3px solid #ac741e; border-radius: .4rem;
  color: #65420e; background: #fff5d8; font-size: .87rem; font-weight: 700; line-height: 1.75;
}
.mnp-card--traffic[data-traffic-media="none"] { display: flex; border-top: 3px solid #386c87; }
.mnp-card--traffic > .mnp-traffic-media--contain { background: #f2f6f8; }
.mnp-card--traffic > .mnp-traffic-media--contain .v2-snow-media__image { object-fit: contain; }
.mnp-resort-distribution .yuzawa-resort-region-intro-card { gap: .75rem; overflow: hidden; padding: 0 1rem 1rem; }
.mnp-resort-distribution .yuzawa-resort-region-intro-card .mnp-resort-distribution__title {
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .4rem .75rem;
  margin: 0 -1rem; padding: .9rem 1rem; color: #fff; background: #194b69;
  font-size: 22px; font-weight: 800; line-height: 1.4;
}
.mnp-resort-distribution .yuzawa-resort-region-intro-card[data-mno-area="nozawa"] .mnp-resort-distribution__title { background: #843f32; }
.mnp-resort-distribution .yuzawa-resort-region-intro-card[data-mno-area="tangram"] .mnp-resort-distribution__title { background: #574275; }
.mnp-resort-distribution .mnp-resort-distribution__count { margin: 0; color: #fff; font-size: .82rem; font-weight: 600; }
@media (max-width: 600px) {
  .mnp-resort-distribution .yuzawa-resort-region-intro-card .mnp-resort-distribution__title { font-size: 20px; }
}
.mnp-card details { margin-top: auto; border-top: 1px solid #e2e9eb; }
.mnp-card summary { min-height: 44px; padding-block: .65rem; color: #295b73; font-size: .8rem; font-weight: 700; cursor: pointer; }
.mnp-facts { display: grid; gap: .5rem; margin: 0; }
.mnp-fact { display: grid; grid-template-columns: 5rem minmax(0, 1fr); gap: .55rem; }
.mnp-fact dt { color: #6e7f87; font-size: .72rem; }
.mnp-fact dd { margin: 0; color: #294e61; font-size: .76rem; overflow-wrap: anywhere; }
.mnp-fact ul { margin: 0; padding-left: 1.1rem; }
.mnp-warning { margin-top: .65rem; padding: .65rem .75rem; border-left: 3px solid #c08a3d; color: #79561e; background: #fff7e8; font-size: .76rem; }
.mnp-policy { margin-bottom: 1rem; padding: .85rem 1rem; border-left: 3px solid #b88945; color: #6c593c; background: #faf3e7; font-size: .82rem; }
.mnp-policy strong { display: block; margin-bottom: .25rem; color: #60491f; }
.mnp-empty { padding: 1rem; color: #657b87; background: #eef3f4; }

.mnp-resource-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .9rem; }
.mnp-resource-grid .v2-snow-resource-card {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  align-items: start;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #d3e1e7;
  border-radius: .9rem;
  background: #fff;
  box-shadow: 0 .35rem 1rem rgba(18, 63, 87, .06);
}
.mnp-resource-grid .v2-snow-resource-card__logo {
  width: 76px;
  height: 66px;
  min-height: 66px;
  margin: .7rem 0 .7rem .7rem;
  padding: .35rem;
  border: 1px solid #e1e9ec;
  border-radius: .4rem;
  background: #fff;
}
.mnp-resource-grid .v2-snow-resource-card__logo :is(img, video, .v2-snow-media-placeholder) {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: contain;
}
.mnp-resource-grid .v2-content-card__body { padding: .7rem .8rem .85rem; }
.mnp-resource-grid .v2-content-card__eyebrow { color: #607d8f; font-size: .76rem; }
.mnp-resource-grid .v2-content-card__title { color: #224d65; font-size: .91rem; line-height: 1.5; }
.mnp-resource-grid .v2-content-card__description,
.mnp-resource-grid .v2-content-card__meta { color: #677e8b; font-size: .77rem; }
.mnp-resource-grid .v2-button {
  min-height: 44px;
  padding: .55rem .8rem;
  border: 1px solid #b5ccd8;
  border-radius: .55rem;
  color: #155879;
  background: #fff;
  font-size: .76rem;
}
.mnp-resource-grid .v2-button:hover { color: #155879; background: #e9f4fa; }
html.v2-mno-preview[data-mno-preview-page="resources"] .mnp-topic-group__heading {
  border-bottom-color: #d3e1e7;
}
html.v2-mno-preview[data-mno-preview-page="resources"] .mnp-topic-group__heading h2 { color: #193a50; }
html.v2-mno-preview[data-mno-preview-page="resources"] .mnp-topic-group__heading span { color: #637e8c; }
.mnp-next { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 2rem; padding: 1.25rem 1.5rem; border-radius: .8rem; background: #eaf0ed; }
.mnp-next h2 { margin: 0 0 .4rem; color: #294f5c; font-size: 1.08rem; }
.mnp-next p { margin: 0; color: #688079; font-size: .84rem; }
.mnp-source-note { margin: 1.5rem 0 2rem; color: #7c8890; font-size: .74rem; line-height: 1.8; }
.mnp-footer-fallback { display: flex; flex-wrap: wrap; justify-content: center; gap: 1.5rem; padding: 2rem 1rem; background: #12324c; }
.mnp-footer-fallback a { color: #fff; font-size: .86rem; }


@media (max-width: 80rem) { .mnp-container { width: min(1080px, calc(100% - 96px)); } }
@media (max-width: 60rem) {
  .mnp-hero__copy { padding: 2.5rem; }
  .mnp-area-grid, .mnp-card-grid, .mnp-resource-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mnp-guide-grid { grid-template-columns: minmax(0, 1fr); }
  .mnp-guide-group__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 47.5rem) {
  .mnp-container { width: calc(100% - 32px); }
  .mnp-preview-note { font-size: .68rem; }
  .mnp-breadcrumb { padding-block: .75rem .25rem; font-size: .7rem; }
  .mnp-nav-links { gap: 1.1rem; }
  .mnp-section-nav a { font-size: .84rem; }
  .mnp-hero { min-height: 350px; margin-top: .9rem; border-radius: .8rem; }
  .mnp-hero__image--mno-overview { object-position: 0 center; }
  .mnp-hero::after { background: linear-gradient(90deg, rgb(16 45 75 / 88%) 0%, rgb(16 45 75 / 58%) 60%, rgb(16 45 75 / 18%) 100%); }
  .mnp-hero__copy { padding: 2rem 1.35rem 2.7rem; }
  .mnp-hero h1 { font-size: 2.05rem; letter-spacing: .05em; }
  .mnp-hero__lead { font-size: .9rem; }
  .mnp-hero__caption { right: .75rem; bottom: .6rem; font-size: .6rem; }
  .mnp-section { margin-block: 2rem; }
  .mnp-area-grid, .mnp-card-grid, .mnp-resource-grid { grid-template-columns: minmax(0, 1fr); }
  .mnp-guide-group__cards { grid-template-columns: minmax(0, 1fr); }
  .mnp-map-shell { grid-template-columns: minmax(0, 1fr); }
  .mnp-map-mount, .mnp-map-mount > .v2-real-map { min-height: 25rem; }
  .mnp-map-detail { min-height: 0; }
  .mnp-topic-main { padding-top: 1.35rem; }
  .mnp-topic-header { grid-template-columns: minmax(0, 1fr); grid-template-areas: "media" "copy" "action"; gap: .8rem; }
  .mnp-topic-header--no-action { grid-template-areas: "media" "copy"; }
  .mnp-topic-header__media { height: auto; aspect-ratio: 16 / 10; }
  .mnp-topic-header h1 { font-size: 1.8rem; }
  .mnp-topic-header p:not(.mnp-eyebrow) { font-size: .83rem; }
  .mnp-filter__count { width: 100%; margin-left: 0; }
  .mnp-card { display: grid; grid-template-columns: minmax(7rem, .38fr) minmax(0, .62fr); }
  .mnp-card > .v2-snow-media { min-height: 100%; aspect-ratio: auto; }
  .mnp-card__body { padding: .85rem; }
  .mnp-card__actions .mnp-button { width: 100%; }
  html.v2-mno-preview[data-mno-preview-page="traffic"] .mnp-card { display: flex; }
  html.v2-mno-preview[data-mno-preview-page="traffic"] .mnp-card > .v2-snow-media {
    flex: 0 0 auto; min-height: 0; min-block-size: 0; aspect-ratio: 4 / 3;
  }
  .mnp-fact { grid-template-columns: minmax(0, 1fr); gap: .1rem; }
  .mnp-course, .mnp-next { padding: 1.15rem; }
}
@media (max-width: 24rem) {
  .mnp-hero h1 { font-size: 1.75rem; letter-spacing: .025em; }
  .mnp-card { display: flex; }
  /* At 320px the lazy image's intrinsic height used to win the flex
     min-content calculation, so stacked photos expanded to the full card
     height and clipped the body. Give media its own resolved 16:9 box while
     keeping the accepted 390px side-by-side card unchanged. */
  html.v2-mno-preview .mnp-card > .v2-snow-media {
    position: relative;
    flex: 0 0 auto;
    inline-size: 100%;
    block-size: auto;
    min-block-size: 0;
    aspect-ratio: 16 / 9;
  }
  html.v2-mno-preview .mnp-card > .v2-snow-media > :is(.v2-snow-media__image, .v2-snow-media-placeholder) {
    position: absolute;
    inset: 0;
    min-block-size: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .v2-mno-preview *, .v2-mno-preview *::before, .v2-mno-preview *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* Traffic is route information, with optional location photographs inside. */
[data-mno-preview-page="traffic"] .mnp-topic-group {padding:24px;background:#fff;border:1px solid #d3e1e8;border-radius:16px;margin:28px 0}
[data-mno-preview-page="traffic"] .mnp-topic-group__heading {display:flex;align-items:end;justify-content:space-between;flex-wrap:wrap;gap:.7rem 1.5rem;margin-bottom:1.1rem;padding-bottom:16px;border-bottom:2px solid #d3e1e8}
[data-mno-preview-page="traffic"] .mnp-topic-group__heading h2 {margin:0;color:#193a50;font-size:clamp(1.2rem,2vw,1.6rem);line-height:1.5}
.mnp-route-list {display:grid;gap:12px}
.mnp-route {border:1px solid #cedde7;border-radius:12px;overflow:hidden;background:#f7fafc}
.mnp-route__title {padding:18px 22px;cursor:pointer;font-weight:700;color:#193a50;line-height:1.6;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px}
.mnp-route__title::-webkit-details-marker {display:none}
.mnp-route__title::after {content:'＋';flex:none;color:#316a91}
.mnp-route[open]>.mnp-route__title::after {content:'−'}
.mnp-route__title:focus-visible {outline:3px solid #075bad;outline-offset:-4px}
.mnp-route .mnp-card {border:0;border-radius:0;box-shadow:none;background:white;display:block}
.mnp-route .mnp-card__body {padding:20px 22px}
.mnp-route .mnp-card > :not(.mnp-card__body) {max-width:560px;margin:20px auto 0}
@media(max-width:600px){[data-mno-preview-page="traffic"] .mnp-topic-group{padding:16px}.mnp-route__title{padding:14px}.mnp-route .mnp-card__body{padding:16px}}

/* Regional section headers match the resort-distribution colours. */
.mnp-topic-group[data-area]>.mnp-topic-group__heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 18px;padding:16px 20px!important;margin:0 0 20px;border:0!important;border-radius:10px;background:#194b69;color:white}
.mnp-topic-group[data-area="nozawa"]>.mnp-topic-group__heading{background:#843f32}
.mnp-topic-group[data-area="tangram"]>.mnp-topic-group__heading{background:#574275}
.mnp-topic-group[data-area="cross"]>.mnp-topic-group__heading{background:#42566a}
.mnp-topic-group[data-area]>.mnp-topic-group__heading h2{color:#fff!important;font-size:clamp(22px,2vw,26px)!important;line-height:1.45;font-weight:800;margin:0}
.mnp-topic-group[data-area]>.mnp-topic-group__heading span{color:#fff;font-weight:600}
