@font-face {
  font-family: JourneyManrope;
  src: url("/fonts/manrope-latin-variable.woff2") format("woff2");
  font-display: swap;
}
.journey-page {
  font-family: JourneyManrope, Arial, sans-serif;
  color: #0c1b2d;
  background: #fff;
  line-height: 1.65;
}
.journey-page * {
  box-sizing: border-box;
}
.journey-page [hidden] {
  display: none;
}
.journey-main {
  width: min(1180px, calc(100% - 64px));
  margin: auto;
  padding: 44px 0 72px;
}
.journey-page h1,
.journey-page h2,
.journey-page h3 {
  font-weight: 500;
  letter-spacing: -0.035em;
  line-height: 1.18;
}
.journey-page h1 {
  font-size: 48px;
  margin: 12px 0 18px;
  max-width: 850px;
}
.journey-page h2 {
  font-size: 29px;
}
.journey-eyebrow {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-weight: 700;
  color: #4d626e;
  margin: 18px 0 10px;
}
.journey-lead {
  font-size: 17px;
  color: #52616d;
  max-width: 720px;
  margin-bottom: 30px;
}
.journey-back {
  font: inherit;
  color: #415968;
  border: 0;
  background: transparent;
  text-decoration: none;
  cursor: pointer;
  font-size: 13px;
  padding: 0;
}
.journey-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 310px;
  gap: 28px;
  align-items: start;
}
.journey-card {
  padding: 32px;
  border: 1px solid #dce2e5;
  border-radius: 7px;
  background: #fff;
}
.journey-progress {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  padding-bottom: 0;
  border-bottom: 1px solid #dce2e5;
  margin-bottom: 28px;
}
.journey-progress button {
  display: flex;
  align-items: center;
  gap: 8px;
  text-align: left;
  font: inherit;
  font-size: 11px;
  line-height: 1.5;
  background: none;
  border: 0;
  color: #60707d;
  cursor: pointer;
  padding: 12px 12px 18px 0;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
}
.journey-progress span {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  border: 1px solid #c3ced7;
  border-radius: 5px;
  background: #fff;
}
.journey-progress [aria-current="step"] {
  border-bottom-color: #0c1b2d;
  color: #0c1b2d;
  font-weight: 700;
}
.journey-progress [aria-current="step"] span {
  background: #0c263a;
  color: #fff;
}
.journey-page fieldset {
  border: 0;
  padding: 0;
  margin: 0 0 25px;
  min-width: 0;
}
.journey-page legend {
  font-size: 26px;
  font-weight: 500;
  letter-spacing: -0.025em;
}
.journey-page fieldset > p {
  font-size: 13px;
  color: #5c6a74;
  margin: 8px 0 24px;
}
.journey-page label {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 13px;
  color: #263d4d;
  margin-bottom: 20px;
}
.journey-page input,
.journey-page select,
.journey-page textarea {
  font: inherit;
  font-size: 14px;
  color: #122e40;
  border: 1px solid #cad4da;
  border-radius: 4px;
  background: white;
  padding: 11px 12px;
  width: 100%;
  min-width: 0;
  min-height: 45px;
}
.journey-page textarea {
  resize: vertical;
  line-height: 1.65;
}
.journey-page small,
.journey-note {
  color: #657781;
  font-size: 11px;
  line-height: 1.6;
}
.journey-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 20px;
}
.journey-button {
  font: inherit;
  font-size: 13px;
  font-weight: 650;
  border: 1px solid #c3cfd5;
  border-radius: 4px;
  padding: 12px 17px;
  background: white;
  color: #13374e;
  cursor: pointer;
}
.journey-button.primary,
#journey-next,
#journey-send {
  background: #0c283e;
  color: white;
  border-color: #0c283e;
}
.journey-button:disabled {
  opacity: 0.55;
  cursor: wait;
}
.journey-page :focus-visible {
  outline: 3px solid #0891a8;
  outline-offset: 3px;
}
.journey-controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
  flex-wrap: wrap;
  border-top: 1px solid #dce2e5;
  padding-top: 22px;
  margin-top: 26px;
}
.journey-controls > span {
  font-size: 11px;
  color: #697780;
}
.journey-summary {
  position: sticky;
  top: 90px;
  background: #f2f5f6;
  border: 1px solid #dae2e6;
  border-radius: 7px;
  overflow: hidden;
}
.journey-summary summary {
  font-size: 14px;
  font-weight: 650;
  padding: 21px;
  cursor: pointer;
  border-bottom: 1px solid #dae2e6;
}
.journey-summary > div {
  padding: 0 22px 22px;
}
.journey-summary dt {
  font-weight: 600;
  font-size: 12px;
  margin: 22px 0 7px;
}
.journey-summary dt span {
  color: #798c97;
  font-size: 10px;
  margin-right: 6px;
}
.journey-summary dd {
  font-size: 12px;
  color: #526975;
  margin: 0;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.journey-summary-note {
  margin-top: 25px;
  border-top: 1px solid #d3dde2;
  padding-top: 20px;
  font-size: 12px;
  color: #526975;
}
.journey-summary-note strong {
  color: #293d4d;
}
.journey-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-bottom: 25px;
}
.journey-chips label {
  position: relative;
  margin: 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  border: 1px solid #d1dbe0;
  border-radius: 4px;
  padding: 9px 12px;
  font-size: 12px;
  cursor: pointer;
}
.journey-chips input {
  width: 14px;
  min-height: 14px;
  margin: 0;
  padding: 0;
  accent-color: #123f54;
}
.journey-chips label:has(:checked) {
  background: #e9f2f4;
  border-color: #375c6e;
}
.journey-context {
  padding: 15px 20px;
  margin: 0 0 24px;
  background: #f2f6f7;
  border-left: 3px solid #29586c;
  font-size: 13px;
}
.journey-error,
#journey-error {
  padding: 14px;
  background: #fff2f0;
  color: #8c3328;
  font-size: 13px;
  border: 1px solid #e6c0ba;
  border-radius: 4px;
}
.journey-page [aria-invalid="true"] {
  border-color: #ac4535;
}
.journey-page dl div {
  border-bottom: 1px solid #e0e5e8;
  padding: 14px 0;
}
.journey-page dl dt {
  font-size: 12px;
  color: #627680;
}
.journey-page dl dd {
  margin: 4px 0 0;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-size: 14px;
}
.journey-narrative {
  border-top: 1px solid #dce2e5;
  padding-top: 20px;
}
.journey-js-only {
  display: none;
}
.journey-page.enhanced .journey-js-only {
  display: block;
}
.journey-field-error {
  color: #8c3328;
}
.journey-confirmation {
  max-width: 860px;
  margin: auto;
}
.journey-confirmation__mark {
  display: grid;
  place-items: center;
  width: 50px;
  height: 50px;
  background: #e7f2ed;
  color: #24714d;
  font-size: 25px;
}
.journey-confirmation .journey-card {
  margin-top: 25px;
}
@media (max-width: 900px) {
  .journey-workspace {
    grid-template-columns: minmax(0, 1fr) 265px;
    gap: 18px;
  }
  .journey-card {
    padding: 24px;
  }
  .journey-main {
    width: calc(100% - 40px);
  }
}
@media (max-width: 700px) {
  .journey-main {
    width: calc(100% - 32px);
    padding: 30px 0 50px;
  }
  .journey-page h1 {
    font-size: 34px;
  }
  .journey-lead {
    font-size: 15px;
  }
  .journey-workspace {
    grid-template-columns: 1fr;
  }
  .journey-summary {
    position: static;
  }
  .journey-card {
    padding: 20px;
  }
  .journey-grid {
    grid-template-columns: 1fr;
  }
  .journey-progress {
    gap: 0;
  }
  .journey-progress button {
    flex-direction: column;
    align-items: flex-start;
    font-size: 11px;
    padding-bottom: 16px;
  }
  .journey-page legend {
    font-size: 23px;
  }
  .journey-controls {
    gap: 12px;
  }
  .journey-controls .journey-button {
    flex: 1;
  }
  .journey-summary dl {
    display: grid;
    grid-template-columns: 1fr;
  }
  .journey-summary summary {
    min-height: 48px;
  }
  .journey-page h2 {
    font-size: 25px;
  }
}
/* Location-led search and approved result cards; existing server ordering retained. */
.journey-search-page .search-entry,
.journey-search-page .results-summary {
  width: min(1180px, calc(100% - 64px));
  margin: 0 auto;
  padding: 44px 0 20px;
  background: white;
  border: 0;
}
.journey-search-page .search-entry {
  padding-bottom: 70px;
}
.journey-search-page .search-entry__header > .oln-heading,
.journey-search-page .results-summary__main > .oln-heading {
  font-family: JourneyManrope, Arial, sans-serif;
  font-size: 44px;
  font-weight: 500;
  line-height: 1.15;
}
.journey-search-page .search-card {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  background: white;
  margin-top: 22px;
}
.journey-search-bar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  max-width: 760px;
  align-items: end;
}
.journey-search-bar .oln-field {
  margin: 0;
}
.journey-search-bar .oln-field__label {
  font-size: 12px;
}
.journey-search-bar select {
  height: 48px;
  background: #f8fafb;
}
.journey-filter-actions {
  display: flex;
  gap: 20px;
  margin: 18px 0 20px;
}
.journey-filter-actions button,
[data-search-map] {
  border: 0;
  background: none;
  padding: 0;
  font: inherit;
  font-size: 12px;
  color: #364e5d;
  cursor: pointer;
}
.journey-search-form #journey-search-filters {
  max-width: 760px;
  padding: 22px;
  background: #f2f5f6;
  border: 1px solid #dce3e6;
}
.journey-search-form .journey-grid label {
  margin: 0 0 15px;
}
.journey-search-form .oln-field {
  min-width: 0;
}
.journey-search-form input,
.journey-search-form select {
  min-width: 0;
  width: 100%;
  font: inherit;
  padding: 10px;
  border: 1px solid #cbd7dd;
  background: white;
}
.journey-applied {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.journey-applied button,
.journey-area-picker button {
  font: inherit;
  font-size: 11px;
  border: 1px solid #d0dce2;
  border-radius: 4px;
  background: #f2f6f7;
  padding: 8px 10px;
  cursor: pointer;
}
.journey-area-picker {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding-top: 18px;
}
.journey-search-page .results-layout {
  display: block;
  width: min(1180px, calc(100% - 64px));
  margin: auto;
  min-height: 0;
}
.journey-search-page .results-column {
  padding: 18px 0 60px;
}
.journey-search-page .result-list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  display: grid;
  gap: 20px;
  border: 0;
}
.journey-search-page .result-card {
  border: 1px solid #d7e0e5;
  border-radius: 6px;
  min-width: 0;
}
.journey-search-page .result-card > a {
  display: flex;
  flex-direction: column;
  padding: 0;
  min-height: 0;
  height: 100%;
}
.journey-search-page .result-card__visual {
  min-height: 185px;
  border-radius: 5px 5px 0 0;
  max-height: 220px;
}
.journey-search-page .result-card__content {
  padding: 22px;
  flex: 1;
}
.journey-search-page .result-card__content > .oln-heading {
  font-size: 22px;
  font-weight: 500;
}
.journey-search-page .result-card__stats {
  padding-top: 16px;
}
.journey-search-page .results-column__head {
  margin-bottom: 15px;
}
.journey-search-page .results-cta {
  border: 0;
  border-top: 1px solid #d7e0e5;
  border-radius: 0;
  margin-top: 28px;
  background: #f3f6f7;
}
.journey-result-map {
  margin-bottom: 55px;
  border-top: 1px solid #d7e0e5;
  padding-top: 20px;
}
.journey-result-map summary {
  font-size: 13px;
  cursor: pointer;
}
.journey-search-page .plot-panel {
  position: relative;
  top: auto;
  height: auto;
  min-height: 300px;
}
.journey-search-page .publication-plot {
  aspect-ratio: 5 / 3;
  width: 100%;
  height: auto;
}
@media (max-width: 1000px) {
  .journey-search-page .result-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .journey-search-page .search-entry,
  .journey-search-page .results-summary,
  .journey-search-page .results-layout {
    width: calc(100% - 32px);
  }
  .journey-search-page .result-list {
    grid-template-columns: 1fr;
  }
  .journey-search-page .search-entry__header > .oln-heading,
  .journey-search-page .results-summary__main > .oln-heading {
    font-size: 34px;
  }
  .journey-search-page .result-card__content {
    padding: 20px;
  }
  .journey-search-page .results-summary {
    padding-top: 30px;
  }
  .journey-search-bar {
    gap: 10px;
  }
  .journey-search-bar .journey-button {
    padding: 12px;
  }
  .journey-search-page .results-summary__back {
    margin-top: 10px;
  }
  .journey-search-page .results-column__head {
    display: block;
  }
  .journey-filter-actions {
    flex-wrap: wrap;
  }
}
/* Safe detail retains approved photos/evidence while matching editorial hierarchy. */
.journey-detail-page .request-main {
  width: min(1180px, calc(100% - 64px));
  padding: 42px 0 70px;
}
.journey-detail-page .publication-layout {
  grid-template-columns: minmax(0, 1fr) 310px;
  gap: 36px;
}
.journey-detail-page .publication-copy {
  padding: 0;
}
.journey-detail-page .publication-copy > .oln-heading {
  font:
    500 44px / 1.12 JourneyManrope,
    Arial,
    sans-serif;
  letter-spacing: -0.035em;
}
.journey-detail-page .publication-visual {
  border-radius: 6px;
  height: 350px;
}
.journey-detail-page .publication-aside {
  border-radius: 6px;
  box-shadow: none;
  background: #f2f5f6;
  padding: 25px;
}
.journey-detail-page .publication-evidence {
  padding: 24px 0;
  border: 0;
  border-radius: 0;
  background: white;
  border-top: 1px solid #d7e0e5;
}
.journey-detail-page .publication-evidence__facts div,
.journey-detail-page .publication-evidence__card {
  border-radius: 4px;
  background: #f4f7f8;
}
.journey-detail-page .publication-gallery {
  border-radius: 5px;
}
.journey-detail-page .publication-description {
  border-top: 1px solid #d7e0e5;
  padding-top: 20px;
}
.journey-detail-page .publication-aside h2 {
  font-weight: 500;
  font-size: 27px;
}
.journey-detail-page .publication-aside .oln-btn {
  border-radius: 4px;
  width: 100%;
}
.journey-detail-page .publication-copy__eyebrow {
  color: #4b626e;
}
.journey-detail-page .publication-scan {
  border-radius: 4px;
}
@media (max-width: 900px) {
  .journey-detail-page .publication-layout {
    grid-template-columns: minmax(0, 1fr) 265px;
    gap: 22px;
  }
  .journey-detail-page .request-main {
    width: calc(100% - 40px);
  }
}
@media (max-width: 700px) {
  .journey-detail-page .request-main {
    width: calc(100% - 32px);
    padding-top: 28px;
  }
  .journey-detail-page .publication-layout {
    grid-template-columns: 1fr;
  }
  .journey-detail-page .publication-aside {
    position: static;
  }
  .journey-detail-page .publication-copy > .oln-heading {
    font-size: 34px;
  }
  .journey-detail-page .publication-visual {
    height: 230px;
  }
  .journey-detail-page .publication-evidence__facts,
  .journey-detail-page .publication-evidence__detail {
    grid-template-columns: 1fr;
  }
}
.journey-presets {
  margin: 0 0 30px;
  padding-bottom: 24px;
  border-bottom: 1px solid #d7e0e5;
}
.journey-presets > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
}
.journey-presets h2 {
  font-size: 17px;
  margin: 0 0 14px;
}
.journey-presets select {
  margin: 10px 0;
}
.journey-presets .journey-back {
  font-size: 11px;
}
.journey-search-form:has(.journey-applied button)::after {
  content: "Apply changes with Search to update the results.";
  font-size: 11px;
  color: #627680;
}
.journey-search-page[lang="de"]
  .journey-search-form:has(.journey-applied button)::after {
  content: "Änderungen mit Suchen auf die Ergebnisse anwenden.";
}
.journey-header {
  border-bottom: 1px solid #e0e6e8;
  background: white;
}
.journey-header > div {
  width: min(1180px, calc(100% - 64px));
  margin: auto;
  min-height: 88px;
  display: flex;
  gap: 25px;
  align-items: center;
  justify-content: space-between;
}
.journey-header nav,
.journey-header-actions {
  display: flex;
  align-items: center;
  gap: 22px;
}
.journey-header a {
  font-size: 12px;
  text-decoration: none;
  white-space: nowrap;
}
.journey-header nav a {
  font-size: 11px;
  color: #43586a;
}
.journey-header img {
  display: block;
  width: 80px;
  height: auto;
}
.journey-header a.journey-header-request {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  min-width: 172px;
  min-height: 52px;
  border: 1px solid transparent;
  padding: 14px 20px;
  border-radius: 12px;
  color: #fff;
  background: #0c1b2d;
  font-size: 14px;
  font-weight: 600;
}
.journey-header-request span {
  font-size: 21px;
  font-weight: 400;
  line-height: 1;
}
.journey-page:has(#journey-request) .journey-header-request,
.journey-page:has(#journey-request) .journey-footer {
  display: none;
}
.journey-header-actions > a:first-child {
  font-size: 25px;
  line-height: 1;
}
.journey-footer {
  border-top: 1px solid #dce4e8;
  margin-top: 35px;
  padding: 80px max(32px, calc((100vw - 1180px) / 2));
  background: #f3f5f7;
}
.journey-footer-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1fr;
  gap: 45px;
}
.journey-footer h2 {
  font-size: 13px;
  font-weight: 650;
  margin: 0 0 20px;
  letter-spacing: 0;
}
.journey-footer a {
  display: block;
  font-size: 12px;
  text-decoration: none;
  color: #526879;
  margin-bottom: 9px;
}
.journey-footer p {
  max-width: 230px;
  font-size: 12px;
  color: #697c89;
  margin-top: 18px;
}
.journey-footer-bottom {
  font-size: 10px;
  color: #778891;
  border-top: 1px solid #e0e6e8;
  padding-top: 20px;
  margin-top: 35px;
}
.journey-skip {
  position: absolute;
  left: 16px;
  top: -90px;
  background: white;
  padding: 10px;
  z-index: 200;
}
.journey-skip:focus {
  top: 10px;
}
@media (max-width: 900px) {
  .journey-header nav {
    display: none;
  }
  .journey-header > div {
    width: calc(100% - 40px);
  }
  .journey-footer-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 680px) {
  .journey-header > div {
    width: calc(100% - 32px);
    gap: 12px;
    min-height: 80px;
  }
  .journey-header img {
    width: 64px;
    height: auto;
  }
  .journey-header-actions {
    gap: 12px;
  }
  .journey-account-link {
    display: none;
  }
  .journey-header a.journey-header-request {
    min-width: 0;
    min-height: 40px;
    gap: 8px;
    font-size: 10px;
    padding: 10px;
  }
  .journey-footer {
    padding: 48px 20px;
  }
  .journey-footer-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .journey-footer-grid > div:first-child {
    text-align: center;
  }
  .journey-footer-grid > div:first-child img,
  .journey-footer-grid > div:first-child p {
    margin-inline: auto;
  }
  .journey-footer p {
    max-width: 300px;
  }
  .journey-footer h2 {
    font-size: 13px;
  }
}
.journey-page:not(.enhanced) #journey-next,
.journey-page:not(.enhanced) #journey-previous,
.journey-page:not(.enhanced) #journey-discard,
.journey-page:not(.enhanced) .journey-progress {
  display: none;
}

/* Reference composition: compact preset above a flat request workspace. */
.journey-page:has(#journey-request) .journey-main {
  max-width: 1120px;
}
.journey-page:has(#journey-request) h1 {
  font-size: 36px;
  font-weight: 650;
}
.journey-workspace {
  grid-template-columns: minmax(0, 1fr) 260px;
  gap: 48px;
}
.journey-card {
  padding: 0;
  border: 0;
  border-radius: 0;
}
.journey-summary {
  border: 0;
  border-left: 1px solid #d7e0e5;
  border-radius: 0;
}
.journey-presets {
  border: 0;
  padding: 0;
  margin: 0 0 30px;
}
.journey-presets > div {
  margin-bottom: 6px;
}
.journey-presets h2 {
  font-size: 13px;
  font-weight: 650;
  margin: 0;
}
.journey-presets select {
  background: #f2f5f6;
  border: 0;
  margin: 0;
  min-height: 50px;
}
.journey-presets .journey-note {
  font-size: 11px;
  margin: 6px 0;
}
.journey-presets #journey-change-preset {
  display: none;
}
.journey-location-grid {
  grid-template-columns: minmax(0, 420px) 150px;
  gap: 24px;
}
.journey-timing-grid {
  grid-template-columns: minmax(0, 240px) minmax(0, 230px);
  gap: 24px;
}
.journey-detail-page .publication-aside {
  background: #0c1b2d;
  color: white;
}
.journey-search-bar,
.journey-search-form #journey-search-filters {
  margin-inline: auto;
}
.journey-filter-actions {
  justify-content: center;
}
.journey-search-form [data-applied-filters] {
  justify-content: center;
}
@media (max-width: 900px) {
  .journey-workspace {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }
  .journey-summary {
    grid-row: 1;
    position: static;
    border-left: 0;
    border-block: 1px solid #d7e0e5;
  }
  .journey-card {
    grid-row: 2;
    padding: 0;
  }
}
@media (max-width: 700px) {
  .journey-page:has(#journey-request) h1 {
    font-size: 28px;
  }
  .journey-location-grid {
    grid-template-columns: minmax(0, 1fr) 106px;
    gap: 14px;
  }
  .journey-timing-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .journey-timing-grid label {
    max-width: 240px;
  }
  .journey-presets > div {
    align-items: start;
  }
}

.journey-search-form #journey-search-filters {
  background: #0c1b2d;
  color: #fff;
}
.journey-search-form #journey-search-filters .oln-field__label,
.journey-search-form #journey-search-filters label,
.journey-search-form #journey-search-filters [data-search-map] {
  color: #fff;
}
.journey-search-form #journey-search-filters input,
.journey-search-form #journey-search-filters select {
  background: #fff;
  color: #0c1b2d;
}

.journey-context a {
  float: right;
  margin-left: 16px;
}

.journey-search-form #journey-search-filters small,
.journey-search-form #journey-search-filters .journey-note {
  color: #dce6ed;
}
/* Exact demo control geometry, with governed discovery fields. */
.journey-search-page .results-summary {
  display: block;
  padding-top: 32px;
}
.journey-search-page .results-summary__main > .oln-heading,
.journey-search-page .search-entry__header > .oln-heading {
  font-size: 40px;
  font-weight: 600;
  letter-spacing: -1.5px;
}
.journey-search-page .results-summary__back {
  display: inline-block;
  margin-top: 24px;
}
.journey-search-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #b9c6d1;
  padding: 8px;
  border-radius: 8px;
  width: min(100%, 760px);
  box-shadow: 0 4px 14px #0c1b2d08;
}
.journey-search-bar > .journey-area-field,
.journey-search-bar > .oln-field {
  flex: 1;
}
.journey-search-bar .oln-field__label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}
.journey-search-bar .search-submit {
  width: 44px;
  min-width: 44px;
  height: 44px;
  padding: 10px;
  border-radius: 6px;
}
.search-submit svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
}
.journey-filter-actions {
  min-height: 40px;
  margin: 18px 0;
  align-items: center;
}
.journey-filter-actions [data-search-filters] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
}
.journey-filter-actions [data-search-filters]:hover,
.journey-filter-actions [aria-expanded="true"] {
  background: #0c1b2d;
  color: white;
}
.journey-filter-actions svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linejoin: round;
}
.journey-filter-actions [data-filter-count] {
  display: inline-grid;
  place-items: center;
  min-width: 20px;
  height: 20px;
  padding-inline: 5px;
  border-radius: 50%;
  background: #0c1b2d;
  color: white;
  font-size: 10px;
  font-weight: 600;
}
.journey-filter-actions [data-search-reset] {
  font-size: 12px;
  min-height: 40px;
}
.journey-search-form #journey-search-filters {
  max-width: 920px;
  width: 100%;
  border: 0;
  border-radius: 6px;
  padding: 24px;
  background: #0c1b2d;
  color: white;
}
.journey-search-form #journey-search-filters .journey-grid {
  display: flex;
  align-items: end;
  gap: 20px;
}
.journey-search-form #journey-search-filters .oln-field {
  flex: 0 1 200px;
}
.journey-search-form #journey-search-filters .oln-field:first-child {
  max-width: 130px;
}
.journey-search-form #journey-search-filters .oln-field:nth-child(3) {
  flex: 0 0 170px;
}
.journey-search-form #journey-search-filters label {
  font-size: 12px;
  font-weight: 600;
  margin-bottom: 8px;
}
.journey-search-form #journey-search-filters small {
  font-size: 11px;
  font-weight: 400;
  margin-left: 6px;
  color: #afbecb;
}
.journey-search-form #journey-search-filters input {
  height: 44px;
  border: 0;
  border-radius: 6px;
  font-size: 14px;
}
.journey-search-form #journey-search-filters [data-search-map] {
  margin-left: auto;
  min-height: 44px;
  white-space: nowrap;
  font-size: 12px;
}
.journey-industry-filter {
  border: 0;
  padding: 0;
  margin: 20px 0 0;
  text-align: center;
}
.journey-industry-filter legend {
  width: 100%;
  font-size: 11px;
  font-weight: 600;
  margin-bottom: 10px;
  letter-spacing: 0;
}
.journey-industry-filter small {
  font-size: 11px;
  font-weight: 400;
  color: #526273;
  margin-left: 6px;
}
.journey-industry-pills {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}
.journey-industry-pills label {
  position: relative;
  display: block;
  margin: 0;
}
.journey-industry-pills input {
  position: absolute !important;
  opacity: 0;
  width: 1px !important;
  height: 1px !important;
  min-height: 0;
  padding: 0 !important;
}
.journey-industry-pills span,
.journey-industry-pills button {
  display: block;
  padding: 7px 12px;
  border: 1px solid #ccd5dd;
  border-radius: 100px;
  background: white;
  font-size: 11px;
  font-weight: 500;
  cursor: pointer;
  line-height: 1.65;
}
.journey-industry-pills input:checked + span {
  background: #0c1b2d;
  color: white;
  border-color: #0c1b2d;
}
.journey-industry-pills input:focus-visible + span {
  outline: 2px solid #42647c;
  outline-offset: 3px;
}
.journey-filter-help {
  font-size: 11px;
  color: #526273;
  max-width: 700px;
  margin: 12px auto;
}
.journey-applied {
  margin-top: 18px;
}
.journey-styled-select {
  position: relative;
  display: block;
  min-width: 0;
  width: 100%;
}
.journey-select-native {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none;
  width: 1px !important;
  height: 1px !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
.journey-select-trigger {
  width: 100%;
  height: 44px;
  padding: 10px 38px 10px 12px;
  background: white;
  border: 1px solid #b9c6d1;
  border-radius: 6px;
  position: relative;
  font: inherit;
  font-size: 14px;
  text-align: left;
  color: #0c1b2d;
  cursor: pointer;
}
.journey-select-trigger:after {
  content: "⌄";
  position: absolute;
  right: 12px;
  top: 8px;
  font-size: 20px;
  color: #526273;
}
.journey-select-trigger[aria-expanded="true"] {
  border-color: #0c1b2d;
  box-shadow: 0 0 0 2px #0c1b2d0c;
}
.journey-select-menu {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  width: 100%;
  max-height: 250px;
  overflow: auto;
  padding: 5px;
  background: white;
  border: 1px solid #dae2e8;
  border-radius: 8px;
  box-shadow: 0 8px 28px #0c1b2d22;
  z-index: 65;
  color: #0c1b2d;
}
.journey-select-menu button {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 9px 10px;
  min-height: 36px;
  border: 0;
  border-radius: 4px;
  background: white;
  font: inherit;
  font-size: 13px;
  text-align: left;
  cursor: pointer;
}
.journey-select-menu button:hover,
.journey-select-menu button:focus-visible,
.journey-select-menu button[aria-selected="true"] {
  background: #eef3f6;
}
.journey-select-menu button[aria-selected="true"]:after {
  content: "✓";
}
.journey-search-bar .journey-select-trigger {
  border: 0;
  font-size: 17px;
  padding-left: 12px;
}
.journey-search-form #journey-search-filters .journey-select-trigger {
  border-color: transparent;
}
.result-card__industries {
  font-size: 12px;
  color: #526273;
  margin: 8px 0 0;
}
.result-card__capacity {
  font-size: 13px;
  margin: 10px 0 0;
}
.result-card__observation {
  font-size: 11px;
  color: #526273;
  margin: 4px 0 0;
}
.journey-preset-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}
.journey-preset-pills button {
  padding: 10px 14px;
  border: 1px solid #ccd5dd;
  border-radius: 6px;
  background: white;
  font: inherit;
  font-size: 13px;
  text-align: left;
  cursor: pointer;
}
.journey-preset-pills button[aria-pressed="true"] {
  background: #0c1b2d;
  color: white;
  border-color: #0c1b2d;
}
.journey-selected-preset {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  background: #f0f4f7;
  border-radius: 6px;
  font-size: 13px;
  margin-top: 16px;
}
.journey-presets #journey-industry {
  display: none;
}
.journey-presets #journey-change-preset {
  display: inline-block;
}
.journey-preset-note {
  font-size: 11px;
  color: #526273;
  margin-top: 8px;
}
.journey-page [hidden] {
  display: none !important;
}
@media (max-width: 960px) {
  .journey-search-form #journey-search-filters .journey-grid {
    flex-wrap: wrap;
  }
  .journey-search-form #journey-search-filters [data-search-map] {
    margin-left: 0;
  }
}
@media (max-width: 680px) {
  .journey-search-page .results-summary__main > .oln-heading,
  .journey-search-page .search-entry__header > .oln-heading {
    font-size: 30px;
  }
  .journey-search-form #journey-search-filters {
    padding: 20px 16px;
  }
  .journey-search-form #journey-search-filters .journey-grid {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr);
    gap: 20px 16px;
  }
  .journey-search-form #journey-search-filters .oln-field:nth-child(3) {
    grid-column: 1 / -1;
    max-width: 190px;
  }
  .journey-search-form #journey-search-filters [data-search-map] {
    grid-column: 1 / -1;
    min-height: 28px;
  }
  .journey-select-trigger {
    font-size: 13px;
  }
  .journey-select-menu button {
    font-size: 12px;
    padding-inline: 8px;
  }
  .journey-industry-pills {
    gap: 6px;
  }
  .journey-industry-pills span {
    font-size: 10px;
    padding: 6px 9px;
  }
  .journey-search-bar .journey-select-trigger {
    font-size: 15px;
  }
  .journey-preset-pills button {
    font-size: 12px;
  }
  .journey-selected-preset {
    font-size: 12px;
  }
}
.journey-preset-pills {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 16px 0 0;
}
.journey-preset-pills button {
  min-height: 60px;
  padding: 14px 16px;
}
.journey-preset-pills button[aria-pressed="true"]:after {
  content: "✓";
  float: right;
  margin-left: 8px;
}
.journey-selected-preset:has(+ .journey-preset-pills:not([hidden])) {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.journey-presets .journey-selected-preset {
  margin-bottom: 0;
}
.journey-presets .journey-preset-pills:not([hidden]) {
  margin-top: 16px;
}
@media (max-width: 680px) {
  .journey-preset-pills {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
  .journey-preset-pills button {
    min-height: 66px;
    padding: 12px;
    font-size: 13px;
  }
}
.journey-more-industries {
  margin-top: 10px;
  font-size: 11px;
  color: #526273;
}
.journey-more-industries summary {
  cursor: pointer;
  display: inline-block;
}
.journey-more-industries .journey-industry-pills {
  margin-top: 12px;
}
.journey-search-page .journey-applied button {
  min-height: 32px;
  padding: 6px 8px 6px 12px;
  border-radius: 5px;
  font-size: 11px;
  font-weight: 500;
}
.journey-search-page .journey-search-form:has(.journey-applied button)::after {
  content: none;
}
.journey-page.enhanced .journey-industry-pills.journey-js-only {
  display: flex;
}
.journey-search-form #journey-search-filters .oln-field__label small {
  display: inline;
}
.journey-search-form #journey-search-filters .oln-field__label {
  display: block;
  white-space: nowrap;
}
.journey-search-page .results-summary {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: min(1120px, calc(100% - 64px));
  padding: 32px 0 0;
}
.journey-search-page .results-summary__back {
  order: -1;
  margin: 0 0 28px;
  align-self: start;
  font-size: 14px;
  font-weight: 500;
  color: #42647c;
}
.journey-search-page .results-summary__main {
  gap: 0;
}
.journey-search-page .results-summary .results-eyebrow {
  margin-bottom: 12px;
}
.journey-search-page .results-summary .oln-heading {
  margin: 0 0 16px;
}
.journey-search-lead {
  font-size: 16px;
  color: #526273;
  margin: 0 0 10px;
}
.journey-search-page .results-layout {
  width: min(1120px, calc(100% - 64px));
  margin-top: 40px;
}
.journey-search-page .results-column__head > .oln-heading {
  font-size: 24px;
  font-weight: 600;
  letter-spacing: -0.6px;
}
.journey-results-note {
  font-size: 12px;
  color: #526273;
  margin: 12px 0 24px;
}
.journey-search-page .result-card__capacity > strong {
  font-size: 24px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: -0.7px;
  display: block;
  margin-bottom: 8px;
}
.journey-search-page .result-card__capacity > span {
  display: block;
  font-size: 12px;
  color: #526273;
}
@media (max-width: 680px) {
  .journey-search-page .results-summary,
  .journey-search-page .results-layout {
    width: calc(100% - 40px);
  }
  .journey-search-page .results-summary__back {
    font-size: 12px;
  }
  .journey-search-lead {
    font-size: 14px;
  }
  .journey-search-page .results-column__head > .oln-heading {
    font-size: 22px;
  }
}
.journey-capacity-control {
  position: relative;
}
.journey-search-form #journey-search-filters .journey-capacity-control input {
  padding-right: 74px;
}
.journey-capacity-control [data-capacity-unit-label] {
  position: absolute;
  right: 12px;
  top: 12px;
  color: #657887;
  font-size: 12px;
  pointer-events: none;
  border-left: 1px solid #e5eaee;
  padding-left: 12px;
}
.journey-select-trigger:after {
  content: none;
}
.journey-select-trigger > svg {
  position: absolute;
  right: 12px;
  top: 14px;
  width: 16px;
  height: 16px;
  fill: none;
  stroke: #526273;
  stroke-width: 1.5;
  stroke-linejoin: round;
  stroke-linecap: round;
}
.journey-styled-select:has(#radiusKm) .journey-select-trigger {
  padding-right: 70px;
}
.journey-styled-select:has(#radiusKm) .journey-select-trigger > svg {
  right: 42px;
}
.journey-search-form #journey-search-filters .journey-radius-unit {
  position: absolute;
  right: 12px;
  top: 12px;
  color: #657887;
  border-left: 1px solid #e5eaee;
  padding-left: 10px;
  font-weight: 400;
  font-size: 12px;
  margin: 0;
}
.journey-presets > .journey-preset-pills {
  display: grid;
  gap: 10px;
}
@media (max-width: 680px) {
  .journey-presets > .journey-preset-pills {
    gap: 8px;
  }
}
/* 12 October: restore the approved request composition and shared location field. */
@font-face {
  font-family: JourneyManrope;
  src: url("/homepage-candidate/assets/manrope-400.ttf") format("truetype");
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: JourneyManrope;
  src: url("/homepage-candidate/assets/manrope-500.ttf") format("truetype");
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: JourneyManrope;
  src: url("/homepage-candidate/assets/manrope-600.ttf") format("truetype");
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: JourneyManrope;
  src: url("/homepage-candidate/assets/manrope-700.ttf") format("truetype");
  font-weight: 700;
  font-display: swap;
}
.journey-page:has(#journey-request) .journey-main {
  width: min(1120px, calc(100% - 80px));
  padding: 24px 0 56px;
}
.journey-page:has(#journey-request) .journey-main > .journey-back {
  display: inline-flex;
  margin-bottom: 20px;
  font-size: 14px;
  font-weight: 500;
  color: #42647c;
}
.journey-page:has(#journey-request) .journey-main > .journey-eyebrow {
  margin: 0 0 12px;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.8px;
}
.journey-page:has(#journey-request) h1 {
  font-size: 34px;
  font-weight: 600;
  letter-spacing: -1.25px;
  line-height: 1.18;
  margin: 0 0 12px;
}
.journey-page:has(#journey-request) .journey-lead {
  font-size: 15px;
  line-height: 1.65;
  margin: 0 0 24px;
  color: #526273;
}
.journey-page:has(#journey-request) .journey-header > div {
  width: auto;
  max-width: 1440px;
  margin: auto;
  padding: 24px 64px;
  min-height: 88px;
  gap: 44px;
}
.journey-page:has(#journey-request) .journey-header nav {
  margin-left: auto;
  gap: 40px;
}
.journey-page:has(#journey-request) .journey-header a {
  font-size: 14px;
  font-weight: 500;
}
.journey-page:has(#journey-request) .journey-header img {
  width: 82px;
}
.journey-page:has(#journey-request) .journey-header-actions {
  gap: 32px;
  border-left: 1px solid #cbd7e2;
  padding-left: 24px;
}
.journey-header-actions svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  vertical-align: middle;
}
.journey-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}
.journey-presets {
  margin-bottom: 32px;
}
.journey-presets > div {
  margin: 0;
}
.journey-presets > div:first-child {
  margin-bottom: 12px;
}
.journey-presets h2 {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.65;
}
.journey-presets .journey-selected-preset {
  min-height: 50px;
  margin: 0;
  padding: 12px 16px;
  background: #f3f5f7;
  font-size: 14px;
}
.journey-presets .journey-back {
  font-size: 12px;
  font-weight: 500;
  color: #42647c;
}
.journey-preset-note {
  display: none;
}
.journey-progress button {
  font-size: 12px;
  font-weight: 400;
  padding: 12px 12px 18px 0;
  gap: 10px;
}
.journey-progress [aria-current="step"] {
  font-weight: 600;
}
.journey-progress [aria-current="step"] span {
  background: #0c1b2d;
  border-color: #0c1b2d;
}
.journey-progress .completed > span {
  background: #eef3f6;
  font-size: 0;
}
.journey-progress .completed > span::after {
  content: "✓";
  font-size: 12px;
}
.journey-card fieldset {
  margin: 0;
}
.journey-card legend {
  font-size: 25px;
  font-weight: 600;
  letter-spacing: -0.65px;
  line-height: 1.4;
  padding: 0;
  margin-bottom: 8px;
}
.journey-card fieldset > p {
  font-size: 14px;
  color: #526273;
  margin: 0 0 20px;
}
.journey-card label {
  font-size: 13px;
  font-weight: 600;
  gap: 7px;
  color: #0c1b2d;
  margin: 0;
}
.journey-card label small {
  font-size: 12px;
  font-weight: 400;
  color: #526273;
}
.journey-card input,
.journey-card select,
.journey-card textarea {
  border-color: #b9c6d1;
  border-radius: 6px;
  font-weight: 400;
  min-height: 44px;
  padding: 10px 12px;
}
.journey-card input,
.journey-card select {
  height: 44px;
}
.journey-card select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23526273' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: 38px;
}
.journey-timing-grid {
  margin-top: 20px;
}
.journey-controls {
  padding-top: 20px;
  margin-top: 28px;
  border-color: #cbd7e2;
  gap: 16px;
}
.journey-controls > span {
  margin-right: auto;
  font-size: 12px;
  color: #526273;
}
.journey-controls .journey-button {
  font-size: 13px;
  font-weight: 600;
  height: 44px;
  min-height: 44px;
  padding: 10px 16px;
  border-radius: 6px;
}
.journey-controls .primary,
#journey-next,
#journey-send {
  background: #0c1b2d;
  border-color: #0c1b2d;
}
.journey-summary {
  position: sticky;
  top: 24px;
  background: #f3f5f7;
  border-color: #cbd7e2;
}
.journey-summary summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  list-style: none;
  padding: 24px 20px;
  border: 0;
  font-size: 14px;
  font-weight: 600;
}
.journey-summary summary::-webkit-details-marker {
  display: none;
}
.journey-summary summary > span {
  width: 7px;
  height: 7px;
  border-right: 1.5px solid #526273;
  border-bottom: 1.5px solid #526273;
  transform: rotate(45deg);
  margin-right: 3px;
}
.journey-summary[open] summary > span {
  transform: rotate(225deg);
}
.journey-summary > div {
  padding: 0 20px 20px;
}
.journey-summary .journey-eyebrow {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  margin: 0 0 16px;
}
.journey-summary dl {
  margin: 0;
}
.journey-summary dl > div {
  border: 0;
  border-top: 1px solid #d5dde4;
  padding: 16px 0;
}
.journey-summary dl dt {
  font-size: 11px;
  font-weight: 600;
  color: #0c1b2d;
  margin: 0 0 8px;
}
.journey-summary dl dt span {
  color: #657887;
  font-size: 10px;
}
.journey-summary dl dd {
  font-size: 13px;
  line-height: 1.8;
  color: #657887;
  padding-left: 22px;
  margin: 0;
}
.journey-summary-note {
  margin-top: 16px;
  padding-top: 20px;
  border-color: #cbd7e2;
  font-size: 12px;
}
.journey-summary-note p {
  font-size: 12px;
  line-height: 1.7;
  color: #526273;
  margin: 12px 0 0;
}
.journey-area-field,
.journey-origin-field {
  position: relative;
  min-width: 0;
}
.enhanced .journey-area-backing {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}
.journey-origin-panel {
  position: absolute;
  left: 0;
  top: calc(100% + 6px);
  width: max(100%, 320px);
  max-width: calc(100vw - 40px);
  max-height: min(420px, 60svh);
  overflow: auto;
  padding: 12px;
  border: 1px solid #dae2e8;
  border-radius: 8px;
  box-shadow: 0 8px 28px #0c1b2d22;
  background: white;
  z-index: 65;
}
.journey-origin-context {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.journey-origin-panel label {
  font-size: 11px;
}
.journey-origin-panel [data-origin-choices] {
  display: grid;
  gap: 4px;
}
.journey-origin-panel p {
  font-size: 10px;
  line-height: 1.5;
  margin: 8px 0 0;
  color: #526273;
}
.journey-origin-panel p:empty {
  display: none;
}
.journey-origin-choice {
  font: inherit;
  font-size: 13px;
  min-height: 44px;
  border: 0;
  border-radius: 4px;
  background: white;
  text-align: left;
  padding: 10px;
  cursor: pointer;
}
.journey-origin-choice:hover,
.journey-origin-choice:focus-visible {
  background: #eef3f6;
}
#journey-discard {
  margin-top: 20px;
  font-size: 11px;
}
@media (max-width: 900px) {
  .journey-summary {
    position: static;
    border-left: 0;
    border-block: 1px solid #cbd7e2;
  }
  .journey-summary summary {
    padding: 16px;
  }
}
@media (max-width: 680px) {
  .journey-page:has(#journey-request) .journey-main {
    width: calc(100% - 40px);
    padding-top: 24px;
  }
  .journey-page:has(#journey-request) .journey-main > .journey-back {
    font-size: 12px;
    margin-bottom: 20px;
  }
  .journey-page:has(#journey-request) h1 {
    font-size: 28px;
    letter-spacing: -0.8px;
  }
  .journey-page:has(#journey-request) .journey-main > .journey-eyebrow {
    font-size: 10px;
  }
  .journey-page:has(#journey-request) .journey-lead {
    font-size: 14px;
  }
  .journey-page:has(#journey-request) .journey-header > div {
    padding: 14px 20px;
    min-height: 80px;
    gap: 8px;
  }
  .journey-page:has(#journey-request) .journey-header img {
    width: 64px;
  }
  .journey-page:has(#journey-request) .journey-header-actions {
    border: 0;
    padding: 0;
    gap: 6px;
    margin-left: auto;
  }
  .journey-page:has(#journey-request) .journey-header-actions > a {
    display: grid;
    place-items: center;
    width: 32px;
    height: 40px;
  }
  .journey-presets {
    margin-bottom: 24px;
  }
  .journey-presets .journey-selected-preset {
    font-size: 12px;
    min-height: 46px;
  }
  .journey-presets .journey-back {
    font-size: 11px;
  }
  .journey-summary summary {
    font-size: 13px;
  }
  .journey-progress {
    margin-bottom: 24px;
  }
  .journey-progress button {
    display: grid;
    flex-direction: initial;
    gap: 8px;
    font-size: 11px;
    padding-bottom: 16px;
  }
  .journey-card legend {
    font-size: 24px;
  }
  .journey-card fieldset > p {
    font-size: 13px;
  }
  .journey-card label small {
    font-size: 11px;
  }
  .journey-controls {
    margin-top: 24px;
  }
  .journey-controls .journey-button {
    flex: 0 0 auto;
    font-size: 12px;
  }
}
.journey-page:has(#journey-request) {
  font-size: 16px;
}
.journey-page:has(#journey-request) h1 {
  line-height: 1.25;
  text-wrap: balance;
}
.journey-page:has(#journey-request) .journey-header > div {
  min-height: 87px;
}
.journey-controls .journey-button {
  display: inline-flex;
  align-items: center;
  gap: 24px;
}
.journey-controls .journey-button > span {
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
}
@media (max-width: 680px) {
  .journey-page:has(#journey-request) h1 {
    letter-spacing: -1.25px;
  }
  .journey-page:has(#journey-request) .journey-header > div {
    min-height: 79px;
  }
  .journey-page:has(#journey-request)
    .journey-header-actions
    .journey-account-link {
    display: none;
  }
}
.journey-page:has(#journey-request) h1 {
  line-height: 1.09;
}
.journey-radius-field {
  position: relative;
  display: block;
}
.journey-radius-field select {
  padding-right: 70px;
  background-position: right 42px center;
}
.journey-radius-field > span:last-child {
  position: absolute;
  right: 12px;
  top: 10px;
  border-left: 1px solid #cbd7e2;
  padding-left: 10px;
  font-size: 12px;
  font-weight: 400;
  color: #526273;
}
@media (max-width: 680px) {
  .journey-page:has(#journey-request) h1 {
    line-height: 1.25;
  }
  .journey-timing-grid label:has(#journey-duration) {
    max-width: 230px;
  }
}

.journey-card [data-journey-step="1"] > .journey-grid {
  margin-top: 20px;
}
.journey-card [data-journey-step="1"] .journey-note {
  font-size: 11px;
  margin: 12px 0 20px;
}
.journey-card .journey-chips {
  gap: 10px;
  margin-top: 12px;
}
.journey-card .journey-chips label {
  position: relative;
  border: 0;
  padding: 0;
  margin: 0;
}
.journey-card .journey-chips input {
  position: absolute;
  width: 1px;
  height: 1px;
  min-height: 0;
  opacity: 0;
  padding: 0;
}
.journey-card .journey-chips label > span {
  padding: 10px 14px;
  border: 1px solid #cbd7e2;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
}
.journey-card .journey-chips label:has(:checked) {
  background: transparent;
}
.journey-card .journey-chips input:checked + span {
  border-color: #0c1b2d;
  background: #eef3f6;
}
.journey-card .journey-chips input:checked + span::before {
  content: "✓";
  margin-right: 8px;
}
.journey-card .journey-chips input:focus-visible + span {
  outline: 2px solid #42647c;
  outline-offset: 3px;
}
.journey-card [data-journey-step="2"] label:has(textarea) {
  margin-bottom: 20px;
}

.journey-date-control {
  position: relative;
}
.journey-date-control input {
  padding-right: 46px;
}
.enhanced .journey-date-control input::-webkit-calendar-picker-indicator {
  display: none;
}
.enhanced .journey-date-control > .icon-button {
  position: absolute;
  right: 2px;
  top: 2px;
}
.journey-date-calendar {
  position: absolute;
  top: 78px;
  left: 0;
  z-index: 50;
  width: 290px;
  padding: 16px;
  background: white;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 12px 36px #0c1b2d1f;
}
.calendar-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
  font-weight: 600;
  font-size: 14px;
}
.calendar-heading .icon-button {
  font-size: 24px;
  width: 32px;
  height: 32px;
  min-width: 32px;
}
.calendar-week,
.calendar-days {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  text-align: center;
  gap: 3px;
}
.calendar-week {
  font-size: 10px;
  color: var(--muted);
  padding-bottom: 8px;
}
.calendar-days button {
  height: 32px;
  border-radius: 4px;
  font-size: 12px;
}
.calendar-days button:hover {
  background: var(--pale);
}
.calendar-days button[aria-current="date"] {
  box-shadow: inset 0 0 0 1px var(--line);
}
.calendar-days button[aria-pressed="true"] {
  background: var(--navy);
  color: white;
}
.calendar-footer {
  display: flex;
  justify-content: space-between;
  border-top: 1px solid var(--line);
  padding-top: 12px;
  margin-top: 12px;
}
.calendar-footer .text-link {
  font-size: 12px;
}
.journey-date-calendar {
  width: 280px;
}
.journey-date-field {
  position: relative;
  min-width: 0;
}
.journey-date-field > label {
  margin-bottom: 7px;
}
.journey-date-control input {
  padding-right: 44px;
}
.journey-radius-field .journey-select-trigger {
  padding-right: 70px;
}
.journey-radius-field .journey-select-trigger > svg {
  right: 42px;
}
.journey-field-label {
  font-size: 14px;
  font-weight: 500;
  margin: 0 0 12px;
}
.journey-page:has(#journey-request)
  .journey-header-actions
  .journey-header-request {
  display: none;
}
@media (max-width: 680px) {
  .journey-date-field {
    max-width: 240px;
  }
  .journey-date-calendar {
    width: 280px;
  }
}

.journey-presets > div:first-child {
  margin-bottom: 6px;
}
.enhanced .journey-date-control > .icon-button {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #0c1b2d;
  cursor: pointer;
}
.journey-date-control > .icon-button svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
}
.journey-date-calendar {
  border-color: #ccd5dd;
  color: #0c1b2d;
}
.journey-date-calendar button {
  font: inherit;
  cursor: pointer;
  border: 0;
  background: transparent;
  color: inherit;
  padding: 0;
}
.journey-date-calendar .calendar-heading button {
  font-size: 24px;
}
.journey-date-calendar .calendar-days button {
  font-size: 12px;
}
.journey-date-calendar .calendar-days button:hover,
.journey-date-calendar .calendar-days button[aria-pressed="true"] {
  background: #eef3f6;
}
.journey-date-calendar .calendar-footer button {
  font-size: 12px;
  color: #42647c;
}
.journey-card [data-journey-step="1"] > .journey-grid {
  grid-template-columns: minmax(0, 220px) minmax(0, 230px);
  gap: 24px;
}
.journey-card .journey-temperature-label {
  font-size: 13px;
  font-weight: 600;
  margin: 20px 0 12px;
}
.journey-temperature-label span {
  font-size: 12px;
  font-weight: 400;
  color: #526273;
  margin-left: 10px;
}
.journey-controls #journey-previous {
  height: auto;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  font-size: 12px;
  font-weight: 500;
  color: #42647c;
}
.journey-contact h2 {
  font-size: 20px;
  margin: 24px 0 12px;
}
.journey-contact > p {
  font-size: 13px;
  line-height: 1.65;
  color: #526273;
  margin: 0 0 20px;
}
@media (max-width: 680px) {
  .journey-card [data-journey-step="1"] > .journey-grid {
    grid-template-columns: minmax(0, 230px);
    gap: 20px;
  }
  .journey-controls #journey-previous {
    font-size: 11px;
  }
}

.journey-origin-field {
  display: none;
}
.enhanced .journey-origin-field {
  display: block;
}

.journey-card .journey-select-trigger {
  font-weight: 400;
}
.journey-controls .journey-button:not(#journey-previous) {
  min-width: 0;
  font-size: 12px;
}

.journey-summary summary {
  font-size: 15px;
  padding: 22px 20px 18px;
}
.journey-summary .journey-eyebrow {
  letter-spacing: 0.02em;
  margin-bottom: 18px;
}
.journey-summary dl dt {
  font-size: 12px;
}
.journey-summary dd.is-empty {
  font-size: 12px;
  line-height: 1.8;
}
@media (max-width: 680px) {
  .journey-summary summary {
    font-size: 13px;
    padding: 16px;
  }
  .journey-controls .journey-button:not(#journey-previous) {
    padding: 10px 12px;
    gap: 12px;
  }
}

.journey-date-control > .icon-button {
  display: none;
}
.journey-summary dl dt {
  margin-bottom: 12px;
}
.journey-summary dl dd {
  line-height: 1.6;
}
.journey-summary dd.is-empty {
  line-height: 1.6;
  color: #758695;
}

.journey-card .journey-chips label > span {
  font-weight: 600;
}
.journey-card .journey-optional {
  font-size: 12px;
  font-weight: 400;
  color: #526273;
  margin-left: 10px;
}
.journey-card:has(#journey-review:not([hidden])) .journey-progress {
  display: none;
}
.journey-card #journey-review h2 {
  font-size: 32px;
  margin: 0 0 16px;
}
.journey-card #journey-review > p {
  font-size: 14px;
  color: #526273;
}
.journey-card #journey-review-values > div {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  gap: 24px;
  padding: 12px 0;
}
.journey-card #journey-review-values dt {
  font-size: 12px;
  margin: 0;
  font-weight: 500;
}
.journey-card #journey-review-values dd {
  font-size: 14px;
  margin: 0;
}
@media (max-width: 680px) {
  #journey-request:has([data-journey-step="0"][hidden]) #journey-step-count {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
  }
  .journey-card #journey-review-values > div {
    grid-template-columns: 100px minmax(0, 1fr);
    gap: 16px;
  }
}

.journey-card #journey-review > .journey-eyebrow {
  font-size: 11px;
  font-weight: 500;
  margin: 0 0 20px;
  color: #526273;
}
.journey-card #journey-review h2 {
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -0.8px;
}
.journey-card #journey-review > p:not(.journey-eyebrow) {
  font-size: 16px;
  line-height: 1.65;
  margin: 0;
}
.journey-card #journey-review-values {
  border-top: 1px solid #ccd5dd;
  margin-block: 32px;
}
.journey-card #journey-review-values > div {
  padding: 20px 0;
  border-color: #ccd5dd;
}
.journey-card #journey-review-values dt {
  font-size: 14px;
  font-weight: 400;
  color: #526273;
}
.journey-card #journey-review-values dd {
  font-size: 16px;
  line-height: 1.65;
}
.journey-card #journey-review .journey-controls {
  justify-content: flex-start;
  border: 0;
  padding: 0;
  margin: 0;
  gap: 12px;
}
@media (max-width: 680px) {
  .journey-card #journey-review-values > div {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}

.journey-card #journey-review h2 {
  line-height: 1.24;
  letter-spacing: -1px;
  margin-bottom: 32px;
}
@media (max-width: 680px) {
  .journey-card #journey-review h2 {
    margin-bottom: 24px;
  }
  .journey-card #journey-review > .journey-eyebrow {
    font-size: 10px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.75px;
    margin-bottom: 24px;
  }
}

.journey-summary dl dd:not(.is-empty) {
  color: #0c1b2d;
  line-height: 1.6;
}
.journey-summary dd > span {
  display: block;
  color: #0c1b2d;
  font-size: 13px;
  line-height: 1.6;
}
.journey-summary dd > span.is-empty {
  color: #758695;
  font-size: 12px;
}

.journey-search-bar .journey-origin-field label {
  font-size: 0;
}
.journey-search-bar .journey-origin-field label > small {
  display: none;
}
.journey-search-bar .journey-origin-field input {
  min-height: 44px;
  font-size: 16px;
  width: 100%;
  border: 0;
  box-shadow: none;
}

/* Provider credit belongs to the returned location, in the component's flow. */
.journey-origin-field .journey-origin-attribution {
  margin: 8px 0 0;
  font-size: 12px;
  line-height: 1.4;
  color: var(--ink-2);
}
.journey-origin-attribution a {
  color: inherit;
  text-underline-offset: 2px;
}
.journey-origin-field .journey-origin-panel .journey-origin-attribution {
  margin-top: 8px;
  font-size: 12px;
}
/* The public request uses the same compact near-result credit as the main
   search. Let selected credit span the row without narrowing the area field. */
.journey-location-grid > .journey-origin-attribution {
  grid-column: 1 / -1;
  margin: 0;
  font: 400 12px / 1.4 var(--font-body);
  color: var(--ink-2);
}
