/* One public website layer. Shared tokens and shell first, specialised outing
   layouts below. Admin, data maintenance and the Mini Program are not themed. */
body.outing-site {
  --outing-paper: #faf9f6;
  --outing-ink: #253d34;
  --outing-muted: #626a63;
  --outing-green: #315c4b;
  --outing-rust: #9c4c30;
  --outing-line: #dfe3db;
  --outing-body: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
  --outing-display: "Songti SC", "STSong", "Noto Serif CJK SC", serif;
  --contract-paper: var(--outing-paper);
  --contract-surface: #fffefa;
  --contract-ink: var(--outing-ink);
  --contract-text-secondary: #535d54;
  --contract-muted: var(--outing-muted);
  --contract-jade: var(--outing-green);
  --contract-sea: var(--outing-green);
  --contract-brick: var(--outing-rust);
  --contract-line: var(--outing-line);
  --ink: var(--outing-ink);
  --text-primary: var(--outing-ink);
  --muted: var(--outing-muted);
  --paper: var(--outing-paper);
  --surface: #fffefa;
  --jade: var(--outing-green);
  --teal: var(--outing-green);
  --sea: var(--outing-green);
  --brand: var(--outing-green);
  --brick: var(--outing-rust);
  --line: var(--outing-line);
  --line-strong: #a6afa3;
  color: var(--outing-ink);
  background: var(--outing-paper);
  font-family: var(--outing-body);
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
}
body.outing-site [hidden] { display: none !important; }
body.outing-site *, body.outing-site *::before, body.outing-site *::after { box-sizing: border-box; }
body.outing-site :is(button, input, select, textarea) { font-family: inherit; }
body.outing-site :is(h2, h3, h4, strong) { font-family: var(--outing-body) !important; font-weight: 600; letter-spacing: 0; }
body.outing-site :is(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid var(--outing-green); outline-offset: 3px; }
body.outing-site :is(h1, h2, h3, p, strong, small, a) { overflow-wrap: break-word; }
body.outing-site .site-header {
  position: relative; top: auto; width: min(100% - 40px, 1080px); min-height: 74px;
  padding: 16px 0 12px; margin: 0 auto; gap: 14px; border: 0;
  background: transparent; box-shadow: none; backdrop-filter: none;
}
body.outing-site .brand { gap: 10px; }
body.outing-site .brand-mark { display: grid; place-items: center; flex: 0 0 37px; width: 37px; height: 37px; border: 0; border-radius: 8px; background: var(--outing-green); color: #fff; font: 700 13px/1 system-ui, sans-serif; letter-spacing: .5px; }
body.outing-site .brand strong { color: var(--outing-ink); font-size: 20px; line-height: 1.3; letter-spacing: 0; }
body.outing-site .brand small { display: none; }
body.outing-site .header-search-link { width: 44px; height: 44px; border: 0; background: transparent; color: var(--outing-green); }
body.outing-site .template-main { width: min(100% - 40px, 1080px) !important; padding: 0 0 28px; margin-inline: auto; }
body.outing-site .template-content { width: 100% !important; max-width: none; padding: 0; margin: 0; border: 0; }
body.outing-site .article-shell { max-width: 100%; width: 100%; margin: 0; padding: 0; }
body.outing-site.template-body .template-hero,
body.outing-site.primary-channel-page .template-hero.is-text-only {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center;
  gap: 28px; width: 100% !important; min-height: 0; height: auto; margin: 0; padding: 20px 0 24px;
  border: 0; border-radius: 0; background: transparent; box-shadow: none;
}
body.outing-site.template-body .template-hero.is-text-only { display: block; }
body.outing-site .template-hero::before, body.outing-site .template-hero::after { display: none; }
body.outing-site.template-body .template-hero .template-hero-copy { position: static; max-width: none; padding: 0 !important; border: 0 !important; background: transparent; }
body.outing-site.template-body .template-hero.is-text-only { border-left: 0; }
body.outing-site.template-body .template-hero .template-hero-copy h1 { margin: 5px 0 10px; max-width: none; font-family: var(--outing-display); font-weight: 700; font-size: 36px !important; line-height: 1.45 !important; letter-spacing: 0; color: var(--outing-ink) !important; text-shadow: none; }
body.outing-site.template-body .template-hero-copy > p:not(.eyebrow) { margin: 0; max-width: 50em; font-size: 15px; line-height: 1.8; color: var(--outing-muted) !important; }
body.outing-site .template-hero-copy > .eyebrow { margin: 0 0 8px; padding: 0; color: var(--outing-rust) !important; background: transparent; border: 0; font-size: 12px; letter-spacing: 1px; }
body.outing-site .template-hero-copy > .status-badge { width: fit-content; margin: 0 0 6px; padding: 0; background: transparent; border: 0; color: var(--outing-muted); font-size: 12px; line-height: 1.7; }
body.outing-site .template-hero-visual { position: relative; inset: auto; width: 100%; height: auto; min-height: 0; aspect-ratio: 1.8; border-radius: 7px; overflow: hidden; background: #e8ece3; }
body.outing-site .template-hero-visual img { width: 100%; height: 100%; object-fit: cover; filter: none; }
body.outing-site.primary-channel-page:not(.primary-channel-more) .template-hero-visual { width: 100%; height: auto; min-height: 0; margin-inline: 0; aspect-ratio: 1.8; border-radius: 7px; }
body.outing-site .is-text-only .template-hero-visual { display: none; }
body.outing-site :is(.template-section, .travel-detail-section) { min-width: 0; padding-block: 24px; }
/* Retired full-bleed bands used a different gutter and overflowed tablet widths. */
body.outing-site.primary-channel-page .template-section::before { display: none; }
body.outing-site .section-heading { min-width: 0; gap: 8px; margin-bottom: 18px; }
body.outing-site .section-heading h2 { margin: 0; color: var(--outing-ink); font-size: 24px; line-height: 1.5; }
body.outing-site .section-heading .eyebrow { margin: 0 0 6px; color: var(--outing-rust); font-size: 12px; letter-spacing: .6px; }
body.outing-site .section-heading > p:not(.eyebrow) { margin: 8px 0 0; color: var(--outing-muted); font-size: 14px; line-height: 1.75; }
body.outing-site :is(.primary-button, .secondary-button) { min-height: 44px; border-radius: 6px; font-size: 14px; box-shadow: none; }
body.outing-site .primary-button { color: #fff; border-color: var(--outing-green); background: var(--outing-green); }
body.outing-site .secondary-button { color: var(--outing-green); background: transparent; border-color: #a6afa3; }
body.outing-site :is(.travel-detail-topbar, .travel-detail-jump-row) { background: transparent; border-inline: 0; border-radius: 0; }
body.outing-site .travel-detail-topbar { min-height: 44px; padding: 0; }
body.outing-site .travel-detail-topbar > span { color: var(--outing-muted); font-size: 12px; }
body.outing-site .travel-detail-topbar a { min-height: 44px !important; font-size: 14px; }
body.outing-site .travel-detail-jump-row { display: flex; flex-wrap: wrap; gap: 0 18px; padding: 0 0 4px; border-bottom: 1px solid var(--outing-line); }
body.outing-site .travel-detail-jump-row a { min-height: 44px !important; padding: 8px 0; border: 0; font-size: 14px; color: var(--outing-green); }
body.outing-site :is(.mobile-disclosure, .travel-inline-fold, .travel-section-fold, .local-weekend-more-fold) { min-width: 0; padding: 0; border: 1px solid var(--outing-line); border-radius: 7px; background: transparent; box-shadow: none; }
body.outing-site :is(.mobile-disclosure, .travel-inline-fold, .travel-section-fold, .local-weekend-more-fold) > summary { min-height: 58px; padding: 14px; margin: 0; gap: 12px; }
body.outing-site :is(.mobile-disclosure, .travel-inline-fold, .travel-section-fold) > summary .section-heading { margin: 0; }
body.outing-site :is(.mobile-disclosure, .travel-inline-fold, .travel-section-fold) > summary :is(h2, strong) { font-size: 18px; line-height: 1.5; }
body.outing-site :is(.mobile-disclosure, .travel-inline-fold, .travel-section-fold) > summary .section-heading > p:not(.eyebrow) { font-size: 13px; }
body.outing-site :is(.travel-section-fold-body, .travel-detail-more-body, .travel-inline-fold-body) { padding: 0 14px 14px; }
body.outing-site .travel-finder-panel { padding: 0 0 20px; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
body.outing-site .travel-finder-panel > div:first-child > p:not(.eyebrow) { display: none; }
body.outing-site .travel-finder-panel h2 { margin: 0; font-size: 22px; color: var(--outing-ink); }
body.outing-site .travel-search-box { margin-top: 12px; border: 1px solid #bfc7ba; background: var(--outing-paper); box-shadow: none; }
body.outing-site .travel-search-box input { font-size: 16px; }
body.outing-site .travel-filter-row { gap: 6px; }
body.outing-site .travel-filter-row button { min-height: 44px !important; padding: 7px 12px !important; border-radius: 6px; border-color: #bfc7ba; background: var(--outing-paper); color: var(--outing-green); font-size: 14px; }
body.outing-site .travel-filter-row button.is-active { color: #fff; border-color: var(--outing-green); background: var(--outing-green); }
body.outing-site .travel-finder-shortcuts { gap: 0 14px; border: 0; }
body.outing-site .travel-finder-shortcuts a { min-height: 44px !important; border: 0; font-size: 12px; }
body.outing-site .travel-active-state { padding: 12px; border: 1px solid #b5c4b6; background: var(--outing-paper); }
body.outing-site :is([data-travel-clear], [data-travel-empty-clear]) { min-height: 44px; color: #fff; background: var(--outing-green); border: 0; border-radius: 6px; padding: 8px 12px; }
body.outing-site :is(.travel-hub-route-option, .travel-detail-food-summary, .food-item-hero-card, .travel-spot-photo, .local-weekend-point-card) { border-color: var(--outing-line); border-radius: 7px; box-shadow: none; }
body.outing-site .travel-hub-route-option { padding: 18px; background: transparent; }
body.outing-site .travel-detail-food-summary { padding: 18px; background: #edf1e9; }
body.outing-site .food-journey-lead { padding-top: 0 !important; border: 0; }
body.outing-site .food-journey-search button { min-width: 44px; min-height: 44px; background: var(--outing-green); }
/* Scenario cards are narrower than route cards. Their label and food groups
   stack instead of inheriting the route preview's four-column layout. */
body.outing-site .local-weekend-scenario-food { display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px; align-content: start; }
body.outing-site .local-weekend-scenario-food .travel-food-mini-split { grid-template-columns: minmax(0, 1fr); gap: 4px; }
body.outing-site .local-weekend-scenario-food .travel-food-mini-row { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 6px; }
body.outing-site .local-weekend-scenario-food .travel-food-mini-row > div { min-width: 0; }
body.outing-site .food-journey-scenarios { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 0 0 22px; }
body.outing-site .food-journey-scenarios a { min-height: 44px; border: 0; border-bottom: 1px solid #bac6b5; border-radius: 0; background: transparent; padding: 6px 0; font-size: 14px; }
body.outing-site .food-journey-heading { gap: 12px; }
body.outing-site .food-journey-heading h2 { font-size: 24px; color: var(--outing-ink); }
body.outing-site .food-journey-card { display: grid; grid-template-rows: auto auto auto !important; min-height: 0; padding: 0; border: 0; background: transparent; }
body.outing-site .food-journey-card img { width: 100%; height: auto !important; aspect-ratio: 1.2; object-fit: cover; border-radius: 7px; }
body.outing-site .food-journey-card span { padding: 0; margin: 8px 0 2px; font-size: 12px !important; color: var(--outing-rust); }
body.outing-site .food-journey-card strong { padding: 0; font-size: 16px !important; }
body.outing-site .food-journey-route { margin-top: 18px; border: 0; border-block: 1px solid var(--outing-line); border-radius: 0; background: transparent; }
body.outing-site a.travel-food-name-link { min-height: 44px !important; padding: 6px 7px !important; font-size: 13px !important; line-height: 1.5; white-space: normal; }
body.outing-site .food-destination-shortcut-card { border-color: var(--outing-line); background: transparent; border-radius: 7px; }
body.outing-site .food-destination-shortcut-main h3 { font-size: 19px; line-height: 1.5; }
body.outing-site .food-destination-shortcut-main p { font-size: 14px; line-height: 1.7; }
body.outing-site .food-destination-shortcut-actions a { min-height: 44px !important; padding: 7px; font-size: 13px !important; line-height: 1.5; color: var(--outing-green); }
body.outing-site .outing-scroll-hint { display: none; }
body.outing-site .food-v2-copy h2 { font-size: 23px; }
body.outing-site .v2-food-detail-page .food-item-info-grid { grid-template-columns: minmax(0, 1fr); }
body.outing-site .food-reference-note { margin: 10px 0 0; font-size: 15px; line-height: 1.9; }
body.outing-site .maintained-detail-copy { display: grid; gap: 12px; min-width: 0; }
body.outing-site .maintained-detail-copy p { margin: 0; font-size: 15px; line-height: 1.85; overflow-wrap: anywhere; }
body.outing-site .food-v2-copy .maintained-detail-copy { margin-top: 12px; }
body.outing-site .maintained-detail-sources { display: grid; gap: 8px; min-width: 0; }
body.outing-site .maintained-detail-sources a { display: block; padding: 8px 0; line-height: 1.65; overflow-wrap: anywhere; }
body.outing-site .maintained-source-disclosure summary { cursor: pointer; min-height: 44px; padding-block: 10px; }
body.outing-site .maintained-media-credit { display: block; margin-top: 6px; font-size: 12px; line-height: 1.65; overflow-wrap: anywhere; }
body.outing-site .food-v2-media-grid figure { background: transparent; }
body.outing-site .food-v2-media-grid figcaption { position: static; width: auto; max-width: none; padding: 10px 2px 0; background: transparent; color: var(--outing-ink); font-size: 12px; font-weight: 400; line-height: 1.65; overflow-wrap: anywhere; }
body.outing-site .food-v2-media-grid figcaption a { color: var(--outing-green); text-decoration: underline; text-underline-offset: 3px; }
body.outing-site .food-v2-media-grid img { max-height: 440px; object-fit: cover; border-radius: 7px; }
body.outing-site .quality-comparison-lead { padding: 18px; border-color: var(--outing-line); border-radius: 7px; }
body.outing-site .link-directory-grid { display: grid; gap: 12px; }
body.outing-site .link-directory-card { padding: 16px; border: 1px solid var(--outing-line); border-radius: 7px; }
body.outing-site .link-directory-card em { position: static; justify-self: start; padding-top: 6px; }
body.outing-site .travel-food-guide-decision { padding: 0; border: 1px solid var(--outing-line); border-radius: 7px; }
body.outing-site .travel-food-guide-decision > summary { min-height: 58px; padding: 14px; }
body.outing-site .travel-food-guide-decision > ol { margin: 0; padding: 0 18px 14px 34px; }
body.outing-site .site-search-section { padding-top: 0; border: 0; gap: 0; }
body.outing-site .site-search-form { padding: 12px; background: #edf1e9; border-color: var(--outing-line); box-shadow: none; }
body.outing-site .site-search-form :is(input, select) { min-height: 44px; color: var(--outing-ink); background: var(--outing-paper); font-size: 16px; }
body.outing-site .site-search-suggestions { gap: 0 18px; margin-block: 12px; }
body.outing-site .site-search-suggestions a { min-height: 44px; font-size: 14px; padding: 8px 0; }
body.outing-site .site-search-summary { padding: 12px 0 18px; margin: 0; border-bottom: 1px solid var(--outing-line); font-size: 14px; }
body.outing-site .site-search-group > h2 { margin: 24px 0 8px; font-size: 22px; color: var(--outing-ink); }
body.outing-site .site-search-results { gap: 0; }
body.outing-site .site-search-more { border: 0; background: transparent; }
body.outing-site .site-search-more > summary { min-height: 48px; padding: 12px 0; color: var(--outing-green); font-size: 14px; cursor: pointer; }
body.outing-site .site-search-type-link { display: flex; align-items: center; min-height: 44px; color: var(--outing-green); font-size: 14px; }
body.outing-site .site-search-pagination { display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: center; margin-top: 20px; font-size: 14px; }
body.outing-site .site-search-pagination a { display: inline-flex; align-items: center; min-height: 44px; color: var(--outing-green); }
body.outing-site .site-search-result { grid-template-columns: 32px minmax(0, 1fr) 16px; gap: 12px; padding: 16px 0; border: 0; border-bottom: 1px solid var(--outing-line); border-radius: 0; background: transparent; box-shadow: none; }
body.outing-site .site-search-result::before { display: none; }
body.outing-site .site-search-result-icon { width: 32px; height: 32px; border: 0; background: #e9eee4; border-radius: 6px; color: var(--outing-green); align-self: start; }
body.outing-site .site-search-result-copy strong { font-size: 17px; line-height: 1.6; color: var(--outing-ink); }
body.outing-site .site-search-result-copy > span:not(.site-search-result-meta) { font-size: 14px; line-height: 1.75; }
body.outing-site .site-search-result-meta { color: var(--outing-rust); font-size: 12px; }
body.outing-site .site-search-empty a { display: inline-flex; align-items: center; min-height: 44px; margin-right: 20px; }
body.outing-site .more-primary-section .more-link-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.outing-site .more-topic-section .section-heading { margin-bottom: 0; }
body.outing-site .more-link-card { padding: 14px; border: 1px solid var(--outing-line); background: transparent; border-radius: 7px; box-shadow: none; }
body.outing-site .more-link-copy strong { color: var(--outing-ink); font-size: 17px; }
body.outing-site .more-link-icon { align-self: center; color: var(--outing-green); border-color: #b8c4b1; }
body.outing-site .more-scenario-entry { margin-top: 20px; }
body.outing-site .stored-routes-section { margin-top: 20px; padding: 0; }
body.outing-site .stored-route-columns { padding: 0 14px 14px; }
body.outing-site .stored-route-list a { background: transparent; border-color: var(--outing-line); }
body.outing-site .outing-place-save { display: flex; flex-wrap: wrap; gap: 0 20px; align-items: center; padding-block: 8px 14px; border-bottom: 1px solid var(--outing-line); }
body.outing-site .outing-place-save button, body.outing-site .outing-plan button { min-height: 44px; padding: 9px 14px; border: 1px solid var(--outing-green); border-radius: 6px; color: var(--outing-green); background: transparent; font-size: 14px; cursor: pointer; }
body.outing-site .outing-place-save button[aria-pressed="true"], body.outing-site .outing-plan [data-plan-save] { background: var(--outing-green); color: #fff; }
body.outing-site :is(.outing-place-save, .outing-plan, .outing-notebook) a { display: inline-flex; align-items: center; min-height: 44px; color: var(--outing-green); font-size: 14px; }
body.outing-site [data-notebook-status] { width: 100%; margin: 8px 0 0; color: var(--outing-muted); font-size: 13px; line-height: 1.7; }
body.outing-site [data-notebook-status]:empty { display: none; }
body.outing-site .outing-plan { margin-block: 18px; padding: 0; border: 1px solid #b9c7b4; border-radius: 7px; background: #edf1e9; scroll-margin-top: 20px; }
body.outing-site .outing-plan > summary { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 76px; padding: 16px; list-style: none; cursor: pointer; }
body.outing-site .outing-plan > summary::-webkit-details-marker { display: none; }
body.outing-site .outing-plan > summary :is(small, strong) { display: block; }
body.outing-site .outing-plan > summary small { margin-bottom: 4px; font-size: 12px; color: var(--outing-green); }
body.outing-site .outing-plan > summary strong { font-size: 18px; line-height: 1.5; }
body.outing-site .outing-plan[open] > summary > span:last-child { transform: rotate(45deg); }
body.outing-site .outing-plan-body { padding: 0 16px 16px; }
body.outing-site .outing-plan-body > p { margin: 0 0 16px; color: var(--outing-muted); font-size: 13px; line-height: 1.75; }
body.outing-site .outing-plan fieldset { min-width: 0; margin: 0 0 16px; padding: 0; border: 0; }
body.outing-site .outing-plan legend { margin-bottom: 6px; font-size: 14px; font-weight: 600; }
body.outing-site .outing-plan label { display: flex; gap: 12px; align-items: center; min-height: 48px; padding: 6px 0; border-bottom: 1px solid #d4ddcd; font-size: 15px; cursor: pointer; }
body.outing-site .outing-plan input { appearance: auto; flex: 0 0 20px; width: 20px; height: 20px; min-height: 20px; margin: 0; accent-color: var(--outing-green); }
body.outing-site .outing-plan-actions { display: flex; flex-wrap: wrap; gap: 8px 12px; }
body.outing-site .outing-notebook { padding-top: 0; }
body.outing-site .outing-notebook-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
body.outing-site .outing-notebook-columns > section { min-width: 0; border-top: 1px solid var(--outing-line); padding: 14px 0 0; }
body.outing-site .outing-notebook h3 { margin: 0 0 12px; font-family: inherit; font-size: 17px; line-height: 1.5; }
body.outing-site .outing-notebook h3 small { margin-left: 6px; color: var(--outing-muted); font-size: 12px; }
body.outing-site .outing-empty { margin: 0; font-size: 14px; line-height: 1.75; color: var(--outing-muted); }
body.outing-site .outing-saved-row { display: grid; grid-template-columns: minmax(0, 1fr) 44px; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--outing-line); }
body.outing-site .outing-saved-row a { display: block; }
body.outing-site .outing-saved-row :is(small, strong, span) { display: block; }
body.outing-site .outing-saved-row small { font-size: 12px; color: var(--outing-muted); }
body.outing-site .outing-saved-row strong { margin-top: 5px; font-size: 16px; }
body.outing-site .outing-saved-row span { margin-top: 6px; font-size: 13px; line-height: 1.7; color: var(--outing-muted); }
body.outing-site .outing-saved-row button { min-width: 44px; min-height: 44px; padding: 0; font-size: 13px; color: var(--outing-rust); background: transparent; border: 0; cursor: pointer; }
body.outing-site .home-notebook-link { display: flex; align-items: center; justify-content: space-between; min-height: 48px; margin-top: 12px; border-top: 1px solid var(--outing-line); color: var(--outing-green); font-size: 14px; }
body.outing-site .site-footer { padding: 22px 0 calc(86px + env(safe-area-inset-bottom)); background: #efefe7; border-top: 1px solid var(--outing-line); }
body.outing-site .site-footer .footer-compact { display: flex; flex-direction: column; align-items: stretch; width: min(100% - 40px, 1080px); margin: 0 auto; padding: 0; gap: 12px; }
body.outing-site .site-footer :is(.footer-identity, .footer-legal) { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: flex-start; gap: 4px 12px; margin: 0; }
body.outing-site .site-footer .footer-identity strong { font-size: 18px; line-height: 1.6; color: var(--outing-ink); }
body.outing-site .site-footer :is(.footer-identity span, .footer-legal span, .footer-legal a) { font-size: 12px; line-height: 1.8; letter-spacing: 0; color: var(--outing-muted); }
body.outing-site .site-footer .footer-legal a { min-height: 0; padding: 0; }
body.outing-site .footer-essential-links { display: flex; flex-wrap: wrap; gap: 0 20px; padding: 0; margin: 0; }
body.outing-site .footer-essential-links a { min-height: 44px; color: var(--outing-green); font-size: 13px; }
@media (max-width: 700px) {
  body.outing-site.template-body .template-hero { display: flex; flex-direction: column; gap: 16px; align-items: stretch; padding: 14px 0 24px !important; }
  body.outing-site.template-body .template-hero .template-hero-copy h1 { font-size: 28px !important; }
  body.outing-site .template-hero-copy > .eyebrow { display: none !important; }
  body.outing-site .template-hero-copy > .status-badge { margin-bottom: 4px; }
  body.outing-site.template-body .template-hero-copy > p:not(.eyebrow) { font-size: 14px; }
  body.outing-site .template-hero-visual { aspect-ratio: 1.85; }
  body.outing-site .section-heading { display: block; }
  body.outing-site .section-heading h2 { font-size: 23px; }
  body.outing-site .travel-finder-panel { padding: 0 0 18px; }
  body.outing-site .travel-filter-row button { padding-inline: 11px !important; }
  body.outing-site .travel-detail-topbar > span { display: none; }
  body.outing-site .more-primary-section .more-link-grid { grid-template-columns: minmax(0, 1fr); }
  body.outing-site .outing-notebook-columns { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  body.outing-site .food-journey-card-grid { gap: 12px; }
  body.outing-site .food-journey-heading h2 { font-size: 22px; }
  body.outing-site .food-journey-heading > a { flex-shrink: 0; font-size: 12px; }
  body.outing-site .food-destination-shortcut-grid { width: 100% !important; margin-inline: 0 !important; padding: 0 0 10px !important; scroll-padding-inline: 0; }
  body.outing-site .food-destination-shortcut-card { flex: 0 0 calc(100% - 24px); }
  body.outing-site .food-destination-shortcut-main { grid-template-columns: 88px minmax(0, 1fr); }
  body.outing-site .food-destination-shortcut-image { width: 88px; height: 112px; }
  /* The photo only sits beside the heading; route/food rows need the full
     card width, otherwise narrow phones squeeze them into a 100px column. */
  body.outing-site .local-weekend-point-card { grid-template-columns: 84px minmax(0, 1fr); gap: 10px; padding: 12px; align-content: start; }
  body.outing-site .local-weekend-point-grid { width: 100%; margin-inline: 0; padding-inline: 0; }
  body.outing-site .local-weekend-more-fold .local-weekend-point-grid { padding: 0 12px 12px; }
  body.outing-site .local-weekend-point-card > * { min-width: 0; margin: 0; }
  body.outing-site .local-weekend-point-image { grid-column: 1; grid-row: 1 / span 2; height: 96px; }
  body.outing-site .local-weekend-point-card img { height: 96px; min-height: 0; border-radius: 5px; }
  body.outing-site .local-weekend-point-meta { grid-column: 2; flex-wrap: wrap; gap: 4px; align-self: end; }
  body.outing-site .local-weekend-point-card h3 { grid-column: 2; align-self: start; font-size: 17px; }
  body.outing-site .local-weekend-point-card > :is(p, .travel-chip-row, .local-weekend-route-preview, .local-weekend-food-preview, .local-weekend-point-action) { grid-column: 1 / -1; margin: 0; }
  body.outing-site .local-weekend-point-card > p { font-size: 14px; line-height: 1.65; }
  body.outing-site .local-weekend-route-preview a { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; }
  body.outing-site .local-weekend-point-action { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; }
  body.outing-site .local-weekend-food-preview > a { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; }
  body.outing-site .local-weekend-food-preview > span { align-self: center; }
  body.outing-site .local-weekend-food-preview .travel-food-mini-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  body.outing-site .local-weekend-food-preview .travel-food-mini-row { min-width: 0; }
  body.outing-site .outing-scroll-hint { display: block; margin: 0 0 12px; color: var(--outing-muted); font-size: 12px; line-height: 1.7; }
  body.outing-site .site-footer .footer-legal { flex-direction: column; gap: 4px; }
  body.outing-site :is(.public-form input, .public-form select, .public-form textarea) { font-size: 16px; }
  body.outing-site .link-directory-grid { grid-template-columns: minmax(0, 1fr); }
  body.outing-site .link-directory-card { display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; }
  body.outing-site .link-directory-card > * { grid-column: 1; grid-row: auto; margin: 0; }
}
@media (max-width: 350px) {
  body.outing-site .site-header, body.outing-site .site-footer .footer-compact { width: calc(100% - 32px); }
  body.outing-site .template-main { width: calc(100% - 32px) !important; }
  body.outing-site.template-body .template-hero .template-hero-copy h1 { font-size: 25px !important; }
  body.outing-site .travel-filter-row button { padding-inline: 8px !important; font-size: 13px; }
  body.outing-site .food-journey-heading { display: block; }
}
body:is(.outing-discover, .outing-route) {
  --outing-paper: #faf9f6;
  --outing-ink: #253d34;
  --outing-muted: #626a63;
  --outing-green: #315c4b;
  --outing-rust: #9c4c30;
  --outing-line: #dfe3db;
  background: var(--outing-paper);
  color: var(--outing-ink);
}
body:is(.outing-discover, .outing-route) .template-main { max-width: 1080px; padding-inline: 0; }
body:is(.outing-discover, .outing-route) .template-content { width: 100%; margin-inline: 0; padding: 0; }
body.outing-discover .template-content { border-top: 0; }
body:is(.outing-discover, .outing-route) .section-heading { display: block; }
body:is(.outing-discover, .outing-route) .section-heading .eyebrow { margin: 0 0 6px; }
body:is(.outing-discover, .outing-route) .section-heading h2 { margin: 0 0 6px; color: var(--outing-ink); font-size: 24px; line-height: 1.45; }
body:is(.outing-discover, .outing-route) .section-heading > p:not(.eyebrow) { margin: 0; color: var(--outing-muted); font-size: 14px; line-height: 1.75; }
body:is(.outing-discover, .outing-route) .eyebrow { color: var(--outing-rust); }
body:is(.outing-discover, .outing-route) :is(a, button):focus-visible { outline: 2px solid var(--outing-green); outline-offset: 3px; }
body:is(.outing-discover, .outing-route) [hidden] { display: none !important; }
body.outing-discover.primary-channel-page .template-hero.is-text-only {
  display: block; min-height: 0; margin: 0; padding: 22px 0 8px; border: 0; background: transparent;
}
body.outing-discover.primary-channel-page .template-hero-copy { padding: 0; }
body.outing-discover.primary-channel-page .template-hero-copy h1 { margin: 0 0 10px; color: var(--outing-ink); font-size: 28px; line-height: 1.4; }
body.outing-discover.primary-channel-page .template-hero-copy > :is(.eyebrow, .status-badge) { display: none; }
body.outing-discover.primary-channel-page .template-hero-copy > p:not(.eyebrow) { margin: 0; font-size: 14px; line-height: 1.75; color: var(--outing-muted); }
body.outing-discover #discover-places { display: block; padding: 10px 0 0; border: 0; }
body.outing-discover .discover-scene-links { display: flex; flex-wrap: wrap; gap: 4px 20px; margin: 0 0 18px; }
body.outing-discover .discover-scene-links a { display: inline-flex; gap: 6px; align-items: center; min-height: 44px; color: var(--outing-green); font-size: 14px; }
body.outing-discover .discover-scene-links svg { width: 19px; height: 19px; }
body.outing-discover .discover-place-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px 20px; }
body.outing-discover .discover-place-card { min-width: 0; border: 0; background: transparent; }
body.outing-discover .discover-place-main { display: block; color: var(--outing-ink); }
body.outing-discover .discover-place-main img { display: block; width: 100%; height: auto; aspect-ratio: 1.25; object-fit: cover; border-radius: 7px; background: #e9ebe4; }
body.outing-discover .discover-place-meta { display: block; margin: 10px 0 4px; color: var(--outing-rust); font-size: 12px; line-height: 1.6; }
body.outing-discover .discover-place-main h3 { margin: 0; font-family: var(--font-sans, system-ui, sans-serif); font-size: 18px; font-weight: 600; line-height: 1.5; color: var(--outing-ink); }
body.outing-discover .discover-place-main p { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; margin: 6px 0 0; font-size: 13px; line-height: 1.7; color: var(--outing-muted); }
body.outing-discover .discover-place-route { display: inline-flex; min-height: 44px; gap: 6px; align-items: center; color: var(--outing-green); font-size: 13px; }
body.outing-discover .discover-place-route svg { width: 15px; height: 15px; }
body.outing-discover .discover-all-places { display: flex; align-items: center; justify-content: space-between; min-height: 48px; margin-top: 12px; border-top: 1px solid var(--outing-line); color: var(--outing-green); font-size: 14px; }
body.outing-discover .discover-all-places svg { width: 18px; height: 18px; }
body.outing-discover #discover-route-start { padding-top: 24px; margin-top: 8px; border-top: 1px solid var(--outing-line); }
body.outing-discover #discover-route-start .section-heading { margin-bottom: 18px; }
body.outing-discover .discover-channel-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; border-top: 1px solid var(--outing-line); margin-top: 24px; padding-top: 12px; }
body.outing-discover .discover-channel-links a { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 48px; color: var(--outing-green); font-size: 14px; }
body.outing-discover .discover-channel-links svg { flex: 0 0 18px; width: 18px; height: 18px; }
body.outing-route .travel-detail-topbar { margin: 0; padding: 0; border: 0; background: transparent; min-height: 44px; }
body.outing-route .travel-detail-topbar > span { display: none; }
body.outing-route .travel-detail-topbar:has(> span:only-child) { display: none; }
body.outing-route .outing-header-back { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 44px; min-height: 44px; margin-left: -12px; color: var(--outing-green); }
body.outing-route .outing-header-back svg { width: 23px; height: 23px; }
body.outing-route .site-header { justify-content: flex-start; }
body.outing-route .site-header .brand { margin-right: auto; }
body.outing-route .travel-detail-jump-row { display: flex; flex-wrap: wrap; gap: 2px 18px; margin: 0; padding: 0; border-bottom: 1px solid var(--outing-line); background: transparent; }
body.outing-route .travel-detail-jump-row a { display: inline-flex; align-items: center; min-height: 44px !important; padding: 0; border: 0; border-radius: 0; font-size: 14px; color: var(--outing-green); }
body.outing-route #route-overview { margin: 0; padding: 12px 0 0; border: 0; }
body.outing-route .v2-route-verification { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 0; padding: 0; border: 0; background: transparent; font-size: 12px; color: var(--outing-muted); }
body.outing-route #route-stops { display: block; padding-top: 16px; margin-top: 0; border: 0; }
body.outing-route #route-stops .section-heading { margin-bottom: 14px; }
body.outing-route .v2-route-mode-panel { display: block; padding: 0; margin: 0 0 16px; border: 0; background: transparent; }
body.outing-route .v2-route-mode-controls { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; border: 0; background: transparent; }
body.outing-route .v2-route-mode-controls button { min-height: 44px; padding: 8px 14px; border: 1px solid #a5b3a6; border-radius: 6px; font-size: 14px; color: var(--outing-green); background: transparent; }
body.outing-route .v2-route-mode-controls button[aria-pressed="true"] { background: var(--outing-green); border-color: var(--outing-green); color: #fff; }
body.outing-route [data-route-mode-description] { margin: 10px 0 0; font-size: 13px; line-height: 1.7; color: var(--outing-muted); }
body.outing-route .travel-route-detail-stops { display: grid; grid-template-columns: 1fr; gap: 0; margin: 0; padding: 0; list-style: none; }
body.outing-route .travel-route-detail-stops > li { position: relative; display: grid; grid-template-columns: 22px minmax(0, 1fr); align-items: start; gap: 10px; min-height: 80px; padding: 0 0 18px; border: 0; border-radius: 0; background: transparent; }
body.outing-route .travel-route-detail-stops > li:not(:last-child)::before { content: ""; position: absolute; top: 27px; bottom: 4px; left: 10px; width: 1px; background: #d2dacf; }
body.outing-route .travel-route-detail-stops > li > span { display: grid; place-items: center; width: 22px; height: 24px; min-width: 0; border-radius: 0; background: var(--outing-paper); color: var(--outing-green); font-size: 12px; font-variant-numeric: tabular-nums; }
body.outing-route .travel-route-detail-stops strong { display: block; font-size: 16px; line-height: 1.7; color: var(--outing-ink); }
body.outing-route .travel-route-detail-stops strong :is(a, span) { font-size: 16px !important; line-height: 1.7; }
body.outing-route .travel-route-detail-stops strong a { display: inline-flex; align-items: center; min-height: 44px !important; min-width: 44px; padding: 0; color: var(--outing-green); }
body.outing-route .travel-route-detail-stops small { display: block; font-size: 12px; color: var(--outing-muted); }
body.outing-route .outing-stop-body { display: grid; grid-template-columns: minmax(0, 1fr) 44px; align-items: center; gap: 4px; min-width: 0; }
body.outing-route .outing-stop-main { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 12px; align-items: start; min-width: 0; color: var(--outing-ink); }
body.outing-route .outing-stop-main > img { display: block; width: 76px; height: 82px; border-radius: 5px; object-fit: cover; }
body.outing-route .outing-stop-main > span { min-width: 0; }
body.outing-route .outing-stop-main small { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; margin-top: 4px; font-size: 13px; line-height: 1.65; }
body.outing-route .outing-stop-main strong { font-size: 16px; line-height: 1.55; }
body.outing-route .outing-route-areas { margin: 0 0 20px; }
body.outing-route .outing-route-areas h3 { margin: 0; font-size: 16px; }
body.outing-route .outing-route-areas > p { margin: 6px 0 14px; font-size: 13px; color: var(--outing-muted); }
body.outing-route .outing-route-areas > .outing-stop-body { margin-bottom: 16px; }
body.outing-route .outing-transfer .outing-stop-body { grid-template-columns: minmax(0, 1fr); }
body.outing-route .outing-transfer-icon { display: grid; place-items: center; width: 76px; min-height: 58px; color: var(--outing-green); }
body.outing-route .outing-transfer-icon svg { width: 25px; height: 25px; }
body.outing-route .outing-stop-choice { display: inline-flex; align-items: center; flex: 0 0 44px; }
body.outing-route .outing-stop-choice label { display: grid; place-items: center; width: 44px; height: 44px; cursor: pointer; }
body.outing-route .outing-stop-choice input { appearance: auto; width: 20px; height: 20px; min-height: 20px; margin: 0; accent-color: var(--outing-green); cursor: pointer; }
body.outing-route .outing-plan.is-inline { margin: 0 0 20px; border: 0; background: transparent; }
body.outing-route .outing-plan.is-inline .outing-plan-body { padding: 0; }
body.outing-route .outing-plan.is-inline .outing-plan-body > p { font-size: 12px; margin-bottom: 12px; }
body.outing-route .outing-plan.is-inline .outing-plan-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 12px; }
body.outing-route .outing-plan.is-inline [data-plan-save] { grid-column: 1 / -1; font-weight: 600; min-height: 46px; }
body.outing-route .outing-plan.is-inline [data-plan-copy] { padding: 8px 0; border: 0; text-align: left; }
body.outing-route .outing-plan.is-inline .outing-plan-actions a { justify-content: flex-end; }
body.outing-route .route-optional-stops > div > b { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
body.outing-route .travel-route-food-dayplan { display: grid; grid-template-columns: minmax(0, 1fr); overflow: visible; gap: 0; margin: 0; padding: 0; }
body.outing-route .travel-route-food-moment { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 0 10px; min-width: 0; width: 100%; padding: 14px 0; border: 0; border-bottom: 1px solid var(--outing-line); background: transparent; border-radius: 0; }
body.outing-route .travel-route-food-moment > span { grid-column: 1; grid-row: 1 / span 3; padding: 10px 0; font-size: 13px; color: var(--outing-rust); }
body.outing-route .travel-route-food-moment > strong { display: none; }
body.outing-route .travel-route-food-moment > div { grid-column: 2; grid-row: 1; display: flex; flex-wrap: wrap; gap: 0 6px; padding: 0; border: 0; background: transparent; }
body.outing-route .travel-route-food-moment > div > b { display: none; }
body.outing-route .travel-route-food-moment > p { grid-column: 2; grid-row: 2; margin: 0; font-size: 12px; line-height: 1.75; color: var(--outing-muted); }
body.outing-route .travel-route-food-moment .travel-food-name-link { padding: 6px 0 !important; background: transparent; border: 0; font-size: 14px !important; }
body.outing-route .travel-route-food-dayplan.is-multiday .travel-route-food-moment { display: block; }
body.outing-route .travel-route-food-dayplan.is-multiday .travel-route-food-moment > strong { display: block; margin-block: 4px; }
body.outing-route .travel-route-food-dayplan.is-multiday .travel-route-food-moment > div > b { display: inline; }
body.outing-route :is(.route-optional-stops, .route-separate-stops) { display: block; margin-top: 14px; padding: 14px; border: 1px solid var(--outing-line); border-radius: 7px; background: transparent; }
body.outing-route .route-optional-stops { background: #eef2eb; }
body.outing-route :is(.route-optional-stops, .route-separate-stops) > span { font-size: 14px !important; font-weight: 600; color: var(--outing-green); }
body.outing-route .route-separate-stops > span { color: var(--outing-rust); }
body.outing-route :is(.route-optional-stops, .route-separate-stops) > p { margin: 6px 0 8px; font-size: 13px; line-height: 1.7; color: var(--outing-muted); }
body.outing-route :is(.route-optional-stops, .route-separate-stops) > div { display: flex; flex-wrap: wrap; gap: 6px 14px; }
body.outing-route .route-optional-stops > div { display: grid; grid-template-columns: 1fr; gap: 0; }
body.outing-route :is(.route-optional-stops, .route-separate-stops) b { margin: 0; padding: 0; border: 0; background: transparent; font-weight: 500; font-size: 14px; }
body.outing-route :is(.route-optional-stops, .route-separate-stops) b :is(a, span) { font-size: 14px !important; line-height: 1.7; }
body.outing-route :is(.route-optional-stops, .route-separate-stops) b a { display: inline-flex; align-items: center; min-height: 44px !important; min-width: 44px; padding: 0; }
body.outing-route :is(#route-stops, #route-spots, #route-optional, #route-food, #route-departure) { scroll-margin-top: 80px; }
body.outing-route .travel-local-attraction-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
body.outing-route .travel-local-attraction-links > a { display: grid; grid-template-columns: 104px minmax(0, 1fr); padding: 0 0 16px; gap: 14px; border: 0; border-bottom: 1px solid var(--outing-line); border-radius: 0; background: transparent; }
body.outing-route .travel-local-attraction-links > a > img { width: 104px; height: 104px; object-fit: cover; border-radius: 6px; }
body.outing-route .travel-local-attraction-copy { min-width: 0; }
body.outing-route .travel-local-attraction-copy > span { font-size: 12px; line-height: 1.6; color: var(--outing-rust); }
body.outing-route .travel-local-attraction-copy > strong { font-size: 17px; line-height: 1.6; color: var(--outing-ink); }
body.outing-route .travel-local-attraction-copy > small { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; font-size: 13px; line-height: 1.7; color: var(--outing-muted); }
body.outing-route .route-departure-card { margin-top: 24px; background: #eef2eb; border: 1px solid var(--outing-line); border-radius: 7px; }
body.outing-site .route-departure-actions :is(button, a) { min-height: 44px; color: var(--outing-green); border-color: #b9c7b4; font-size: 14px; }
body.outing-site .route-departure-actions button[aria-pressed="true"] { color: #fff; background: var(--outing-green); border-color: var(--outing-green); }
@media (max-width: 700px) {
  body.outing-site .route-departure-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  body.outing-site .route-departure-actions :is(button, a) { min-width: 0; justify-content: center; padding-inline: 7px; }
  body.outing-site .route-departure-actions svg { flex-shrink: 0; }
  body:is(.outing-discover, .outing-route) .template-main { width: calc(100% - 40px) !important; padding-inline: 0; margin-inline: auto; }
  body.outing-discover .discover-place-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 14px; }
  body.outing-discover .discover-place-main h3 { font-size: 17px; }
  body.outing-discover .discover-place-main p { display: none; }
  body.outing-discover .discover-channel-links { grid-template-columns: 1fr; gap: 0; }
  body.outing-route.template-body:not(.primary-channel-page) .template-hero { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 12px 0 8px; background: transparent; border: 0; }
  body.outing-route .template-hero-copy { padding: 0; }
  body.outing-route.template-body:not(.primary-channel-page) .template-hero h1 { font-size: 27px; line-height: 1.45; margin: 8px 0; color: var(--outing-ink); }
  body.outing-route .template-hero-copy > .eyebrow { display: none; }
  body.outing-route .template-hero-copy > p:not(.eyebrow) { margin: 8px 0 0; font-size: 14px; line-height: 1.75; color: var(--outing-muted); }
  body.outing-route .template-hero-visual { order: -1; width: 100%; min-height: 0; height: auto; aspect-ratio: 1.85; border-radius: 7px; }
  body.outing-route .template-hero-copy { display: flex; flex-direction: column; }
  body.outing-route .template-hero-copy > .status-badge { order: 2; margin: 12px 0 0; font-size: 13px; color: var(--outing-green); }
  body.outing-route .template-hero-visual img { width: 100%; height: 100%; object-fit: cover; }
  body.outing-route .travel-local-attraction-links { grid-template-columns: 1fr; }
  body:is(.outing-discover, .outing-route) .section-heading h2 { font-size: 23px; }
}
/* Supporting screens share the same restrained type and surface hierarchy. */
body.outing-site :is(.mobile-disclosure, .travel-inline-fold, .travel-section-fold) > summary .eyebrow { display: none; }
body.outing-site :is(.mobile-disclosure, .travel-inline-fold, .travel-section-fold):not([open]) > summary .section-heading > p:not(.eyebrow) { display: none; }
body.outing-site .route-departure-card { padding: 18px; }
body.outing-site .route-departure-heading h2 { font-size: 21px; line-height: 1.5; }
body.outing-site .route-departure-heading > span { display: none; }
body.outing-site .route-action-status:empty { display: none; }
body.outing-route #route-stops .section-heading .eyebrow { display: none; }
body.outing-route #route-source > a { margin: 0 14px 14px; }
body.outing-route .route-departure-grid { display: none; }
body.outing-site .site-search-form { padding: 0; background: transparent; border: 0; }
body.outing-site .more-link-card { border: 0; border-bottom: 1px solid var(--outing-line); border-radius: 0; padding: 16px 0; }
body.outing-site .more-link-icon { border: 0; border-radius: 0; background: transparent; }
body.outing-site .food-journey-heading h2 { font-size: 22px; }
body.outing-site .mobile-tab-bar { background: #faf9f6; border-color: var(--outing-line); box-shadow: none; }
body.outing-site .mobile-tab-bar > a { color: #697069; font-size: 12px !important; }
body.outing-site .mobile-tab-bar > a.is-active { color: var(--outing-green); }
body.outing-site .mobile-tab-bar > a svg { width: 24px !important; height: 24px !important; stroke-width: 1.75; }
body.outing-site .section-heading .eyebrow { font-weight: 500; }
@media (max-width: 350px) {
  body.outing-route .outing-stop-main { grid-template-columns: 60px minmax(0, 1fr); gap: 8px; }
  body.outing-route .outing-stop-main > img { width: 60px; height: 78px; }
  body.outing-route .outing-transfer-icon { width: 60px; }
}
@media (min-width: 901px) {
  body.outing-site .site-header .header-actions > .menu-button { display: none; }
}
@media (max-width: 350px) {
  body:is(.outing-discover, .outing-route) .template-main { width: calc(100% - 32px) !important; }
  body.outing-discover .discover-scene-links { gap: 4px 14px; }
  body.outing-discover .discover-scene-links a { font-size: 13px; }
  body.outing-discover .discover-place-grid { gap: 18px 12px; }
  body.outing-discover.primary-channel-page .template-hero-copy h1 { font-size: 25px; }
  body.outing-route .travel-detail-jump-row { gap: 2px 13px; }
  body.outing-route .travel-detail-jump-row a { font-size: 13px; }
  body.outing-route .travel-local-attraction-links > a { grid-template-columns: 88px minmax(0, 1fr); gap: 12px; }
  body.outing-route .travel-local-attraction-links > a > img { width: 88px; height: 96px; }
}
