/* Atlas conversations and exploratory journeys. Fonts follow the site's global styles. */
.nu-atlas [hidden] { display: none !important; }

/* Operator-neutral enquiry review. Typography follows the host site's global fonts. */
.nu-atlas .nu-atlas__enquiry { margin-top: 24px; min-width: 0; }
.nu-atlas .nu-atlas__enquiry-open,
.nu-atlas .nu-atlas__enquiry-actions button {
  min-height: 48px; max-width: 100%; padding: 12px 16px;
  border: 1px solid var(--nu-atlas-accent); border-radius: 0;
  color: var(--nu-atlas-text); background: transparent;
  font: inherit; font-size: var(--nu-atlas-ui-size); line-height: 1.45;
  white-space: normal; overflow-wrap: anywhere; cursor: pointer;
}
.nu-atlas .nu-atlas__enquiry-open { width: 100%; }
.nu-atlas .nu-atlas__enquiry-actions button[type="submit"] {
  --nu-atlas-button-state-bg: var(--nu-atlas-accent);
  --nu-atlas-button-state-fg: var(--nu-atlas-bg);
  background: var(--nu-atlas-accent); color: var(--nu-atlas-bg);
}
.nu-atlas .nu-atlas__enquiry-form { display: grid; gap: 16px; min-width: 0; }
.nu-atlas .nu-atlas__enquiry-form h4 {
  margin: 0; font-family: var(--nu-atlas-font-heading, var(--e-global-typography-primary-font-family, inherit));
  font-size: clamp(1.5rem, 1.25rem + 1vw, 2rem); line-height: 1.25; font-weight: 400;
}
.nu-atlas .nu-atlas__enquiry-form p,
.nu-atlas .nu-atlas__enquiry-status { margin: 0; font-size: var(--nu-atlas-ui-size); line-height: 1.65; overflow-wrap: anywhere; }
.nu-atlas .nu-atlas__enquiry-status:not(:empty) { margin: 12px 0 20px; }
.nu-atlas .nu-atlas__enquiry-form label { display: grid; gap: 6px; min-width: 0; font-size: var(--nu-atlas-label-size); }
.nu-atlas .nu-atlas__enquiry-form input,
.nu-atlas .nu-atlas__enquiry-form textarea {
  width: 100%; min-width: 0; padding: 12px; border: 1px solid color-mix(in srgb, var(--nu-atlas-text) 30%, transparent);
  border-radius: 0; background: var(--nu-atlas-bg); color: var(--nu-atlas-text); font: inherit; font-size: 1rem; line-height: 1.6;
}
.nu-atlas .nu-atlas__enquiry-form textarea { min-height: 220px; resize: vertical; }
.nu-atlas .nu-atlas__enquiry-form :is(input,textarea):focus-visible { outline: 2px solid var(--nu-atlas-accent); outline-offset: 2px; }
.nu-atlas .nu-atlas__enquiry-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.nu-atlas .nu-atlas__enquiry-actions button:disabled { opacity: .6; cursor: wait; }
.nu-atlas .nu-atlas__enquiry-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.nu-atlas__ask { overflow: hidden; padding: 0; }
.nu-atlas__ask-content { height: 100%; overflow-y: auto; overscroll-behavior: contain; padding: clamp(46px,7vh,82px) clamp(30px,4.5vw,62px); }
.nu-atlas__ask-close { z-index: 2; width: 36px; height: 36px; border-radius: 50%; background: var(--nu-atlas-surface); opacity: 1; }
.nu-atlas__ask-content > p { margin: 24px 0; color: var(--nu-atlas-muted); font-size: 14px; line-height: 1.7; }
.nu-atlas__ask-content > small { display: block; margin-top: 18px; color: color-mix(in srgb, var(--nu-atlas-muted) 70%, transparent); font-size: 10px; line-height: 1.5; }
.nu-atlas__ask-form { margin-top: 22px; }
.nu-atlas__ask.has-conversation .nu-atlas__ask-content { padding-top: 52px; }
.nu-atlas__ask.has-conversation h3 { font-size: 26px; line-height: 1.2; }
.nu-atlas__ask.has-conversation .nu-atlas__ask-content > p { display: none; }
.nu-atlas__ask.has-conversation .nu-atlas__ask-kicker { margin-bottom: 12px; }
.nu-atlas__ask-form textarea { font-size: 14px; line-height: 1.5; min-height: 92px; }
.nu-atlas__ask-form button:disabled { opacity: .55; cursor: wait; transform: none; }
.nu-atlas__ask-question { margin: 16px 0 0; font-weight: 600; }
.nu-atlas__ask-notice { margin: 0 0 14px; color: var(--nu-atlas-muted); font-size: 12px; }
.nu-atlas__ask-match .nu-atlas__ask-source { font-size: 10px; line-height: 1.5; opacity: .85; }
.nu-atlas__ask-suggestions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.nu-atlas__ask-suggestions button, .nu-atlas__ask-new, .nu-atlas__journey-copy {
  border: 1px solid color-mix(in srgb, var(--nu-atlas-text) 18%, transparent);
  padding: 10px 12px; border-radius: 0; background: transparent; color: var(--nu-atlas-text);
  font-size: 11px; line-height: 1.4; cursor: pointer; text-align: left;
}
.nu-atlas__ask-suggestions button:hover, .nu-atlas__journey-copy:hover { border-color: var(--nu-atlas-accent); }
.nu-atlas__ask-new { margin-top: 15px; border: 0; padding-left: 0; color: var(--nu-atlas-muted); text-decoration: underline; text-underline-offset: 4px; }
.nu-atlas__journey-editor:not(:empty) { margin: 24px 0; padding-top: 24px; border-top: 1px solid color-mix(in srgb, var(--nu-atlas-text) 14%, transparent); }
.nu-atlas__journey-editor h4 { margin: 0; color: var(--nu-atlas-text); font-family: var(--nu-atlas-font-heading, var(--e-global-typography-primary-font-family, inherit)); font-size: 26px; line-height: 1.2; font-weight: 400; }
.nu-atlas__journey-summary { margin: 9px 0 16px; font-size: 11px; color: var(--nu-atlas-accent); }
.nu-atlas__journey-stops { list-style: none; margin: 0; padding: 0; counter-reset: atlas-stop; }
.nu-atlas__journey-stops li { counter-increment: atlas-stop; position: relative; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 14px 0 14px 25px; border-top: 1px solid color-mix(in srgb, var(--nu-atlas-text) 10%, transparent); }
.nu-atlas__journey-stops li::before { content: counter(atlas-stop); position: absolute; left: 0; top: 17px; color: var(--nu-atlas-accent); font-size: 10px; }
.nu-atlas__journey-place { border: 0; padding: 0; background: transparent; color: var(--nu-atlas-text); text-align: left; font-size: 14px; line-height: 1.35; cursor: pointer; }
.nu-atlas__journey-stops label { font-size: 10px; color: var(--nu-atlas-muted); white-space: nowrap; }
.nu-atlas__journey-stops input { width: 48px; min-height: 34px; padding: 4px 6px; border: 1px solid color-mix(in srgb, var(--nu-atlas-text) 20%, transparent); border-radius: 0; background: var(--nu-atlas-bg); color: var(--nu-atlas-text); font-size: 13px; }
.nu-atlas__journey-controls { grid-column: 1 / -1; display: flex; gap: 8px; }
.nu-atlas__journey-controls button { min-width: 36px; min-height: 36px; border: 1px solid color-mix(in srgb, var(--nu-atlas-text) 16%, transparent); padding: 4px 8px; background: transparent; color: var(--nu-atlas-text); cursor: pointer; font-size: 14px; }
.nu-atlas__journey-controls button:disabled { opacity: .25; cursor: default; }
.nu-atlas__journey-note { margin: 14px 0; color: var(--nu-atlas-muted); font-size: 11px; line-height: 1.6; }
.nu-atlas__journey-editor textarea { width: 100%; min-height: 200px; margin-top: 12px; background: var(--nu-atlas-bg); color: var(--nu-atlas-text); font-size: 12px; }
.nu-atlas__journey-caption { position: absolute; left: 30px; bottom: 55px; z-index: 5; max-width: 70%; color: var(--nu-atlas-accent); font-size: 9px; line-height: 1.4; }
.nu-atlas__vector-route.is-journey { stroke-dasharray: 7 7; opacity: .8; }
.nu-atlas__scene-point.is-recommended .nu-atlas__scene-point-dot { fill: var(--nu-atlas-accent); stroke: var(--nu-atlas-text); stroke-width: 1.5; }
@media (max-width: 520px) {
  .nu-atlas__ask { width: 100%; }
  .nu-atlas__ask-content { padding: 52px 24px 28px; }
  .nu-atlas__ask h3 { font-size: 35px; }
  .nu-atlas__ask-content > p { margin: 16px 0; font-size: 12px; }
  .nu-atlas__ask-answer { padding: 14px; }
  .nu-atlas__journey-caption { left: 18px; bottom: 40px; font-size: 8px; }
}
/* alpha.7 source cards and the compact current-trip review inherit the host typography. */
.nu-atlas .nu-atlas__ask-match { text-align:left; }
.nu-atlas .nu-atlas__ask-match p { margin:.55em 0; font-size:14px; line-height:1.6; }
.nu-atlas .nu-atlas__ask-place { display:block; width:100%; background:transparent; border:0; padding:0; text-align:left; color:var(--nu-atlas-text); font:inherit; cursor:pointer; }
.nu-atlas .nu-atlas__ask-place strong { font-size:16px; line-height:1.4; }
.nu-atlas .nu-atlas__ask-match a { display:block; color:var(--nu-atlas-text); font-size:13px; text-decoration:underline; overflow-wrap:anywhere; }
.nu-atlas .nu-atlas__sources { margin:12px 0; font-size:14px; line-height:1.6; color:var(--nu-atlas-muted); }
.nu-atlas .nu-atlas__sources > summary { width:fit-content; max-width:100%; min-height:44px; padding:10px 0; box-sizing:border-box; cursor:pointer; color:var(--nu-atlas-muted); font:inherit; font-size:14px; line-height:1.6; }
.nu-atlas .nu-atlas__sources > summary:focus-visible { outline:2px solid var(--nu-atlas-accent); outline-offset:3px; }
.nu-atlas .nu-atlas__sources .nu-atlas__provenance { margin-top:0; }
.nu-atlas .nu-atlas__ask-sources section { padding:12px 0; border-top:1px solid color-mix(in srgb,var(--nu-atlas-text) 12%,transparent); }
.nu-atlas .nu-atlas__ask-sources strong { display:block; font:inherit; font-weight:600; color:var(--nu-atlas-text); }
.nu-atlas .nu-atlas__ask-sources p { margin:6px 0; font-size:13px; line-height:1.6; }
.nu-atlas .nu-atlas__ask-sources .nu-atlas__ask-source { display:block; font-size:12px; letter-spacing:0; text-transform:none; line-height:1.5; }
.nu-atlas .nu-atlas__ask-sources a { color:var(--nu-atlas-text); font-size:13px; text-decoration:underline; overflow-wrap:anywhere; }
.nu-atlas .nu-atlas__enquiry-party { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.nu-atlas .nu-atlas__enquiry-form .nu-atlas__enquiry-check { display:flex; align-items:flex-start; gap:10px; font-size:14px; line-height:1.6; }
.nu-atlas .nu-atlas__enquiry-form .nu-atlas__enquiry-check input { width:18px; height:18px; min-height:18px; flex:0 0 18px; margin:3px 0 0; accent-color:var(--nu-atlas-accent); }
.nu-atlas .nu-atlas__enquiry-history { white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; font-size:13px; line-height:1.6; max-height:240px; overflow:auto; }
.nu-atlas .nu-atlas__enquiry-form textarea[readonly] { min-height:230px; font-size:14px; cursor:default; }

/* alpha.8: a visible invitation, editable starters and a reply box that stays in reach. */
.nu-atlas .nu-atlas__ask-launcher {
  position:absolute; right:24px; bottom:20px; z-index:6; display:flex; align-items:center; gap:9px;
  min-height:48px; padding:11px 17px; border:1px solid var(--nu-atlas-accent); border-radius:28px;
  --nu-atlas-button-state-bg:var(--nu-atlas-accent); --nu-atlas-button-state-fg:var(--nu-atlas-bg);
  font-size:15px; font-weight:500; line-height:1.4; cursor:pointer; box-shadow:0 3px 14px #0001;
}
.nu-atlas .nu-atlas__ask-invitation {
  display:grid; gap:10px; width:100%; max-width:560px; margin-top:28px; padding:22px 24px;
  border:1px solid color-mix(in srgb,var(--nu-atlas-accent) 50%,transparent); border-radius:6px;
  --nu-atlas-button-state-bg:color-mix(in srgb,var(--nu-atlas-accent) 9%,var(--nu-atlas-bg));
  color:var(--nu-atlas-text); text-align:left; white-space:normal; cursor:pointer;
}
.nu-atlas .nu-atlas__ask-invitation small { font-size:12px; line-height:1.4; letter-spacing:.12em; color:var(--nu-atlas-accent); }
.nu-atlas .nu-atlas__ask-invitation strong { font-family:var(--nu-atlas-font-heading,var(--e-global-typography-primary-font-family,inherit)); font-weight:400; font-size:clamp(22px,1.35rem + .5vw,29px); line-height:1.3; }
.nu-atlas .nu-atlas__ask-invitation > span { display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:15px; line-height:1.5; }
.nu-atlas .nu-atlas__ask-invitation i { font-style:normal; font-size:24px; }
.nu-atlas .nu-atlas__intro { justify-content:center; padding-top:42px; padding-bottom:42px; }
.nu-atlas .nu-atlas__intro h2 { font-size:clamp(42px,4.8vw,78px); line-height:1.04; }
.nu-atlas .nu-atlas__intro-actions { margin-top:22px; }
.nu-atlas__ask-backdrop { position:absolute; inset:0; z-index:29; background:#0002; }
.nu-atlas .nu-atlas__ask {
  top:var(--nu-atlas-ask-top,0); bottom:auto; height:var(--nu-atlas-ask-height,100%); width:min(600px,100%);
  display:grid; grid-template-rows:auto minmax(0,1fr) auto; padding:0; background:var(--nu-atlas-surface);
  overflow:hidden; box-shadow:-18px 0 54px #0002; transition:transform .3s ease,visibility .3s;
}
.nu-atlas__ask-header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:24px 28px 18px; border-bottom:1px solid color-mix(in srgb,var(--nu-atlas-text) 12%,transparent); }
.nu-atlas .nu-atlas__ask-header h3 { font-size:clamp(26px,1.5rem + .5vw,34px); line-height:1.2; }
.nu-atlas .nu-atlas__ask-header p { margin:7px 0 0; color:var(--nu-atlas-muted); font-size:15px; line-height:1.5; }
.nu-atlas .nu-atlas__ask-close { position:static; flex:0 0 44px; width:44px; height:44px; padding:0; border:1px solid color-mix(in srgb,var(--nu-atlas-text) 18%,transparent); border-radius:50%; font-size:28px; line-height:1; cursor:pointer; }
.nu-atlas .nu-atlas__ask-content,
.nu-atlas .nu-atlas__ask.has-conversation .nu-atlas__ask-content { height:auto; min-height:0; padding:24px 28px; overflow:auto; }
.nu-atlas .nu-atlas__ask-welcome h4 { margin:0; color:var(--nu-atlas-text); font-family:var(--nu-atlas-font-heading,var(--e-global-typography-primary-font-family,inherit)); font-size:26px; font-weight:400; line-height:1.3; }
.nu-atlas .nu-atlas__ask-welcome p { margin:12px 0 20px; color:var(--nu-atlas-muted); font-size:15px; line-height:1.65; }
.nu-atlas .nu-atlas__ask-welcome > small { display:block; margin:0 0 10px; color:var(--nu-atlas-text); font-size:13px; line-height:1.5; }
.nu-atlas__ask-starters { display:grid; gap:8px; }
.nu-atlas .nu-atlas__ask-starters button { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:48px; width:100%; padding:12px 14px; border:1px solid color-mix(in srgb,var(--nu-atlas-accent) 40%,transparent); border-radius:6px; --nu-atlas-button-state-bg:var(--nu-atlas-bg); font-size:15px; line-height:1.4; text-align:left; cursor:pointer; }
.nu-atlas .nu-atlas__ask-starters button span { color:var(--nu-atlas-accent); }
.nu-atlas .nu-atlas__ask-starters button:is(:hover,:focus-visible) { --nu-atlas-button-state-border:var(--nu-atlas-text); }
.nu-atlas .nu-atlas__ask.has-conversation .nu-atlas__ask-welcome,
.nu-atlas .nu-atlas__ask.has-conversation .nu-atlas__ask-context { display:none; }
.nu-atlas .nu-atlas__ask-content > .nu-atlas__ask-context { margin:20px 0 0; font-size:13px; line-height:1.6; }
.nu-atlas .nu-atlas__ask-composer { min-width:0; padding:18px 28px 20px; background:var(--nu-atlas-surface); border-top:1px solid color-mix(in srgb,var(--nu-atlas-text) 14%,transparent); }
.nu-atlas .nu-atlas__ask-form { margin:0; }
.nu-atlas .nu-atlas__ask-form label { display:block; margin-bottom:8px; font-size:14px; font-weight:500; line-height:1.4; }
.nu-atlas .nu-atlas__ask-form textarea { display:block; min-height:88px; max-height:160px; padding:13px 14px; border:1px solid color-mix(in srgb,var(--nu-atlas-text) 32%,transparent); border-radius:6px; background:var(--nu-atlas-bg); font-size:16px; line-height:1.55; box-shadow:inset 0 1px 3px #0001; }
.nu-atlas .nu-atlas__ask-form textarea::placeholder { color:var(--nu-atlas-muted); opacity:1; }
.nu-atlas .nu-atlas__ask-form textarea:focus { border-color:var(--nu-atlas-accent); outline:2px solid color-mix(in srgb,var(--nu-atlas-accent) 35%,transparent); outline-offset:2px; }
.nu-atlas .nu-atlas__ask-form button { margin-top:10px; min-height:48px; border-radius:6px; padding:12px 16px; font-size:15px; font-weight:500; text-transform:none; letter-spacing:0; }
.nu-atlas .nu-atlas__ask-composer > small { display:block; margin-top:10px; color:var(--nu-atlas-muted); font-size:12px; line-height:1.45; }
.nu-atlas .nu-atlas__ask-answer { margin-top:0; padding:16px; border-left:0; border-radius:6px; }
.nu-atlas .nu-atlas__ask-user { margin:0 0 18px; padding-bottom:14px; border-bottom:1px solid color-mix(in srgb,var(--nu-atlas-text) 15%,transparent); font-size:14px; line-height:1.6; }
.nu-atlas .nu-atlas__ask-user strong,
.nu-atlas .nu-atlas__ask-earlier strong { display:block; margin-bottom:4px; color:var(--nu-atlas-accent); font-size:12px; font-weight:600; }
.nu-atlas .nu-atlas__ask-about,
.nu-atlas .nu-atlas__ask-earlier { margin-top:22px; color:var(--nu-atlas-muted); font-size:13px; line-height:1.6; }
.nu-atlas .nu-atlas__ask-earlier { margin:0 0 18px; }
.nu-atlas .nu-atlas__ask-about summary,
.nu-atlas .nu-atlas__ask-earlier summary { min-height:44px; padding:10px 0; cursor:pointer; }
.nu-atlas .nu-atlas__ask-about p { margin:10px 0 0; }
.nu-atlas .nu-atlas__ask-earlier p { white-space:pre-line; }
.nu-atlas .nu-atlas__ask-starters button:disabled { opacity:.6; cursor:wait; }
@media (max-width:899px) {
  .nu-atlas .nu-atlas__ask-launcher { right:14px; bottom:12px; min-height:44px; padding:10px 14px; font-size:14px; }
  .nu-atlas .nu-atlas__intro { padding:28px 24px; }
  .nu-atlas .nu-atlas__intro h2 { font-size:clamp(36px,8vw,56px); }
  .nu-atlas .nu-atlas__ask-invitation { padding:18px; margin-top:20px; }
  .nu-atlas .nu-atlas__ask { width:100%; }
}
@media (max-width:520px) {
  .nu-atlas .nu-atlas__ask-header { padding:18px 18px 14px; }
  .nu-atlas .nu-atlas__ask-content,
  .nu-atlas .nu-atlas__ask.has-conversation .nu-atlas__ask-content { padding:20px 18px; }
  .nu-atlas .nu-atlas__ask-composer { padding:14px 18px 16px; }
  .nu-atlas .nu-atlas__ask-welcome h4 { font-size:22px; }
  .nu-atlas .nu-atlas__ask-welcome p { display:none; }
  .nu-atlas .nu-atlas__ask-welcome > small { margin-top:14px; }
  .nu-atlas .nu-atlas__ask:not(.has-conversation) .nu-atlas__ask-content { padding-top:14px; padding-bottom:14px; }
  .nu-atlas .nu-atlas__ask-starters { gap:6px; }
  .nu-atlas .nu-atlas__ask-starters button { min-height:44px; padding:10px 12px; font-size:14px; }
  .nu-atlas .nu-atlas__ask-form textarea { min-height:78px; }
}
@media (prefers-reduced-motion:reduce) { .nu-atlas .nu-atlas__ask { transition:none; } }
