/* SnowYado reading styles: shared type, mobile spacing and touch controls. */
@font-face {
  font-family: 'SnowYado Serif TC';
  src: url('assets/fonts/snowyado-serif-tc.woff2') format('woff2');
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

:root {
  --sans: system-ui, -apple-system, BlinkMacSystemFont, 'PingFang TC', 'Microsoft JhengHei UI', 'Microsoft JhengHei', 'Noto Sans TC', sans-serif;
  --serif: 'SnowYado Serif TC', 'Noto Serif TC', 'Songti TC', 'PMingLiU', serif;
  --reading-muted: #4d6672;
  --reading-paper: #f7faf9;
}

html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { font-family: var(--sans); }
button, input, select, textarea { font: inherit; }
h1, h2, h3 { overflow-wrap: anywhere; letter-spacing: .01em; }
button, summary, .brand-button, .mobile-bottom-bar a { touch-action: manipulation; }
.brand, .footer-brand,
.brand-hero h1, .overview-heading h2, .editorial-feature-copy h2,
.approach-top h2, .approach-grid h3, .resort-card strong,
.region-page h1, .region-page h2, .region-directory h1, .region-directory-card strong,
.hub-article-card h3, .hub-article-section-heading h3, .hub-orientation strong,
.article-v2 h1, .article-v2 h2, .article-v2 h3,
.page-hero h1, .prose-section h2,
.draft-preview-index h1, .draft-preview-tag h1, .draft-preview-card strong { font-family: var(--serif); font-weight: 600; }
.site-header nav { font-family: var(--sans); font-size: 1rem; }
.site-header nav a[aria-current] { color: var(--blue); text-decoration: underline; text-underline-offset: 6px; }
.page-home .brand-hero h1 { font-weight: 600; letter-spacing: .015em; }
.page-home .brand-hero p { font-size: 1.0625rem; line-height: 1.85; }
.page-home .resort-card span { font-size: .9375rem; line-height: 1.7; color: var(--reading-muted); }
.page-home .editorial-feature-copy p { font-size: 1rem; line-height: 1.85; }
.page-home .overview-heading > a, .editorial-feature-copy > a { font-size: .9375rem; line-height: 1.65; }
.page-home .approach-top { grid-template-columns: 1fr auto; align-items: start; gap: 10px 28px; }
.page-home .approach-top h2 { grid-column: 1; border: 0; font-size: clamp(1.5rem, 2.2vw, 2rem); line-height: 1.5; }
.page-home .approach-top p { grid-column: 1; grid-row: 2; font-size: 1rem; line-height: 1.8; }
.page-home .approach-top a { grid-column: 2; grid-row: 1 / 3; align-self: end; font-size: .9375rem; line-height: 1.7; }
.page-home .approach-grid h3 { font-size: 1.1875rem; line-height: 1.6; }
.page-home .approach-grid p { font-size: .9375rem; line-height: 1.8; color: var(--reading-muted); }
.footer-links { font-family: var(--sans); font-size: .9375rem; line-height: 1.8; }
.footer-brand p { font-family: var(--sans); font-size: 1rem; line-height: 1.85; }
.site-footer > small { font-size: .8125rem; line-height: 1.7; }
.region-crumb, .article-v2-breadcrumbs { flex-wrap: wrap; overflow-wrap: anywhere; }
.region-directory-card, .hub-article-card, .hub-base, .hub-zone, .hub-choice,
.article-v2-facts, .article-v2-head, .article-v2-section-head > div { min-width: 0; }
.region-page-hero-copy > a, .region-next a { min-height: 44px; }
.article-v2-body { font-family: var(--sans); overflow-wrap: anywhere; }
.article-v2-facts dd, .article-v2-body td { overflow-wrap: anywhere; }
.gallery { overscroll-behavior-inline: contain; }
.gallery figure { min-width: 0; }
.gallery-controls { flex-shrink: 0; }
.article-v2-body a.affiliate-cta { color: #fff; }
.draft-preview-search { max-width: 760px; margin-bottom: 28px; }
.draft-preview-search label { display: block; margin-bottom: 8px; font-weight: 600; }
.draft-preview-search input { width: 100%; min-height: 52px; padding: 12px 14px; border: 1px solid #9eb5be; border-radius: 4px; background: #fff; color: var(--ink); font-size: 1rem; line-height: 1.6; }
.search-result-count { margin: 10px 0 20px; color: var(--reading-muted); font-size: .875rem; line-height: 1.8; }
.draft-preview-empty { padding: 14px 16px; border-left: 3px solid #7b9caa; background: #eef5f6; font-size: 1rem; line-height: 1.85; }
.draft-preview-card[hidden] { display: none; }
.source-list li { min-width: 0; overflow-wrap: anywhere; }

@media (max-width: 900px) {
  html { scroll-padding-top: 24px; scroll-padding-bottom: 104px; }
  body { font-size: 17px; line-height: 1.85; padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px)); }
  .site-header { padding: 10px 20px; }
  .site-header > .brand { font-size: 1.375rem; line-height: 1.2; }
  .site-header .brand-mark-img { width: 36px; height: 36px; }
  .site-header > .brand small { font-size: .6875rem; letter-spacing: .08em; }
  .site-header > nav { font-size: 1rem; gap: 4px 8px; padding: 10px 0 4px; }
  .site-header > nav a { min-height: 48px; padding: 6px 10px; line-height: 1.5; }
  .site-header .search-link { min-width: 48px; min-height: 48px; }
  .page-home .brand-hero h1 { font-size: clamp(2rem, 5.5vw, 2.9rem); line-height: 1.5; }
  .mobile-bottom-bar { height: auto; min-height: calc(68px + env(safe-area-inset-bottom, 0px)); padding-inline: max(8px, env(safe-area-inset-left, 0px)) max(8px, env(safe-area-inset-right, 0px)); }
  .mobile-bottom-bar a { min-height: 68px; padding: 8px 3px; gap: 5px; font-size: .8125rem; line-height: 1.35; font-weight: 600; }
  .mobile-bottom-bar svg { width: 22px; height: 22px; }
  .mobile-bottom-bar a[aria-current] { color: #145f79; background: #edf5f6; border-radius: 6px; }
  .brand-button, .article-v2-cta { min-height: 50px; font-size: 1rem; font-weight: 600; line-height: 1.65; padding: 13px 18px; }
  .region-search-label, .hub-article-search-label { font-size: .9375rem; line-height: 1.6; margin-top: 24px; }
  .region-directory input[type=search], .hub-article-search { width: 100%; min-height: 52px; font-size: 1rem; line-height: 1.6; padding: 12px 14px; border-radius: 4px; }
  input[type=search]::placeholder { color: #607580; opacity: 1; }
  .region-page, .region-directory, .article-v2 { width: calc(100% - 40px); }
  .region-crumb, .article-v2-breadcrumbs { font-size: .875rem; line-height: 1.7; gap: 5px 9px; padding-block: 18px 22px; margin: 0; }
  .region-crumb a, .article-v2-breadcrumbs a { text-decoration: underline; text-underline-offset: 4px; }
  .region-page-hero h1, .region-directory h1 { font-size: clamp(1.875rem, 7.8vw, 2.125rem); line-height: 1.5; letter-spacing: .015em; }
  .region-page-hero p, .region-directory header p { font-size: 1.0625rem; line-height: 1.85; }
  .region-page-hero-copy > span, .region-section-number { font-size: .8125rem; letter-spacing: .06em; }
  .region-hub-nav { overflow-x: auto; overscroll-behavior-inline: contain; }
  .region-hub-nav a { display: flex; align-items: center; justify-content: center; flex: 0 0 auto; min-height: 48px; font-size: .9375rem; line-height: 1.5; padding: 12px 15px; }
  .region-library-head h2, .hub-places-head h2, .hub-decision h2,
  .region-qa h2, .region-next h2 { font-size: 1.5rem; line-height: 1.6; letter-spacing: .01em; }
  .region-library-head p, .hub-places-head > p, .hub-decision p,
  .region-area p, .hub-start-grid p { font-size: 1rem; line-height: 1.85; color: var(--reading-muted); }
  .hub-draft-notice, .hub-empty { font-size: .875rem; line-height: 1.8; padding: 14px 16px; }
  .hub-article-section-heading { align-items: flex-start; flex-wrap: wrap; gap: 6px 12px; }
  .hub-article-section-heading h3 { font-size: 1.25rem; line-height: 1.55; }
  .hub-article-section-heading span { font-size: .875rem; line-height: 1.8; padding-top: 3px; }
  .hub-article-card > span, .hub-start-grid > a > span { font-size: .875rem; line-height: 1.7; }
  .hub-article-card h3, .hub-start-grid strong { font-size: 1.25rem; line-height: 1.6; letter-spacing: .01em; margin-block: 8px; }
  .hub-article-card p { font-size: .9375rem; line-height: 1.85; -webkit-line-clamp: 3; margin-block: 8px 12px; }
  .hub-article-card > strong, .hub-start-grid em, .hub-decision a { font-size: .9375rem; line-height: 1.7; }
  .hub-orientation p { font-size: 1rem; line-height: 1.8; }
  .hub-orientation small { font-size: .9375rem; line-height: 1.85; color: var(--reading-muted); }
  .hub-orientation strong { font-size: 1.1875rem; line-height: 1.6; }
  .region-directory-card strong { font-size: 1.5rem; line-height: 1.55; }
  .region-directory-card span { font-size: .8125rem; line-height: 1.7; letter-spacing: .06em; }
  .region-directory-card p { font-size: 1rem; line-height: 1.85; }
  .region-sources li span, .article-v2-sources span { font-size: .875rem; line-height: 1.75; color: var(--reading-muted); }
  .region-next a, .article-v2-tags a { min-height: 44px; font-size: .9375rem; line-height: 1.7; }
  .draft-preview-notice { font-size: .875rem; line-height: 1.65; margin: 12px 0 2px; padding: 10px 12px; }
  .draft-preview-return { margin: 0; padding-block: 8px; min-height: 40px; font-size: .875rem; }
  .article-v2-head { margin-bottom: 26px; }
  .article-v2-head > p { font-size: .875rem; line-height: 1.65; letter-spacing: .035em; margin-bottom: 12px; }
  .article-v2-head .article-hotel-name { font-size: .9375rem; line-height: 1.65; letter-spacing: 0; }
  .article-v2-head h1 { font-size: clamp(1.65rem, 7.2vw, 2rem); line-height: 1.55; letter-spacing: .005em; text-wrap: pretty; margin-bottom: 15px; }
  .article-v2-head > div { font-size: 1.0625rem; line-height: 1.85; color: var(--reading-muted); }
  .article-v2-lead { gap: 26px; padding-bottom: 30px; }
  .article-v2-lead figure picture { height: auto; }
  .article-v2-lead figure img { height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
  .article-v2-facts h2 { font-size: 1.375rem; line-height: 1.6; }
  .article-v2-facts dl > div { grid-template-columns: minmax(80px, .34fr) minmax(0, 1fr); gap: 14px; padding-block: 14px; }
  .article-v2-facts dt { font-family: var(--sans); font-size: .9375rem; line-height: 1.85; }
  .article-v2-facts dd { font-size: 1rem; line-height: 1.85; }
  .article-v2-section-head { align-items: flex-start; gap: 14px; flex-wrap: wrap; }
  .article-v2-section-head h2 { font-size: 1.375rem; line-height: 1.6; }
  .article-v2-section-head p { font-size: .9375rem; line-height: 1.85; color: var(--reading-muted); }
  .article-v2 figcaption, .article-cover figcaption { font-size: .875rem; line-height: 1.8; font-weight: 400; color: var(--reading-muted); margin-top: 10px; }
  .gallery-controls { margin-top: 0; gap: 10px; }
  .gallery-controls button { min-width: 46px; min-height: 46px; }
  .article-v2-body, .article-body { font-size: 1.0625rem; line-height: 1.95; padding-top: 38px; }
  .page-article-v2 .article-v2-body p { font-size: 1.0625rem; line-height: 1.95; }
  .article-v2-body p { margin-bottom: 22px; }
  .article-v2-body h2, .article-v2-qa h2, .article-v2-related h2, .article-v2-tags h2 { font-size: 1.4375rem; line-height: 1.6; letter-spacing: .01em; text-wrap: balance; }
  .article-v2-body h2 { margin-top: 42px; }
  .article-v2-body h3 { font-size: 1.25rem; line-height: 1.65; margin-top: 30px; text-wrap: balance; }
  .page-article-v2 .article-v2-body dt { font-size: .9375rem; line-height: 1.8; overflow-wrap: anywhere; }
  .page-article-v2 .article-v2-body dd { min-width: 0; font-size: 1rem; line-height: 1.8; overflow-wrap: anywhere; }
  .page-article-v2 .article-v2-body h4 { font-family: var(--serif); font-size: 1.125rem; line-height: 1.65; font-weight: 600; overflow-wrap: anywhere; }
  .page-article-v2 .article-v2-body .d05-naeba-dining-card > p:last-child { font-size: 1rem; line-height: 1.85; }
  .page-article-v2 .article-v2-body :is(.hakuba-transit-card, .d05-naspa-facts-card, .d05-naeba-dining-card) h3,
  .page-article-v2 .article-v2-body .vale-scan-heading h3 { font-size: 1.25rem; line-height: 1.65; font-weight: 600; }
  .resort-distance-grid > div { min-width: 0; font-size: 1rem; line-height: 1.8; }
  .resort-distance-grid b { font-size: .9375rem; line-height: 1.8; }
  .page-article-v2 .article-v2-body .vale-scan-address strong,
  .page-article-v2 .article-v2-body .vale-scan-estimates span,
  .page-article-v2 .article-v2-body .vale-scan-timetable span,
  .page-article-v2 .article-v2-body .vale-scan-clock span,
  .page-article-v2 .article-v2-body .vale-scan-bus-return span { font-size: .9375rem; line-height: 1.8; }
  .page-article-v2 .article-v2-body .vale-scan-heading > span { font-size: .875rem; line-height: 1.8; }
  .page-article-v2 .article-v2-body .vale-scan-facts li,
  .page-article-v2 .article-v2-body .vale-scan-booking span,
  .page-article-v2 .article-v2-body .vale-scan-transfer span,
  .page-article-v2 .article-v2-body .vale-scan-section .vale-scan-rules span,
  .page-article-v2 .article-v2-body .vale-scan-bus-return b { font-size: 1rem; line-height: 1.8; }
  .page-article-v2 .article-v2-body .vale-scan-special summary { min-height: 48px; font-size: 1rem; line-height: 1.85; }
  .article-v2-scene-single > figure figcaption { font-size: .875rem; line-height: 1.8; font-weight: 400; }
  .article-v2-body a.affiliate-cta { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; max-width: 100%; padding: 13px 18px; font-size: 1rem; line-height: 1.65; font-weight: 600; text-align: center; overflow-wrap: anywhere; }
  .draft-preview-return { min-height: 44px; }
  .page-article-v2 .article-v2-body small { font-size: .875rem; line-height: 1.8; }
  .article-table-scroll { width: 100%; margin-inline: 0; }
  .article-table-scroll table { font-family: var(--sans); font-size: 1rem; line-height: 1.8; }
  .article-table-scroll.article-table-mobile-cards .table-mobile-cards { font-size: 1rem; line-height: 1.85; }
  .article-table-scroll.article-table-mobile-cards .table-mobile-cards td { gap: 10px; padding: 13px 12px; }
  .article-table-scroll.article-table-mobile-cards .table-mobile-cards td::before { font-family: var(--sans); font-size: .875rem; line-height: 1.85; }
  .article-v2-qa summary, .region-qa summary, .article-v2-sources summary, .region-sources summary { min-height: 44px; padding-block: 7px; font-size: 1rem; line-height: 1.85; }
  .article-v2-qa details p, .region-qa details p { font-size: 1.0625rem; line-height: 1.95; }
  .article-v2-related li, .article-v2-sources li { font-size: 1rem; line-height: 1.85; overflow-wrap: anywhere; }
  .page-hero { padding: 48px 20px 42px; }
  .page-hero h1 { font-size: 1.875rem; line-height: 1.55; letter-spacing: .01em; }
  .page-hero p, .prose-section p { font-size: 1.0625rem; line-height: 1.95; }
  .prose-layout { width: calc(100% - 40px); padding-top: 42px; }
  .prose-section h2 { font-size: 1.4375rem; line-height: 1.6; }
  .source-list li span { font-size: .875rem; line-height: 1.8; }
  .draft-preview-index, .draft-preview-tag { width: calc(100% - 40px); margin: 36px auto 60px; }
  .draft-preview-index h1, .draft-preview-tag h1 { font-size: 1.875rem; line-height: 1.55; }
  .draft-preview-index header > p:first-child { font-size: .8125rem; line-height: 1.8; letter-spacing: .06em; }
  .draft-preview-index header > p:last-child { font-size: 1.0625rem; line-height: 1.85; }
  .draft-preview-card { min-width: 0; min-height: 0; gap: 9px; padding: 18px; }
  .draft-preview-card strong { font-size: 1.1875rem; line-height: 1.65; overflow-wrap: anywhere; }
  .draft-preview-card span, .draft-preview-card small { font-size: .875rem; line-height: 1.8; }
  .site-footer { padding: 38px 20px 24px; gap: 24px; }
  .footer-links { gap: 4px 18px; }
  .footer-links a { display: inline-flex; align-items: center; min-height: 44px; }
}

@media (max-width: 700px) {
  .page-home .brand-hero { display: grid; grid-template-columns: minmax(0, 1fr); min-height: 0; background: var(--reading-paper); }
  .page-home .brand-hero-image { position: relative; inset: auto; grid-row: 1; height: clamp(195px, 57vw, 330px); }
  .page-home .brand-hero-image img { object-position: 50% 58%; }
  .page-home .brand-hero-fade { display: none; }
  .page-home .brand-hero-copy { width: calc(100% - 40px); margin: 0 auto; padding: 28px 0 32px; }
  .page-home .brand-hero h1 { max-width: 100%; font-size: clamp(1.75rem, 7.7vw, 2rem); line-height: 1.6; letter-spacing: .02em; margin: 0 0 15px; }
  .page-home .brand-hero-copy p { font-size: 1.0625rem; line-height: 1.85; margin: 0 0 22px; color: #3c5967; }
  .page-home .brand-button { display: flex; width: 100%; min-width: 0; border-radius: 3px; }
  .page-home .brand-hero-location { top: 16px; right: 20px; bottom: auto; font-size: .6875rem; letter-spacing: .12em; }
  .page-home .resort-overview { padding: 42px 20px 46px; }
  .page-home .overview-heading { margin-bottom: 20px; }
  .page-home .overview-heading h2 { font-size: 1.5rem; line-height: 1.6; letter-spacing: .01em; }
  .page-home .overview-heading > a { min-height: 44px; margin-top: 10px; padding-bottom: 5px; align-items: center; }
  .page-home .resort-cards { gap: 14px; padding-bottom: 12px; overscroll-behavior-inline: contain; }
  .page-home .resort-card { flex: 0 0 min(78vw, 310px); min-width: 0; padding: 0 40px 20px 0; }
  .page-home .resort-card-image { height: 190px; margin-right: -40px; margin-bottom: 16px; }
  .page-home .resort-card strong { margin-left: 16px; font-size: 1.25rem; line-height: 1.5; }
  .page-home .resort-card span { margin: 7px 0 0 16px; font-size: .9375rem; line-height: 1.8; }
  .page-home .resort-card svg { width: 21px; right: 12px; bottom: 27px; }
  .page-home .editorial-feature-photo { height: auto; aspect-ratio: 3 / 2; }
  .page-home .editorial-feature-copy { padding: 30px 20px 38px; }
  .page-home .editorial-feature-copy > span { font-size: .8125rem; line-height: 1.7; letter-spacing: .055em; margin-bottom: 14px; }
  .page-home .editorial-feature-copy h2 { font-size: 1.5rem; line-height: 1.65; letter-spacing: .01em; margin-bottom: 16px; }
  .page-home .editorial-feature-copy p { font-size: 1.0625rem; line-height: 1.85; margin-bottom: 17px; }
  .page-home .editorial-feature-copy a { min-height: 44px; }
  .page-home .approach-section { padding: 40px 20px 44px; }
  .page-home .approach-top { grid-template-columns: 1fr; gap: 12px; padding-bottom: 22px; }
  .page-home .approach-top h2 { font-size: 1.5rem; line-height: 1.6; }
  .page-home .approach-top p { font-size: 1rem; line-height: 1.85; }
  .page-home .approach-top a { grid-column: 1; grid-row: 3; margin: 0; min-height: 44px; align-self: start; }
  .page-home .approach-grid { grid-template-columns: 1fr; }
  .page-home .approach-grid > div { min-height: 0; padding: 19px 0; border-left: 0; grid-template-columns: 34px minmax(0, 1fr); gap: 4px 14px; }
  .page-home .approach-grid h3 { margin: 0; font-size: 1.1875rem; line-height: 1.7; }
  .page-home .approach-grid p { grid-column: 2; margin: 3px 0 0; font-size: 1rem; line-height: 1.85; }
}

@media (max-width: 650px) {
  .region-page-hero-image { min-height: 0; max-height: none; height: 230px; }
  .region-page-hero-copy { padding: 24px 20px 28px; }
  .region-page-hero h1 { margin: 12px 0 14px; }
  .region-library, .hub-places { padding-block: 38px 42px; }
  .hub-article-grid { gap: 24px; }
  .hub-article-card picture, .hub-article-card img { height: auto; aspect-ratio: 16 / 10; }
  .hub-article-card picture img { height: 100%; }
  .hub-orientation-four { grid-template-columns: 1fr; }
  .hub-base { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 5px 12px; padding: 20px 16px; border-left: 0; border-bottom: 1px solid var(--rule); }
  .hub-base > span { grid-column: 1; grid-row: 1; padding-top: 4px; font-size: .875rem; }
  .hub-base > strong { grid-column: 2; margin: 0; }
  .hub-base > p, .hub-base > small { grid-column: 2; margin: 0; }
  .hub-base > small { margin-top: 3px; }
  .hub-zone, .hub-choice, .hub-route-stop { padding: 21px 18px; }
  .hub-decision { padding: 25px 20px; gap: 16px; }
  .region-directory { padding-block: 36px 65px; }
  .region-directory header { margin-bottom: 28px; }
  .region-directory h1 { font-size: 1.875rem; }
  .region-directory-card picture, .region-directory-card img { height: 220px; }
  .site-footer { grid-template-columns: 1fr; }
  .footer-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 360px) {
  .site-header { padding-inline: 16px; }
  .brand small { display: block; margin-left: 0; }
  .mobile-bottom-bar { padding-inline: 4px; }
  .mobile-bottom-bar a { font-size: .8125rem; }
  .article-v2-facts dl > div { grid-template-columns: 1fr; gap: 3px; }
  .article-v2-section-head .gallery-controls { margin-left: auto; }
  .page-home .overview-heading h2 { font-size: 1.4375rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .brand-button:hover, .resort-card:hover, .draft-preview-card:hover { transform: none; }
}

/* BEGIN SnowYado mobile refinements 2026-10-10: layout only; source copy is unchanged. */
.mobile-filters-toggle,.mobile-article-jump,.mobile-article-toc{display:none}
.rk-filters.mobile-filters>.mobile-filter-panel{display:contents}
.rk-filters.mobile-filters>.mobile-filter-panel>label{flex:initial;min-width:160px}
.rk-filters.mobile-filters>.mobile-filter-panel[hidden]{display:none}
@media(max-width:900px){
 :root{--mobile-header-height:65px}
 html{scroll-padding-top:calc(var(--mobile-header-height) + 12px);scroll-padding-bottom:100px}
 body .site-header{position:sticky;top:0;z-index:1005;background:#fff;box-shadow:0 1px 0 #d9e5e9}
 body .site-header.is-nav-open>nav{max-height:calc(100vh - var(--mobile-header-height) - 100px);max-height:calc(100dvh - var(--mobile-header-height) - 100px);overflow-y:auto;overscroll-behavior:contain}
 body.is-mobile-keyboard-open .mobile-bottom-bar{visibility:hidden;pointer-events:none}
 body :is(input[type=search],select){scroll-margin-block:100px;min-height:48px;font-size:16px}
 body :is(.page-home,.page-region-directory) .site-header{min-width:0}
 .page-article-v2 .article-v2-cover-placeholder{height:64px;min-height:64px;padding:12px;font-size:14px}
 .page-article-v2 .article-v2-lead--guide{padding-bottom:18px}
 .page-article-v2 .article-v2-breadcrumbs{padding-block:14px 18px}
 .page-article-v2 .article-v2-head{margin-bottom:18px}
 .page-article-v2 .article-v2-body{padding-top:26px}
 .page-article-v2 .mobile-article-toc{display:block;margin:16px 0 20px;padding:0 16px;border:1px solid #bfD3dc;border-radius:8px;background:#fff;color:#264f63;font-family:var(--sans)}
 .page-article-v2 .mobile-article-toc summary{display:list-item;padding:14px 0;min-height:50px;font-size:16px;font-weight:600;line-height:1.7;cursor:pointer}
 .page-article-v2 .mobile-article-toc ol{margin:0 0 10px;padding-left:22px}
 .page-article-v2 .mobile-article-toc a{display:block;min-height:44px;padding:8px 0;font-size:15px;line-height:1.75;text-decoration:none;color:#235e79;overflow-wrap:anywhere}
 .page-article-v2 .mobile-article-toc li+li{border-top:1px solid #e1eaee}
 .page-article-v2 :is(h2,h3)[id]{scroll-margin-top:14px}
}
@media(max-width:650px){
 body:is(.page-snow-season,.page-rankings) .rk-wrap{width:calc(100% - 32px);padding-top:20px}
 body:is(.page-snow-season,.page-rankings) .rk-eyebrow{font-size:12px;letter-spacing:.1em;margin-bottom:9px}
 body:is(.page-snow-season,.page-rankings) :is(.rk-hero,.ss-hero){margin-bottom:20px}
 body:is(.page-snow-season,.page-rankings) :is(.rk-hero,.ss-hero) h1{font-size:clamp(26px,7.3vw,30px);line-height:1.5;margin-bottom:12px;text-wrap:pretty}
 body:is(.page-snow-season,.page-rankings) :is(.rk-lead,.ss-lead){font-size:16px;line-height:1.75}
 body.page-snow-season .ss-hero>p:last-child{font-size:15px;line-height:1.75;margin-bottom:0}
 body:is(.page-snow-season,.page-rankings) .rk-breadcrumb{margin-bottom:20px;font-size:14px}
 body.page-snow-season .ss-table-wrap{margin-top:20px}
 body.page-snow-season .ss-table caption{font-size:14px;color:#526e7b;padding-bottom:12px}
 body.page-snow-season .ss-table tbody{gap:14px}
 body.page-snow-season .ss-table tbody tr{grid-template-columns:minmax(0,1fr);border-radius:10px}
 body.page-snow-season .ss-table tbody th a{padding:13px 16px;min-height:82px;gap:2px}
 body.page-snow-season .ss-table tbody th a>span:first-child{font-size:18px;line-height:1.55}
 body.page-snow-season .ss-table tbody th small{font-size:13px;line-height:1.65;color:#536f7b}
 body.page-snow-season .ss-table .ss-count{font-size:13px;line-height:1.7;margin-top:2px;color:#30637a}
 body.page-snow-season .ss-table td{display:grid;grid-template-columns:118px minmax(0,1fr);align-items:baseline;gap:12px;padding:10px 16px;font-size:16px;line-height:1.7;min-width:0}
 body.page-snow-season .ss-table .ss-mobile-label{font-size:14px;line-height:1.7;color:#506d7b}
 body.page-snow-season .ss-table .ss-period{font-size:16px;line-height:1.7;min-width:0;overflow-wrap:normal}
 body.page-snow-season .ss-table .ss-best{background:#eaf5ef;color:#205c49}
 body.page-snow-season .ss-table .ss-best .ss-mobile-label{color:#2c614f}
 body.page-snow-season .ss-period-panel{grid-template-columns:1fr;margin:18px 0 14px}
 body.page-snow-season .ss-period-panel>div{display:grid;grid-template-columns:118px minmax(0,1fr);align-items:baseline;gap:12px;padding:12px 16px;border-right:0}
 body.page-snow-season .ss-period-panel>div+div{border-top:1px solid #dce8ed}
 body.page-snow-season .ss-period-panel dt{font-size:14px;line-height:1.7;margin:0;color:#526e7b}
 body.page-snow-season .ss-period-panel dd{font-size:17px;line-height:1.7;min-width:0}
 body.page-snow-season :is(.ss-related-hubs,.ss-resort-links){margin-block:24px}
 body.page-snow-season .ss-hub-links>a{font-size:16px;line-height:1.75;padding:14px 16px}
 body.page-snow-season .ss-resort-links summary{font-size:16px;line-height:1.7}
 body.page-snow-season .ss-library{margin-top:26px;padding-top:22px}
 body:is(.page-snow-season,.page-rankings) .mobile-article-jump{display:flex;align-items:center;justify-content:space-between;min-height:48px;gap:14px;margin:14px 0 22px;padding:11px 15px;border:1px solid #9fbfcd;border-radius:7px;background:#edf5f8;font-size:16px;line-height:1.65;font-weight:600;color:#225d76;text-decoration:none}
 body:is(.page-snow-season,.page-rankings) .rk-filters.mobile-filters{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 10px;align-items:end;margin-top:20px}
 body:is(.page-snow-season,.page-rankings) .rk-filters.mobile-filters>.mobile-search-label{grid-column:1;min-width:0;gap:6px;font-size:14px;color:#345967}
 body:is(.page-snow-season,.page-rankings) .rk-filters.mobile-filters .mobile-search-label input{min-width:0;width:100%;font-size:16px;min-height:50px;padding:11px 12px}
 body:is(.page-snow-season,.page-rankings) .mobile-filters-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:50px;min-width:72px;padding:10px 13px;border:1px solid #aac4d1;border-radius:6px;background:#fff;color:#265e78;font:inherit;font-size:15px;line-height:1.5;cursor:pointer}
 body:is(.page-snow-season,.page-rankings) .mobile-filters-toggle[aria-expanded=true]{background:#eaf3f7;border-color:#6b9bb0}
 body:is(.page-snow-season,.page-rankings) .mobile-filter-badge{display:inline-grid;place-items:center;min-width:21px;height:21px;border-radius:12px;background:#245e79;color:white;font-size:12px;line-height:1}
 body:is(.page-snow-season,.page-rankings) .mobile-filter-badge[hidden]{display:none}
 body:is(.page-snow-season,.page-rankings) .rk-filters.mobile-filters>.mobile-filter-panel{display:grid;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px;border:1px solid #c9dde6;border-radius:8px;background:#f0f6f8}
 body:is(.page-snow-season,.page-rankings) .rk-filters.mobile-filters>.mobile-filter-panel[hidden]{display:none}
 body:is(.page-snow-season,.page-rankings) .rk-filters.mobile-filters>.mobile-filter-panel>label{grid-column:auto;min-width:0;gap:6px;font-size:14px;line-height:1.65}
 body:is(.page-snow-season,.page-rankings) .mobile-filter-panel select{font-size:16px;min-height:50px;max-width:100%;padding:10px 8px}
 body:is(.page-snow-season,.page-rankings) .mobile-filter-panel .rk-reset{grid-column:1/-1;min-height:46px;font-size:15px;background:white}
 body:is(.page-snow-season,.page-rankings) .rk-result-count{font-size:14px;line-height:1.75;color:#506e7d;margin:10px 0 18px}
 body:is(.page-snow-season,.page-rankings) .rk-article-grid{gap:10px}
 body:is(.page-snow-season,.page-rankings) .rk-article-card{padding:12px;border-radius:8px}
 body:is(.page-snow-season,.page-rankings) .rk-article-card h2{font-size:16px;line-height:1.5;margin-bottom:8px}
 body:is(.page-snow-season,.page-rankings) .rk-article-card h2 a{display:block;min-height:44px}
 body:is(.page-snow-season,.page-rankings) .rk-article-card>p{font-size:14px;line-height:1.6;color:#476574;margin-bottom:8px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
 body:is(.page-snow-season,.page-rankings) .rk-card-meta{font-size:12.5px;line-height:1.6;gap:6px;margin-bottom:12px}
 body:is(.page-snow-season,.page-rankings) .rk-card-footer small{font-size:13px;line-height:1.7;color:#536f7f}
 body:is(.page-snow-season,.page-rankings) .rk-more{width:100%;min-height:52px;font-size:16px;line-height:1.65;padding:12px 14px;margin:24px 0}
 body.page-rankings .rk-tabs{margin:20px 0;gap:4px}
 body.page-rankings .rk-tabs button{font-size:14px;min-height:48px;padding:10px 8px}
 body.page-rankings .rk-tabs button:last-child{min-height:46px}
 body.page-rankings .rk-row{padding-block:16px}
 body.page-rankings .rk-name>a{display:flex;align-items:center;min-height:44px;font-size:17px;line-height:1.65}
 body.page-rankings .rk-name small{font-size:13px;line-height:1.7;color:#516f7f}
 body.page-rankings .rf-jump{display:flex;flex-wrap:nowrap;gap:8px;position:sticky;top:var(--mobile-header-height);z-index:30;overflow-x:auto;overscroll-behavior-inline:contain;max-width:100%;margin:16px 0 20px;padding:8px 0;background:#f8fbfc;border-block:1px solid #d4e3ea;scroll-padding-inline:2px}
 body.page-rankings .rf-jump a{flex:0 0 auto;min-height:46px;font-size:14px;line-height:1.65;padding:9px 12px;white-space:nowrap}
 body.page-rankings .rf-section{scroll-margin-top:72px;margin-top:20px;padding-top:16px}
 body.page-rankings .rf-section h3{font-size:19px;line-height:1.5;margin-bottom:10px}
 body.page-rankings .rf-articles-heading{margin-top:28px;padding-top:18px}
 body.page-rankings .rf-articles-heading h2{font-size:19px;line-height:1.5}
 body.page-rankings .rf-title>p:last-child{font-size:14px;line-height:1.75}
 body.page-rankings .rf-kpis>div{padding:12px 10px;gap:5px}
 body.page-rankings .rf-kpis span{font-size:12px;line-height:1.5;color:#476775}
 body.page-rankings .rf-kpis strong{font-size:20px;line-height:1.4}
 body.page-rankings .rf-kpis small{font-size:11px;line-height:1.5;color:#506e7c}
 body.page-rankings .rf-fact{grid-template-columns:94px minmax(0,1fr);gap:8px;padding:9px 0}
 body.page-rankings .rf-fact dt{font-size:13px;line-height:1.55;color:#3f6374}
 body.page-rankings .rf-fact dd{font-size:14px;line-height:1.6;min-width:0;color:#234959}
 body.page-rankings .rf-fact dd li{padding-bottom:2px}
 body.page-rankings .rf-detail{font-size:12px;line-height:1.6;color:#506d7c;margin-top:4px}
 body.page-rankings .rf-provenance{font-size:11px;line-height:1.5;color:#5b7784;gap:4px 6px;align-items:center;margin-top:4px}
 body.page-rankings .rf-cite{display:inline-flex;align-items:center;justify-content:center;min-width:30px;min-height:30px;padding:2px 6px;font-size:12px;line-height:1.6}
 body.page-rankings .rf-official-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 body.page-rankings .rf-official-links a{font-size:14px;line-height:1.7;padding:10px 12px;min-height:48px;justify-content:space-between;overflow-wrap:anywhere}
 body.page-rankings :is(.rf-sources,.rf-conflicts){font-size:14px;line-height:1.8}
 body.page-rankings :is(.rf-sources,.rf-conflicts) summary{min-height:48px;font-size:15px}
 body.page-rankings .rf-sources small{font-size:12px;line-height:1.8}
 body:is(.page-snow-season,.page-rankings,.page-article-v2) :is(.mobile-filters-toggle,.mobile-article-jump,.mobile-article-toc a):focus-visible{outline:3px solid #b88935;outline-offset:3px}
}

@media(max-width:360px){
 body.page-snow-season .ss-table td,body.page-snow-season .ss-period-panel>div{grid-template-columns:112px minmax(0,1fr);padding-inline:12px;gap:8px}
 body:is(.page-snow-season,.page-rankings) .rk-filters.mobile-filters>.mobile-filter-panel{grid-template-columns:1fr}
 body:is(.page-snow-season,.page-rankings) .mobile-filters-toggle{min-width:68px;padding-inline:10px}
 body.page-rankings .rf-fact{grid-template-columns:94px minmax(0,1fr);gap:10px}
}

.mobile-region-picker{display:none}
@media(max-width:650px){
 body.page-snow-season .mobile-region-picker{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px;align-items:center;margin:20px 0 14px}
 body.page-snow-season .mobile-region-picker label{font-size:14px;color:#345c6d;line-height:1.7}
 body.page-snow-season .mobile-region-picker select{width:100%;min-height:48px;min-width:0;padding:10px 12px;border:1px solid #aac4d1;border-radius:6px;background:white;font-size:16px;color:#254e61}
}

/* Compact article previews with a useful image at every listing size. */
.rk-card-cover img{display:block;width:100%;height:100%;object-fit:cover;border-radius:6px}
body:is(.page-rankings,.page-snow-season) .rk-article-card>.rk-card-cover{display:block;width:100%;aspect-ratio:16/9;overflow:hidden;margin:0 0 14px;border-radius:6px}
.wa-article-card>.rk-card-cover{display:block;width:100%;aspect-ratio:16/9;overflow:hidden;margin:0 0 12px;border-radius:6px}
.draft-preview-card>.draft-preview-cover{display:block;width:100%;aspect-ratio:16/9;overflow:hidden;margin:0 0 4px;border-radius:6px}
@media(max-width:720px){
 body:is(.page-rankings,.page-snow-season) .rk-article-card{display:grid;grid-template-columns:78px minmax(0,1fr);column-gap:12px;align-items:start}
 body:is(.page-rankings,.page-snow-season) .rk-article-card>.rk-card-cover{grid-column:1;grid-row:1/5;width:78px;height:78px;aspect-ratio:1;margin:0}
 body:is(.page-rankings,.page-snow-season) .rk-article-card>.rk-card-meta{grid-column:2;margin:0 0 4px}
 body:is(.page-rankings,.page-snow-season) .rk-article-card>h2{grid-column:2;margin:0 0 4px}
 body:is(.page-rankings,.page-snow-season) .rk-article-card>h2 a{min-height:0}
 body:is(.page-rankings,.page-snow-season) .rk-article-card>p{grid-column:2;margin:0 0 4px;-webkit-line-clamp:2}
 body:is(.page-rankings,.page-snow-season) .rk-article-card>.rk-card-footer{grid-column:2;margin-top:0}
 .wa-article-card{display:grid;grid-template-columns:78px minmax(0,1fr);gap:12px;align-items:start}
 .wa-article-card>.rk-card-cover{grid-column:1;grid-row:1;width:78px;height:78px;aspect-ratio:1;margin:0}
 .wa-article-card>.wa-card-copy{grid-column:2;min-width:0}
 .wa-article-card .wa-card-meta{margin:0 0 5px}
 .wa-article-card h3{font-size:15px;line-height:1.55}
 .wa-article-card h3 a{min-height:0}
}
@media(max-width:540px){
 .draft-preview-card{display:grid;grid-template-columns:78px minmax(0,1fr);column-gap:12px;align-items:start}
 .draft-preview-card>.draft-preview-cover{grid-column:1;grid-row:1/4;width:78px;height:78px;aspect-ratio:1;margin:0}
 .draft-preview-card>span,.draft-preview-card>strong,.draft-preview-card>small{grid-column:2;min-width:0}
}
@media(max-width:430px){
 body:is(.page-snow-season,.page-rankings) .rk-filters.mobile-filters>.mobile-filter-panel{grid-template-columns:1fr}
}
/* END SnowYado mobile refinements 2026-10-10 */

/* Keep page titles within a compact, consistent reading scale. */
body[class] h1,
body.page-home .brand-hero h1,
body:is(.page-snow-season, .page-rankings) :is(.rk-hero, .ss-hero) h1 {
  font-size: clamp(1.625rem, 2.4vw, 2rem) !important;
  line-height: 1.4;
}
@media (max-width: 650px) {
  body[class] h1,
  body.page-home .brand-hero h1,
  body:is(.page-snow-season, .page-rankings) :is(.rk-hero, .ss-hero) h1 {
    font-size: clamp(1.4375rem, 6.2vw, 1.625rem) !important;
    line-height: 1.45;
  }
}

/* Keep all region hub shortcuts visible on a phone without horizontal scrolling. */
@media (max-width: 650px) {
  .page-region .region-hub-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: visible;
    white-space: normal;
  }

  .page-region .region-hub-nav a {
    min-width: 0;
    min-height: 48px;
    padding: 10px 12px;
    border-bottom: 1px solid #d9e5ea;
    text-align: center;
    white-space: normal;
  }
}

/* Compact the mobile reading flow so the first useful content appears sooner. */
@media (max-width: 650px) {
  .page-region .region-crumb,
  .page-region-directory .region-crumb {
    padding-block: 12px 14px;
  }

  .page-region .region-page-hero-image {
    min-height: 185px;
    max-height: 185px;
  }

  .page-region .region-page-hero-copy {
    padding: 21px 22px 23px;
  }

  .page-region .region-page-hero h1 {
    margin: 8px 0 10px;
    font-size: clamp(1.625rem, 7vw, 2.05rem);
    line-height: 1.3;
  }

  .page-region .region-page-hero p {
    margin-bottom: 14px;
    font-size: 1rem;
    line-height: 1.65;
  }

  .page-region .region-page-hero-copy > a {
    min-height: 44px;
  }

  .page-region .region-page-main {
    padding-bottom: 56px;
  }

  .page-region .region-library {
    padding-block: 24px 30px;
  }

  .page-region .region-library-head,
  .page-region .hub-places-head {
    margin-bottom: 18px;
  }

  .page-region .hub-article-section {
    padding-block: 17px 22px;
  }

  .page-region .hub-article-card picture,
  .page-region .hub-article-card img {
    height: 132px;
  }

  .page-region .hub-places {
    padding-block: 32px 38px;
  }

  .page-region .hub-decision {
    padding: 22px 18px;
  }

  .page-region .region-qa {
    padding-block: 34px 30px;
  }

  .page-region .region-next {
    padding-top: 28px;
  }

  .page-article-v2 .article-v2-breadcrumbs {
    padding-block: 10px 12px;
  }

  .page-article-v2 .article-v2-head {
    margin-bottom: 18px;
  }

  .page-article-v2 .article-v2-head h1 {
    margin-bottom: 10px;
    line-height: 1.4;
  }

  .page-article-v2 .mobile-article-toc {
    min-height: 48px;
    margin-block: 12px 15px;
  }

  .page-article-v2 .article-v2-lead {
    gap: 16px;
    padding-bottom: 22px;
  }

  .page-article-v2 .article-v2-rooms {
    padding-block: 25px 30px;
  }

  .page-article-v2 .article-v2-body {
    padding-block: 20px 26px;
  }

  .page-article-v2 .article-v2-body p {
    margin-bottom: 18px;
  }

  .page-article-v2 .article-v2-body h2 {
    margin-top: 30px;
  }

  .page-article-v2 .article-v2-body h3 {
    margin-top: 22px;
  }

  .page-article-v2 .article-v2-sources,
  .page-article-v2 .article-v2-tags {
    padding-block: 22px;
  }
}

/* Reduce mobile type scale across resort hubs, hotel articles, and the resort directory. */
@media (max-width: 650px) {
  body:is(.page-region, .page-region-directory, .page-article-v2, .page-rankings, .page-snow-season) {
    font-size: 16px;
  }

  :is(.page-region, .page-region-directory) .region-page-hero h1,
  body.page-region-directory h1,
  .page-article-v2 .article-v2-head h1 {
    font-size: clamp(1.375rem, 5.6vw, 1.5rem) !important;
    line-height: 1.4;
  }

  .page-region .region-library-head h2,
  .page-region .hub-places-head h2,
  .page-region .hub-decision h2,
  .page-region .region-qa h2,
  .page-region .region-next h2,
  .page-article-v2 .article-v2-body h2,
  .page-article-v2 .article-v2-qa h2,
  .page-article-v2 .article-v2-related h2,
  .page-article-v2 .article-v2-tags h2 {
    font-size: 1.1875rem;
    line-height: 1.5;
  }

  .page-region .hub-article-section-heading h3,
  .page-region .hub-article-card h3,
  .page-region .hub-start-grid strong,
  .page-article-v2 .article-v2-body h3,
  .page-region-directory .region-directory-card strong {
    font-size: 1.0625rem;
    line-height: 1.5;
  }

  body:is(.page-rankings, .page-snow-season) :is(h1, .rk-hero h1, .ss-hero h1) {
    font-size: 1.375rem !important;
    line-height: 1.4;
  }

  body:is(.page-rankings, .page-snow-season) :is(h2, .rf-title, .rk-title) {
    font-size: 1.1875rem;
    line-height: 1.5;
  }

  .page-region .region-page-hero p,
  .page-region .region-library-head p,
  .page-region .hub-places-head > p,
  .page-region .hub-article-card p,
  .page-article-v2 .article-v2-head > div,
  .page-article-v2 .article-v2-body,
  .page-article-v2 .article-v2-body p,
  .page-article-v2 .article-v2-qa details p {
    font-size: 1rem;
    line-height: 1.8;
  }
}

