/* Harmony: the chosen photographic Bluebird experience, adapted to the live
   travel controls. This stylesheet changes presentation, not trip semantics. */
@font-face {
  font-family: Archivo;
  src: url("/assets/harmony/archivo.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

:root {
  color-scheme: dark;
  --canvas: #101f2d;
  --paper: #21313b;
  --parchment: #2c3f4b;
  --ink: #f7f2e9;
  --muted: #c5c6c0;
  --line: #47535a;
  --ocean: #b8d8ef;
  --ocean-raised: #d5eafa;
  --bird-blue: #b8d8ef;
  --bird-sky: #29465d;
  --gold: #efa76c;
  --belly: #efa76c;
  --belly-hover: #ffc18e;
  --cream: #f2e8d8;
  --go: #a2dcc2;
  --hold: #e7c594;
  --no: #efb4ab;
  --display: Archivo, Arial, sans-serif;
  --body: Archivo, Arial, sans-serif;
  --harmony-field: #122637;
  --harmony-control-line: #4e677a;
  --harmony-button-ink: #24231f;
}

body {
  background: var(--canvas);
  color: var(--ink);
  font: 400 13px/1.45 var(--body);
}
h1, h2, h3 { font-family: var(--display); font-weight: 550; letter-spacing: -.025em; }
h1 { font-size: 28px; line-height: 1.2; }
h2 { font-size: 18px; line-height: 1.25; }
h3 { font-size: 18px; line-height: 1.3; }
button, input, select, textarea { touch-action: manipulation; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, summary:focus-visible { outline-color: var(--ocean); outline-offset: 3px; }
input, select, textarea { color-scheme: dark; }
.skip-link { color: var(--ink); background: var(--paper); }

/* The navigation stays together. Only the account action uses the far edge. */
.site-header {
  min-height: 52px;
  gap: 14px;
  padding: 7px 20px;
  background: var(--canvas);
  border-color: var(--line);
}
.brand { gap: 5px; color: var(--ink); font: 550 23px/1 var(--display); letter-spacing: -.03em; }
.brand-bird { order: -1; width: 26px; height: 32px; margin: 0; }
.brand-orbit { display: none; }
.mode-nav { gap: 2px; padding: 3px; background: #0a1723; border: 0; border-radius: 4px; }
.mode-nav a { min-height: 28px; padding: 4px 10px; border: 0; border-radius: 3px; font-size: 12px; font-weight: 500; color: var(--muted); }
.mode-nav a[aria-current="page"] { color: #fff; background: #29465d; border: 0; box-shadow: none; }
.mode-nav a:hover { color: #fff; background: #20394d; }
.header-actions { gap: 12px; font-size: 11px; }
.header-actions .text-button { min-height: 30px; font-size: 11px; font-weight: 500; }
.header-actions #accountLink { display: inline-flex; align-items: center; justify-content: center; min-height: 30px; padding: 5px 11px; background: var(--ocean); border-radius: 4px; color: var(--harmony-button-ink); font-size: 12px; font-weight: 550; text-decoration: none; }
.header-actions #accountLink:hover { background: #d5eafa; color: #102b40; }

/* A separate, full-width welcome keeps the chosen photograph intact. */
body[data-surface="welcome"] .mode-nav,
body[data-surface="welcome"] #savedButton { display: none; }
body[data-surface="welcome"] .site-header { min-height: 80px; }
.welcome-page { width: 100%; max-width: none; margin: 0; padding: 24px 20px 0; }
.welcome-heading { margin-bottom: 18px; }
.welcome-heading h1 { max-width: none; margin: 0 0 8px; font-size: 28px; color: var(--ink); }
.welcome-heading p { max-width: 76ch; color: #becfda; font-size: 14px; line-height: 1.5; }
.welcome-photo { position: relative; margin: 0; overflow: hidden; border-radius: 0; background: var(--paper); }
.welcome-photo > img { display: block; width: 100%; height: min(52vh, 520px); object-fit: cover; object-position: 50% 58%; }
.welcome-photo figcaption, .welcome-photo .photo-caption { position: absolute; right: 12px; bottom: 9px; left: auto; max-width: calc(100% - 24px); padding: 3px 6px; color: #fff; background: #102333b8; font-size: 10px; line-height: 1.4; text-align: right; }
.welcome-choices { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
.welcome-choices > a { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 210px; min-height: 40px; padding: 9px 16px; border: 1px solid var(--ocean); border-radius: 4px; background: var(--ocean); color: var(--harmony-button-ink); font-size: 13px; font-weight: 550; text-decoration: none; }
.welcome-choices > a:nth-child(2) { color: var(--ink); background: transparent; border-color: #758c9e; }
.welcome-choices > a:hover { background: #d5eafa; color: #102b40; }
.welcome-choices > a:nth-child(2):hover { background: #20394d; color: #fff; }
body[data-surface="welcome"] .site-footer { margin-top: 26px; }

/* The settings rail uses the same live controls, in one compact vertical flow. */
.canvas, body[data-travel-mode="vacation"] .canvas { padding: 12px 20px 20px; }
.app-workspace { display: grid; grid-template-columns: 272px minmax(0, 1fr); gap: 14px; align-items: start; }
.trip-sidebar { position: relative; min-width: 0; padding: 12px; background: var(--paper); border-radius: 4px; }
.sidebar-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.sidebar-heading h2 { margin: 0; font-size: 15px; font-weight: 550; }
.sidebar-toggle { display: none; }
.trip-content { min-width: 0; }
.trip-sidebar .travel-desk, body[data-travel-mode="vacation"] .trip-sidebar .travel-desk { margin: 0; padding: 0; border: 0; }
.trip-sidebar .desk-main { display: flex; flex-direction: column; align-items: stretch; gap: 8px; padding-bottom: 0; }
.trip-sidebar .request-summary { display: contents; }
.trip-sidebar .desk-field { flex: none; width: 100%; max-width: 100%; gap: 4px; }
.trip-sidebar .desk-field > span { color: var(--muted); font-size: 11px; line-height: 1.3; }
.trip-sidebar .desk-inline { gap: 6px; flex-wrap: nowrap; min-width: 0; width: 100%; }
.trip-sidebar .desk-inline > input,
.trip-sidebar .desk-inline > select { flex: 1 1 0; width: 0; max-width: 100%; min-width: 0; }
.trip-sidebar .desk-field > input,
.trip-sidebar .desk-field > select { width: 100%; }
.trip-sidebar .desk-inline > .text-button { flex: none; min-height: 34px; padding: 4px 2px; font-size: 11px; font-weight: 550; }
.trip-sidebar .field-focus .desk-inline > select { flex: 0 0 57px; width: 57px; }
.trip-sidebar .destination-picker { width: 100%; min-width: 0; gap: 6px; }
.trip-sidebar .field-geography .desk-inline { flex-wrap: wrap; }
.trip-sidebar .field-geography .destination-picker { flex: 1 0 100%; }
.trip-sidebar .destination-picker > #destinationInput { min-width: 0; width: 0; }
.trip-sidebar #destinationBrowse { padding-inline: 2px; font-size: 11px; }
.trip-sidebar .desk-inline .checkbox-line { margin: 0; font-size: 11px; white-space: normal; }
.trip-sidebar .scope-extras:not(:empty) { width: 100%; }
.trip-sidebar .international-scope-note { max-width: none; padding: 0; font-size: 10px; }
.trip-sidebar #findButton { width: 100%; justify-content: space-between; min-height: 35px; margin-top: 8px; font-size: 13px; }
.trip-sidebar .desk-utilities { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 12px; margin-top: 8px; padding-top: 7px; border-top: 1px solid var(--line); }
.trip-sidebar .desk-utilities .text-button { min-height: 28px; font-size: 11px; font-weight: 500; }
.trip-sidebar .desk-state { display: block; width: 100%; font-size: 10px; line-height: 1.5; }
.trip-sidebar .question-panel { position: relative; top: auto; left: auto; width: 100%; max-height: none; margin-top: 10px; padding: 11px; background: #102637; border: 1px solid var(--line); border-radius: 4px; box-shadow: none; overflow: visible; }
.trip-sidebar .question-fields { gap: 8px; }
.trip-sidebar .field { flex-basis: 100%; gap: 4px; }
.trip-sidebar .field.small { flex: 1 1 80px; }
.trip-sidebar .activity-preference-fields { gap: 8px; padding-block: 10px; }
.trip-sidebar .activity-preference-fields .field { flex-basis: 100%; }
.trip-sidebar .question-heading { gap: 6px; margin-bottom: 9px; }
.trip-sidebar .question-heading h2 { font-size: 13px; }
.trip-sidebar .question-actions { gap: 6px 10px; }
.trip-sidebar .required-options { gap: 3px 8px; }

/* Inputs and floating choices share one dark control family. */
.desk-field input, .desk-field select, .field input, .field select,
.question-fields > input, .question-fields > select, #refinementTopic,
.travel-map-toolbar input, .travel-map-toolbar select,
.destination-popover select, .destination-popover input {
  min-height: 34px;
  padding: 6px 8px;
  background: var(--harmony-field);
  color: var(--ink);
  border: 1px solid var(--harmony-control-line);
  border-radius: 3px;
  box-shadow: none;
  font-family: var(--body);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.4;
}
.desk-field input::placeholder, .field input::placeholder,
.question-fields > input::placeholder, .travel-map-toolbar input::placeholder { color: #b6c7d3; opacity: 1; }
.desk-field input:hover, .desk-field select:hover, .field input:hover,
.field select:hover, .question-fields > input:hover, .question-fields > select:hover,
#refinementTopic:hover { border-color: #809bad; }
select option, select optgroup { background: #172c3d; color: var(--ink); }
.primary, .secondary { min-height: 34px; gap: 8px; padding: 7px 12px; border-radius: 4px; font-size: 12px; font-weight: 550; box-shadow: none; }
.primary { background: var(--belly); color: var(--harmony-button-ink); border: 1px solid var(--belly); }
.primary:hover { background: var(--belly-hover); color: #24231f; }
.primary:active { box-shadow: none; }
.secondary { color: var(--ink); background: transparent; border-color: #758c9e; }
.secondary:hover { color: #fff; background: #20394d; }
.text-button { color: var(--ink); font-weight: 550; }
.text-button:hover { color: #fff; }
.desk-notice { background: #234051; color: #d5e9f4; border-radius: 3px; font-size: 11px; line-height: 1.5; }
.destination-hint { color: #d0e1ee; background: #20394d; border-color: #4e677a; border-radius: 4px; box-shadow: 0 4px 12px #04132133; }
.destination-popover, .origin-popover, .travel-choice-menu, .question-panel { color: var(--ink); background: #172c3d; border-color: #4e677a; border-radius: 4px; box-shadow: 0 10px 28px #020b1466; }
.trip-sidebar .destination-popover, .trip-sidebar .origin-popover { width: 300px; max-width: calc(100vw - 52px); }
.destination-popover-heading, .destination-context-note, .question-heading h2 { color: #c2ddeb; }
.destination-matches > button, .origin-popover button { color: var(--ink); background: #122637; border-color: #4e677a; border-radius: 3px; }
.destination-matches > button:hover, .origin-popover button:hover { background: #29465d; }
.travel-choice-option { color: var(--ink); font-family: var(--body); font-weight: 400; }
.travel-choice-option:hover, .travel-choice-option[data-active="true"] { background: #29465d; }
.travel-choice-option[aria-selected="true"] { background: #36566d; color: #fff; font-weight: 550; }
.option { color: var(--ink); background: #142b3d; border-color: #4e677a; border-radius: 3px; }
.option[aria-pressed="true"] { color: #fff; background: #35556d; border-color: #8bafc9; }
.option:hover { border-color: #9dbed4; }
.checkbox-line input { accent-color: #b8d8ef; }

/* Calendar can remain a popup or render in the sidebar without a second shell. */
.travel-calendar { color: var(--ink); background: #172c3d; border: 1px solid #4e677a; border-radius: 4px; box-shadow: 0 10px 28px #020b1466; }
.travel-calendar-heading > span { color: var(--ink); font-weight: 550; }
.travel-calendar button { border-radius: 2px; font-weight: 400; }
.travel-calendar button:hover:not(:disabled) { background: #304f66; color: #fff; }
.travel-calendar-days button[aria-pressed="true"],
.travel-calendar-days button[aria-pressed="true"]:hover { background: var(--belly); color: #24231f; }
.travel-calendar-days button.between, .travel-calendar-days button.is-between { background: #2c4c65; color: var(--ink); }
#sidebarCalendar { width: 100%; min-width: 0; margin: 2px 0; padding-top: 8px; border-top: 1px solid var(--line); }
#sidebarCalendar:empty { display: none; }
#sidebarCalendar .travel-calendar, #sidebarCalendar .travel-calendar-inline { position: static; width: 100%; max-width: 100%; max-height: none; padding: 0; overflow: visible; border: 0; background: transparent; box-shadow: none; color: var(--ink); font: 400 12px/1.4 var(--body); }
#sidebarCalendar .travel-calendar-heading { margin-bottom: 5px; }
#sidebarCalendar .travel-calendar-heading > span { font-size: 12px; }
#sidebarCalendar .travel-calendar button, #sidebarCalendar .travel-calendar-inline button { display: inline-flex; align-items: center; justify-content: center; min-width: 0; min-height: 27px; padding: 2px; font-family: var(--body); font-size: 11px; font-weight: 400; color: inherit; background: transparent; border: 0; border-radius: 2px; cursor: pointer; }
#sidebarCalendar .travel-calendar-inline button:hover:not(:disabled) { background: #304f66; color: #fff; }
#sidebarCalendar .travel-calendar-inline button:disabled { opacity: .35; cursor: default; }
#sidebarCalendar .travel-calendar-inline button[aria-pressed="true"] { background: var(--belly); color: #24231f; }
#sidebarCalendar .travel-calendar-heading > button { min-width: 28px; }
#sidebarCalendar .travel-calendar-weekdays, #sidebarCalendar .travel-calendar-days { gap: 2px; }
#sidebarCalendar .travel-calendar-weekdays { font-size: 9px; }
#sidebarCalendar .travel-calendar-days button { aspect-ratio: auto; height: 28px; }
#sidebarCalendar .travel-calendar-footer { margin-top: 4px; padding-top: 4px; }

/* Discovery is an actual photo viewer, with small selectors in the same plane. */
.discovery-panel { min-width: 0; margin: 0; padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.discovery-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; min-height: 28px; padding-bottom: 6px; font-size: 12px; }
.discovery-toolbar h2, .discovery-toolbar h3 { font-size: 14px; font-weight: 550; }
.discovery-toolbar p, .discovery-toolbar small, .discovery-toolbar .discovery-note { color: var(--muted); font-size: 10px; }
.discovery-toolbar > span { margin-left: auto; color: var(--muted); font-size: 10px; }
.discovery-toolbar button { display: inline-flex; align-items: center; justify-content: center; min-width: 28px; min-height: 28px; padding: 4px; border: 0; border-radius: 3px; color: var(--ocean); background: transparent; }
.discovery-toolbar button:hover { color: #fff; background: #29465d; }
.discovery-photo { position: relative; min-width: 0; margin: 0; overflow: hidden; background: #142b3d; border-radius: 0; }
.discovery-photo > img { display: block; width: 100%; height: clamp(250px, 39vh, 420px); object-fit: cover; object-position: center; }
.discovery-photo figcaption, .discovery-caption { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; padding: 7px 0 0; font-size: 11px; color: var(--muted); }
.discovery-photo figcaption { position: absolute; right: 10px; bottom: 10px; left: 10px; padding: 6px 8px; width: fit-content; max-width: calc(100% - 20px); background: #102333d9; color: #e7f2f8; border-radius: 3px; }
.discovery-photo figcaption strong { font-weight: 550; }
.discovery-photo > button, .discovery-photo > .primary { position: absolute; right: 10px; bottom: 10px; z-index: 1; }
.discovery-strip { display: grid; grid-template-columns: repeat(var(--photo-count,9), minmax(0, 1fr)); gap: 6px; margin-top: 7px; }
.discovery-strip > button, .discovery-strip > figure, .discovery-strip > a { min-width: 0; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--ink); text-align: left; text-decoration: none; }
.discovery-strip img { display: block; width: 100%; height: 100px; object-fit: cover; opacity: 1; }
.discovery-strip button:hover img, .discovery-strip button[aria-pressed="true"] img,
.discovery-strip button[aria-selected="true"] img, .discovery-strip .is-selected img { opacity: 1; }
.discovery-strip button[aria-pressed="true"] img,
.discovery-strip button[aria-selected="true"] img, .discovery-strip .is-selected img { outline: 2px solid var(--belly); outline-offset: -2px; }
.discovery-strip span, .discovery-strip figcaption { display: block; padding-top: 5px; font-size: 10px; line-height: 1.35; }
.discovery-strip small { color: var(--muted); font-size: 9px; }
.discovery-panel > p { color: var(--muted); font-size: 11px; line-height: 1.5; margin-top: 8px; }

/* Real results retain their evidence and controls, in the quieter app surface. */
.page-heading, body[data-travel-mode="vacation"] .page-heading { align-items: baseline; gap: 14px; margin-bottom: 12px; }
.page-heading h1, body[data-travel-mode="vacation"] .page-heading h1 { color: var(--ink); font-size: 24px; line-height: 1.2; }
.page-heading p { font-size: 12px; margin-top: 5px; line-height: 1.5; }
.page-heading p:empty, .result-heading:has(> h2:empty):has(> span:empty) { display: none; }
.result-heading { gap: 12px; margin-bottom: 10px; }
.result-heading h2, .idea-map-section h2, .section-heading h2 { color: var(--ink); font-size: 18px; }
.result-heading > span { font-size: 11px; }
.status-message { font-size: 12px; line-height: 1.55; margin-bottom: 10px; }
.results { grid-template-columns: minmax(0, 1fr); gap: 14px; }
.alternatives { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.idea { background: var(--paper); border-radius: 4px; box-shadow: none; }
.idea.lead, .results.single .idea.lead { grid-template-columns: minmax(0, 1.2fr) minmax(230px, 1fr); }
.idea.lead .idea-visual { min-height: 320px; }
.idea-visual { min-height: 240px; background: #1d3b4b; }
.idea-body { padding: 18px; }
.idea h3 { color: var(--ink); font-size: 24px; font-weight: 550; margin-bottom: 10px; }
.idea-description { font-size: 13px; line-height: 1.6; margin-bottom: 12px; }
.idea-place { font-size: 11px; margin-bottom: 6px; }
.idea-fit { color: var(--go); }
.idea-tradeoff { padding-top: 10px; margin-bottom: 12px; line-height: 1.6; }
.idea-actions { gap: 10px; }
.idea.alt { grid-template-columns: minmax(100px, .75fr) minmax(0, 1.25fr); }
.idea.alt .idea-visual { min-height: 155px; }
.idea.alt .idea-body { padding: 13px; }
.idea.alt h3 { font-size: 18px; line-height: 1.25; }
.idea.alt .primary { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.photo-fallback { color: #c1d7e5; font-size: 22px; font-style: normal; font-weight: 400; }
.photo-credit { background: #102333db; color: #f1f7fa; }
.empty-answer { padding: 18px; background: var(--paper); border-color: var(--line); border-radius: 4px; }
.empty-answer:not(.has-place-picture):not(.loading-answer) { width: 100%; padding: 18px; }
.empty-answer h3 { color: var(--ink); font-size: 21px; margin-bottom: 9px; }
.empty-answer p { color: var(--muted); font-size: 13px; line-height: 1.6; margin-bottom: 13px; }
.empty-answer.has-place-picture .empty-answer-copy { padding: 18px; }
.loading-answer { min-height: 150px; }
.loading-line { margin-bottom: 12px; background: #345167; }
.loading-line::after { background: var(--ocean); }
.answer-layout:has(> .idea-map-section:not([hidden])) { grid-template-columns: minmax(0, 1fr); gap: 14px; }
.answer-layout:has(> .idea-map-section:not([hidden])) .idea.lead,
.answer-layout:has(> .idea-map-section:not([hidden])) .empty-answer { grid-column: 1; grid-row: 1; }
.answer-layout:has(> .idea-map-section:not([hidden])) .idea-map-section { grid-column: 1; grid-row: 2; }
.answer-layout:has(> .idea-map-section:not([hidden])) .alternatives { grid-column: 1; grid-row: 3; gap: 12px; }
.answer-layout:has(> .idea-map-section:not([hidden])) .idea.alt { grid-template-columns: 34% minmax(0, 1fr); }
.selected-detail { margin-top: 18px; padding-top: 16px; }
.section-heading { margin-bottom: 12px; }
.detail-overview { grid-template-columns: minmax(0, 1fr); gap: 16px; }
.detail-feature { grid-template-columns: minmax(0, 1.3fr) minmax(230px, 1fr); background: var(--paper); border-radius: 4px; }
.detail-photo { min-height: 320px; }
.detail-summary { gap: 11px; padding: 18px; }
.detail-intro { color: var(--ink); font-size: 13px; line-height: 1.6; }
.detail-journey { color: #c5dfef; }
.detail-plan { gap: 22px; margin-top: 18px; }
.detail-plan h3, .detail-activity h3, .detail-block h3 { color: var(--ink); font-weight: 550; }
.detail-block { margin-bottom: 18px; }
.detail-block p, .detail-block li { font-size: 13px; }
.detail-evidence { margin-top: 15px; }
.detail-evidence-grid { gap: 20px; }
.detail-actions { gap: 12px; margin-top: 16px; padding-top: 13px; }
.stop-order { color: var(--ocean); font-size: 17px; }
.source-links a { color: var(--ocean); }
.activity-weather h4 { color: var(--ink); font-weight: 550; }
.activity-sessions { color: var(--ink); font-size: 12px; line-height: 1.6; }
.decision-evidence { margin-block: 10px 15px; font-size: 12px; line-height: 1.6; }
.decision-evidence summary { font-weight: 550; }
.decision-alternatives { margin-block: 12px; }
.decision-alternatives h3 { font-size: 16px; }
.avoid-section { grid-template-columns: 180px minmax(0, 1fr); gap: 18px; margin-top: 18px; padding-top: 15px; }
.avoid-section h2 { color: var(--ink); font-size: 17px; }
.coverage-details { margin-top: 17px; padding-top: 11px; }
.saved-section { margin-top: 18px; padding-top: 16px; }
.saved-row { gap: 12px; padding-block: 12px; }
.saved-row h3 { color: var(--ink); font-size: 17px; }

/* Map geography stays unfiltered; only its own controls and annotations change. */
.map-panel, .travel-map-canvas { background: #18354a; border-radius: 4px; }
.travel-map-toolbar { gap: 8px; }
.travel-map-toolbar button, .travel-map-places button { color: var(--ocean); background: #172f42; border-color: #4e677a; border-radius: 3px; }
.travel-map-toolbar button:hover, .travel-map-places button:hover { background: #29465d; border-color: #829db0; }
.travel-map-places .travel-map-place-name { background: transparent; color: var(--ocean); }
.travel-map-fallback { color: var(--muted); }
.travel-map-label { color: var(--ink); font-family: var(--body); }
.travel-map-popup .travel-map-external { color: var(--ocean); }
.leaflet-popup-content-wrapper, .leaflet-popup-tip, .leaflet-tooltip { color: var(--ink); background: #172c3d; border-color: #4e677a; }
.leaflet-tooltip-top::before { border-top-color: #4e677a; }
.leaflet-tooltip-bottom::before { border-bottom-color: #4e677a; }
.leaflet-tooltip-left::before { border-left-color: #4e677a; }
.leaflet-tooltip-right::before { border-right-color: #4e677a; }
.leaflet-container a.leaflet-popup-close-button { color: #d2e3ee; }
.leaflet-bar { border-color: #4e677a; box-shadow: 0 2px 7px #06131e3d; }
.leaflet-bar a, .leaflet-control-layers { color: var(--ink); background: #172c3d; border-color: #4e677a; }
.leaflet-bar a:hover { color: #fff; background: #29465d; }
.leaflet-bar a.leaflet-disabled { color: #91a6b5; background: #203445; }
.leaflet-control-attribution { color: #c0d0dc; background: #102333e8 !important; }
.leaflet-control-attribution a { color: #d1e7f7; }
.leaflet-control-scale-line { color: var(--ink); background: #102333c7; border-color: #b9cbd8; text-shadow: none; }
.site-footer { padding: 13px 20px 18px; gap: 16px; color: var(--muted); border-color: var(--line); font-size: 10px; }
.site-footer > div { gap: 14px; }
.site-footer .release-note { font-size: 10px; }

/* Existing membership and sign-in pages inherit the same visual family.
   Their registration, feedback and account boundaries remain in the markup. */
body.membership-page, body.account-page {
  --room: #101f2d;
  --surface: #172c3d;
  --surface-high: #20394d;
  --field: #122637;
  --dim: #a9bdcc;
  --faint: #afc2d0;
  --blue: #b8d8ef;
  --bluebird: #b8d8ef;
  --bluebird-deep: #b8d8ef;
  --line-strong: #4e677a;
  --focus: transparent;
  background: #101f2d;
  color: #edf3f7;
  font: 400 13px/1.5 var(--body);
}
.membership-page h1, .membership-page h2, .membership-page h3,
.account-page h1, .account-page h2, .account-page h3 { font-family: var(--display); font-weight: 550; letter-spacing: -.025em; color: var(--ink); }
.membership-page .membership-story h1, .account-page .account-intro h1 { font-size: 28px; line-height: 1.2; font-weight: 550; }
.membership-page h2, .account-page .auth-panel h2, .account-page .member-heading h2,
.account-page .settings-section h2, .account-page .danger-zone h2 { font-size: 20px; line-height: 1.25; font-weight: 550; }
.membership-page p, .account-page .account-intro > p:last-of-type,
.account-page .auth-panel > p:not(.eyebrow):not(.form-status),
.account-page .section-heading > p, .account-page .danger-zone p { color: var(--muted); font-size: 13px; line-height: 1.6; }
.membership-page .preview-nav { min-height: 80px; padding: 8px 20px; background: var(--canvas); color: var(--ink); border-bottom: 1px solid var(--line); }
.membership-page .preview-brand { color: var(--ink); font: 550 23px/1 var(--display); }
.membership-page .preview-brand img { width: 26px; height: 32px; object-fit: contain; }
.membership-page .preview-nav nav { gap: 16px; }
.membership-page .preview-nav nav a { color: var(--muted); font-size: 12px; }
.membership-page .preview-nav a[aria-current] { color: var(--ink); border-bottom-color: var(--ocean); }
.membership-page .membership-canvas { padding: 20px; gap: 20px; }
.membership-page .membership-story { min-height: 330px; border-radius: 4px; background: #172c3d; }
.membership-page .membership-story-copy { padding: 20px; }
.membership-page .membership-story-copy p { color: #edf3f7; }
.membership-page .membership-benefits, .membership-page .benefit-list { color: var(--ink); }
.membership-page .benefit-list > div { border-color: var(--line); }
.membership-page .benefit-list dt { color: var(--ink); }
.membership-page .benefit-list dd { color: var(--muted); font-size: 13px; }
.membership-page .preview-boundary, .account-page .draft-notice,
.account-page .provider-boundary { border: 1px solid var(--line); border-radius: 4px; background: #1d3649; color: var(--muted); font-size: 12px; line-height: 1.55; padding: 11px 12px; }
.membership-page .preference-sketch, .membership-page .pilot-feedback,
.membership-page .preview-footer, .membership-page .preview-wishlist,
.membership-page .preview-shortlist li { border-color: var(--line); }
.membership-page input, .membership-page select, .membership-page textarea,
.account-page input:not([type="checkbox"]):not([type="radio"]), .account-page select,
.account-page textarea { min-height: 38px; padding: 7px 9px; border: 1px solid #4e677a; border-radius: 3px; background: #122637; color: var(--ink); font: 400 13px/1.4 var(--body); }
.membership-page input::placeholder, .membership-page textarea::placeholder,
.account-page input::placeholder, .account-page textarea::placeholder { color: #afc2d0; opacity: 1; }
.membership-page .button, .membership-page .button.primary,
.account-page .button, .account-page .button.primary { display: inline-flex; align-items: center; justify-content: center; min-height: 36px; padding: 7px 13px; border: 1px solid #bad9ef; border-radius: 4px; color: #17344b; background: #bad9ef; font: 550 13px/1.4 var(--body); text-decoration: none; box-shadow: none; }
.membership-page .button:hover, .account-page .button:hover { transform: none; background: #d5eafa; color: #102b40; }
.membership-page .button.secondary, .account-page .button.secondary { color: var(--ink); background: transparent; border-color: #758c9e; }
.membership-page .button.secondary:hover, .account-page .button.secondary:hover { color: #fff; background: #20394d; }
.membership-page .sketch-result, .membership-page .preview-shortlist { color: var(--ink); background: var(--paper); border-radius: 4px; }
.membership-page .preview-shortlist h4 { color: var(--ink); font: 550 17px/1.3 var(--body); }
.membership-page .preview-shortlist a { color: var(--ocean); font-weight: 550; }
.membership-page .preview-footer { margin-inline: 20px; color: var(--muted); font-size: 10px; }
.account-page .site-header.shell { min-height: 80px; padding-inline: 0; background: var(--canvas); border-bottom: 1px solid var(--line); }
.account-page .brand { min-height: 40px; }
.account-page .brand > img:first-child { width: 22px; height: 22px; }
.account-page .brand .parent { color: var(--muted); font-size: 8px; letter-spacing: .08em; }
.account-page .brand .product { color: var(--ink); font: 550 23px/1 var(--display); }
.account-page .brand .bluebird-character { width: 31px; height: 36px; margin-left: 0; filter: none; transform: none; }
.account-page .main-nav a { color: var(--muted); font-size: 12px; font-weight: 500; }
.account-page .main-nav a[aria-current="page"] { color: var(--ink); text-decoration-color: var(--ocean); }
.account-page .account-shell { padding-block: 22px 28px; }
.account-page .account-panel, .account-page .account-state,
.account-page .profile-save-bar, .account-page .destination-dialog { background: var(--paper); color: var(--ink); border-color: var(--line); border-radius: 4px; box-shadow: none; }
.account-page .auth-panel { gap: 12px; }
.account-page .auth-panel label, .account-page .settings-section > label,
.account-page .settings-section .form-row > label,
.account-page .ranked-setting-row label, .account-page .delete-dialog label { color: var(--muted); font-size: 12px; font-weight: 500; gap: 4px; }
.account-page .eyebrow { color: var(--muted); font-size: 10px; letter-spacing: .02em; font-weight: 500; }
.account-page .profile-interest-grid .check-row, .account-page .ranked-setting-row,
.account-page .radar-check, .account-page .legal-acceptance { color: var(--ink); background: #142b3d; border-color: var(--line); border-radius: 4px; font-size: 12px; }
.account-page .interest-grid input:checked + span { color: var(--ink); background: #29465d; border-color: #8bafc9; }
.account-page .profile-save-bar { min-height: 55px; padding: 8px 10px; border-color: #4e677a; background: #172c3df5; }
.account-page .form-status { font-size: 12px; }
.account-page .dialog-close { color: var(--ink); background: var(--paper); }
.account-page .dialog-reason { color: var(--muted); }
.account-page .delete-dialog h2 { font-size: 25px; }
.account-page .delete-dialog::backdrop { background: #07131eb8; }

/* Bluebird's blue wings, orange breast and light underside give each surface a job. */
.primary:disabled { opacity: 1; color: #d0c8bb; background: #414448; border-color: #62625e; }
.header-actions #accountLink { background: transparent; border: 1px solid var(--belly); color: var(--belly); }
.header-actions #accountLink:hover { background: var(--belly); color: #24231f; }
.welcome-choices > a:first-child { background: var(--belly); border-color: var(--belly); color: #24231f; }
.welcome-choices > a:first-child:hover { background: var(--belly-hover); }
.mode-nav a[aria-current="page"] { box-shadow: inset 0 -2px var(--belly); }
.sidebar-heading h2 { color: var(--belly); }
.trip-sidebar .desk-field > span { color: #ded9ce; }
.trip-sidebar .desk-inline > .text-button { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.source-links a, .travel-map-places .travel-map-place-name, .detail-journey { color: var(--ink); }
.source-links a { text-underline-offset: 3px; }
.signal.reference { color: #f6c18f; background: #3b322c; }
.empty-answer { background: #29363c; border-color: #5d6361; }
.empty-answer p { max-width: 72ch; }
.results { align-content: start; }
.answer-layout { align-items: start; }
.area-inspiration { margin-top: 14px; }
.area-inspiration > h3 { font-size: 16px; margin-bottom: 4px; }
.area-inspiration > p { color: var(--muted); margin-bottom: 10px; font-size: 12px; }
.area-inspiration-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.area-inspiration-grid .idea.alt { display: block; }
.area-inspiration-grid .idea-visual { min-height: 140px; height: 140px; }
.area-inspiration-grid .idea-description { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.idea-visual.is-unavailable { display: none; }
.idea:has(> .idea-visual.is-unavailable), .results.single .idea:has(> .idea-visual.is-unavailable) { grid-template-columns: minmax(0,1fr); }
.idea-visual.is-unavailable + .idea-body { border-top: 1px solid var(--belly); }
.discovery-toolbar { justify-content: space-between; }
.discovery-toolbar h3 > span { color: var(--muted); font-weight: 400; margin-left: 6px; font-size: 12px; }
.discovery-toolbar button { gap: 8px; padding: 4px 8px; color: var(--belly); }
.discovery-strip button { border-bottom: 1px solid transparent; padding-bottom: 5px; }
.discovery-strip button[aria-pressed="true"] { border-bottom-color: var(--belly); }
.discovery-strip small { color: var(--muted); font-size: 10px; }
.discovery-caption a, .welcome-photo figcaption a { color: #fff; text-underline-offset: 2px; }
.weather-strip { background: var(--cream); color: #283539; padding: 10px 12px; margin: 10px 0; border-radius: 3px; }
.weather-strip-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; font-size: 12px; }
.weather-strip-heading > span { color: #56544c; font-size: 10px; }
.weather-days { display: flex; gap: 6px; margin-top: 9px; }
.weather-day { flex: 1; min-width: 0; display: flex; align-items: center; flex-direction: column; gap: 4px; }
.weather-day time, .weather-day small { color: #53534a; font-size: 10px; }
.weather-day svg { width: 24px; height: 24px; color: #975124; }
.weather-day strong { color: #26363a; font-size: 14px; white-space: nowrap; }
.weather-day strong > span { color: #5b5b52; font-size: 12px; font-weight: 400; }
.weather-strip .weather-source { border-top: 1px solid #b9b4a8; padding-top: 6px; margin-top: 8px; color: #51524b; font-size: 10px; line-height: 1.4; }
.weather-source a { color: #345263; text-decoration: underline; }
.travel-map-filter { width: 100%; margin-bottom: 5px; }
.search-spinner { display: inline-block; flex: none; width: 13px; height: 13px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: bluebird-search-spin 1s linear infinite; }
@keyframes bluebird-search-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .search-spinner { animation: none; border-style: dotted; } }
@media (max-width: 780px) { .area-inspiration-grid { grid-template-columns: minmax(0,1fr); } }

.idea.lead .idea-visual { min-height: 350px; }
.idea.lead .idea-body, .idea.alt .idea-body { justify-content: flex-start; }
.idea-body .weather-strip { align-self: stretch; max-width: 590px; }
.idea-visual > .weather-strip { position: absolute; z-index: 2; left: 12px; right: 12px; bottom: 28px; margin: 0; background: #f2e8d8f5; }
.idea-visual > .weather-strip svg { position: static; }
.idea-body > .idea-timing, .idea-body > .signal, .idea-body > .idea-fit { margin-bottom: 8px; }
.idea-body .research-credit { margin-top: 0; margin-bottom: 8px; }
.idea-body .idea-description { margin-bottom: 8px; line-height: 1.5; }
.exploration-place .idea-body .source-links { font-size: 12px; margin-bottom: 10px; }
.exploration-place .idea-body .source-links a { color: var(--belly); }
@media (max-width: 780px) {
  .idea.lead .idea-visual:has(> .weather-strip) { height: 340px; min-height: 340px; }
  .idea-visual > .weather-strip { left: 8px; right: 8px; }
}

@media (min-width: 1600px) {
  .app-workspace { grid-template-columns: 280px minmax(0, 1fr); }

  .detail-overview { grid-template-columns: minmax(0, 1.6fr) minmax(280px, 1fr); }
}
@media (max-width: 1100px) {
  .site-header { gap: 12px; }
  .app-workspace { grid-template-columns: 260px minmax(0, 1fr); gap: 12px; }
  .trip-sidebar { padding: 11px; }
  .alternatives, .answer-layout:has(> .idea-map-section:not([hidden])) .alternatives { grid-template-columns: minmax(0, 1fr); }
  .idea.lead, .results.single .idea.lead, .detail-feature { grid-template-columns: minmax(0, 1fr); }
  .idea.lead .idea-visual, .detail-photo { min-height: 280px; }
  .idea-body, .detail-summary { padding: 16px; }
  .detail-plan { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .discovery-strip { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .discovery-strip img { height: 80px; }
  .discovery-photo > img { height: 300px; }
}
@media (max-width: 780px) {
  .site-header { flex-wrap: wrap; min-height: 52px; padding: 8px 14px; gap: 7px 12px; }
  .brand { font-size: 22px; }
  .header-actions { gap: 10px; }
  .mode-nav { order: 3; flex: 1 0 100%; justify-content: flex-start; }
  .mode-nav a { flex: 1; justify-content: center; min-height: 36px; }
  .canvas, body[data-travel-mode="vacation"] .canvas { padding: 10px 14px 18px; }
  .app-workspace { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .trip-sidebar { padding: 0; }
  .sidebar-heading { margin: 0; min-height: 44px; padding: 0 11px; }
  .sidebar-heading h2 { display: none; }
  .sidebar-toggle { display: inline-flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 44px; padding: 0 10px; border: 0; background: transparent; color: var(--ocean); font-size: 12px; }
  .sidebar-heading .sidebar-toggle { width: 100%; padding-inline: 0; }
  .trip-sidebar > .sidebar-toggle { width: 100%; padding-inline: 12px; }
  .trip-sidebar:not(.is-open) .travel-desk { display: none; }
  .trip-sidebar.is-open .travel-desk { display: block; padding: 1px 12px 12px; }
  .trip-sidebar .desk-main { gap: 8px; }
  .trip-sidebar .desk-field { flex: none; width: 100%; }
  .trip-sidebar .desk-field > span { font-size: 12px; }
  .trip-sidebar .desk-utilities #defaultsButton { display: inline-flex; }
  .trip-sidebar .desk-utilities .text-button { min-height: 44px; }
  .trip-sidebar .desk-state { display: block; }
  .trip-sidebar .destination-popover, .trip-sidebar .origin-popover { max-width: calc(100vw - 52px); }
  .trip-sidebar .question-panel { padding: 11px; }
  .page-heading, body[data-travel-mode="vacation"] .page-heading { margin-bottom: 10px; }
  .page-heading h1, body[data-travel-mode="vacation"] .page-heading h1 { font-size: 22px; max-width: none; }
  .page-heading p { font-size: 12px; }
  .result-heading { align-items: start; }
  .result-heading h2 { font-size: 17px; }
  .result-heading > span { font-size: 10px; max-width: 120px; }
  .results { display: grid; }
  .idea.lead, .results.single .idea.lead { display: grid; margin-bottom: 0; }
  .idea.lead .idea-visual, .detail-photo { min-height: 260px; height: 260px; }
  .idea.lead h3 { font-size: 23px; }
  .idea.alt { grid-template-columns: 34% minmax(0, 1fr); }
  .idea.alt .idea-body { padding: 13px; }
  .idea.alt h3 { font-size: 18px; }
  .detail-summary { padding: 16px; }
  .detail-plan, .detail-evidence-grid { grid-template-columns: minmax(0, 1fr); gap: 15px; }
  .avoid-section { grid-template-columns: minmax(0, 1fr); gap: 7px; }
  .avoid-section > div:first-child { flex-wrap: wrap; gap: 5px 12px; }
  .empty-answer.has-place-picture { grid-template-columns: minmax(0, 1fr); }
  .empty-answer.has-place-picture .idea-visual { min-height: 235px; height: 235px; }
  .discovery-photo > img { height: 260px; min-height: 0; }
  .discovery-strip { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
  .discovery-strip img { height: 80px; }
  .welcome-page { padding: 20px 14px 0; }
  .welcome-heading { margin-bottom: 16px; }
  .welcome-heading h1 { font-size: 26px; margin-bottom: 9px; }
  .welcome-heading p { font-size: 13px; max-width: 50ch; line-height: 1.55; }
  .welcome-photo > img { height: 350px; }
  .welcome-choices { gap: 8px; margin-top: 14px; }
  .welcome-choices > a { min-width: 0; min-height: 44px; padding: 10px 13px; }
  .site-footer { padding: 13px 14px 18px; gap: 12px; }
  .site-footer .release-note { margin-left: 0; }
  .membership-page .preview-nav { padding-inline: 14px; }
  .membership-page .membership-canvas { padding: 16px 14px; gap: 18px; }
  .membership-page .membership-story-copy { padding: 17px; }
  .membership-page .preview-footer { margin-inline: 14px; }
  .membership-page .preview-nav nav a { min-height: 44px; display: inline-flex; align-items: center; }
  .account-page .account-intro h1, .membership-page .membership-story h1 { font-size: 26px; }
  .account-page .draft-notice, .account-page .provider-boundary { grid-template-columns: minmax(0, 1fr); gap: 5px; }
}
@media (max-width: 540px) {
  .header-actions .text-button { font-size: 10px; }
  .header-actions #accountLink { padding-inline: 9px; font-size: 11px; }
  .site-header .brand-bird { width: 24px; height: 30px; }
  .welcome-heading h1 { font-size: 24px; }
  .welcome-photo > img { height: 270px; object-position: 42% 60%; }
  .welcome-photo figcaption, .welcome-photo .photo-caption { right: 7px; bottom: 7px; max-width: calc(100% - 14px); font-size: 9px; }
  .welcome-choices { display: grid; grid-template-columns: 1fr 1fr; }
  .welcome-choices > a { width: 100%; padding: 9px 7px; font-size: 12px; }
  .discovery-photo > img { height: 240px; }
  .discovery-toolbar { font-size: 11px; }
  .discovery-toolbar p, .discovery-toolbar .discovery-note { flex-basis: 100%; }
  .discovery-photo figcaption { font-size: 10px; line-height: 1.4; }
  .discovery-strip { gap: 6px; }
  .discovery-strip img { height: 80px; }
  .discovery-strip span, .discovery-strip figcaption { font-size: 10px; }
  .idea.lead .idea-visual, .detail-photo { height: 235px; min-height: 235px; }
  .idea.lead .idea-body, .detail-summary { padding: 16px; }
  .idea.alt .idea-body { padding: 12px; }
  .idea.alt .idea-description { font-size: 12px; }
  .empty-answer { padding: 16px; }
  .empty-answer h3 { font-size: 20px; }
  .saved-row { align-items: start; }
}
@media (pointer: coarse), (max-width: 780px) {
  .mode-nav a, .header-actions > a, .header-actions .text-button,
  .primary, .secondary, .text-button, .option, .sidebar-toggle,
  .trip-sidebar .desk-main > #findButton, .trip-sidebar .desk-inline > .text-button,
  .travel-choice-option, .origin-popover button, .destination-popover button,
  .travel-map-toolbar button, .travel-map-places button,
  .travel-map-places .travel-map-place-name, .discovery-toolbar button,
  .coverage-details summary, .detail-evidence > summary, .avoid-row summary { min-height: 44px; }
  .desk-field input, .desk-field select, .field input, .field select,
  .question-fields > input, .question-fields > select, #refinementTopic,
  .travel-map-toolbar input, .travel-map-toolbar select,
  .destination-popover select, .destination-popover input { min-height: 44px; font-size: 16px; }
  .trip-sidebar .field-focus .desk-inline > select { flex-basis: 64px; width: 64px; }
  #sidebarCalendar .travel-calendar button, #sidebarCalendar .travel-calendar-inline button { min-height: 44px; }
  #sidebarCalendar .travel-calendar-days button { height: 44px; font-size: 13px; }
  #sidebarCalendar .travel-calendar-heading > button { min-width: 44px; }
  #sidebarCalendar .travel-calendar-heading > span { font-size: 13px; }
  .travel-calendar button { min-height: 44px; }
  .discovery-toolbar button { min-width: 44px; }
  .membership-page .button, .account-page .button { min-height: 44px; }
  .membership-page input, .membership-page select, .membership-page textarea,
  .account-page input:not([type="checkbox"]):not([type="radio"]), .account-page select,
  .account-page textarea { min-height: 44px; font-size: 16px; }
}
@media print {
  :root { color-scheme: light; --ink: #152b39; --muted: #435865; --line: #aebcc5; --ocean: #254e66; --paper: #fff; --canvas: #fff; }
  body { color: var(--ink); background: #fff; }
  .trip-sidebar, .welcome-page, .discovery-panel { display: none !important; }
  .app-workspace { display: block; }
  .canvas { padding: 0; }
  .selected-detail { color: var(--ink); }
  .detail-summary { background: transparent; }
}

/* Regional exploration stays useful before the first complete trip search. */
.regional-discovery { width:100%; min-width:0; }
.regional-discovery .discovery-photo > img { height:clamp(200px,25vh,300px); min-height:0; object-fit:cover; }
.regional-discovery .discovery-strip { display:grid; grid-template-columns:repeat(var(--photo-count,6),minmax(0,1fr)); gap:8px; margin:10px 0 12px; }
.regional-discovery .discovery-strip img { height:64px; width:100%; object-fit:cover; }
.regional-discovery .discovery-strip button { min-width:0; padding:0 0 5px; }
.regional-discovery .discovery-strip span { font-size:11px; margin-top:4px; }
.regional-discovery .discovery-strip small { font-size:10px; }
.regional-discovery .discovery-strip .photo-unavailable { min-height:92px; display:flex; flex-direction:column; justify-content:center; padding:6px; background:var(--paper); }
.regional-discovery .discovery-photo.photo-unavailable { min-height:52px; }
.regional-discovery .discovery-photo.photo-unavailable::before { content:attr(data-photo-message); display:block; padding:12px; color:var(--muted); }
.discovery-context { display:grid; grid-template-columns:minmax(260px,1fr) minmax(300px,1.15fr); gap:16px; align-items:start; padding-top:12px; border-top:1px solid var(--line); }
.discovery-context h2,.discovery-context h3 { font-size:15px; margin:0 0 8px; }
.discovery-map .travel-map-toolbar { display:none; }
.discovery-map .travel-map-canvas { height:240px; min-height:240px; }
.discovery-map .travel-map-places { display:none; }
.discovery-map .travel-map-caption { margin:6px 0 0; font-size:10px; }
.discovery-information { min-width:0; }
.discovery-outlook .weather-strip { margin:0; padding:10px 12px; }
.discovery-outlook .weather-days { gap:4px; }
.discovery-outlook .weather-day { padding:5px 0; }
.discovery-outlook .weather-source { margin-top:7px; }
.outlook-controls { display:flex; justify-content:space-between; gap:8px; align-items:center; color:var(--muted); font-size:10px; }
.outlook-controls .text-button { font-size:11px; padding:4px 0; min-height:30px; }
.forecast-wait { padding:12px; background:var(--cream); color:#263744; min-height:130px; }
.forecast-wait p { color:#3e505b; font-size:12px; }
.discovery-place-details { margin-top:10px; }
.discovery-place-details p { margin:0 0 7px; font-size:12px; line-height:1.5; max-width:70ch; }
.discovery-place-details > a { font-size:12px; }
.discovery-place-details > small { display:inline-block; margin-left:8px; font-size:10px; color:var(--muted); }
.discovery-place-details .discovery-qualification { color:var(--muted); font-size:10px; margin-top:8px; }
@media(max-width:1100px) {
 .discovery-context { grid-template-columns:minmax(0,1fr); gap:14px; }
 .discovery-map .travel-map-canvas { height:210px; min-height:210px; }
}
@media(max-width:540px) {
 .regional-discovery .discovery-strip { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
 .regional-discovery .discovery-photo > img { height:210px; }
 .regional-discovery .discovery-strip img { height:54px; }
 .discovery-outlook .weather-strip { padding:9px; }
}
