/* Dedicated Journey page. Shared public/preview styles; no builder dependency. */
body.aexj-page { margin:0; background:#f6f4eb; }
body.aexj-page.admin-bar { padding-top:0; }
#journey-main.journey-map-explorer { --journey-paper:#f6f4eb; --journey-ink:#203d38; --journey-muted:#5d6d61; --journey-line:#d6ded1; --journey-accent:#c66a38; --journey-green:#1d5146; display:block; width:100%; max-width:none; margin:0; padding:0; background:var(--journey-paper); color:var(--journey-ink); font:16px/1.6 'Segoe UI',Arial,sans-serif; }
#journey-main *, #journey-main *::before, #journey-main *::after { box-sizing:border-box; }
#journey-main :is(h1,h2,h3,p,figure) { margin:0; color:inherit; }
#journey-main :is(h1,h2,h3) { font-weight:500; line-height:1.13; letter-spacing:-.045em; }
#journey-main h2 { font-size:clamp(27px,2.7vw,42px); }
#journey-main a { color:inherit; text-decoration:none; }
#journey-main button { font:inherit; cursor:pointer; color:inherit; border:0; background:none; padding:0; line-height:inherit; }
#journey-main :is(a,button,summary,[role=tab]):focus-visible { outline:3px solid var(--journey-accent); outline-offset:5px; }
#journey-main img { display:block; max-width:100%; height:auto; }
#journey-main [hidden] { display:none !important; }
#journey-main .journey-width { width:min(1380px,calc(100% - 112px)); max-width:none; margin-inline:auto; }
#journey-main .journey-header { padding:22px 56px; min-height:100px; display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid var(--journey-line); }
#journey-main .journey-brand { width:auto; display:flex; flex-direction:row; gap:12px; align-items:center; }
#journey-main .journey-logo { width:40px; height:40px; flex:none; object-fit:contain; }
#journey-main .journey-logo img { width:40px; height:40px; object-fit:contain; }
#journey-main .journey-brand-copy { width:auto; display:block; }
#journey-main .journey-site-name { display:block; width:auto; font-size:26px; font-weight:800; line-height:1; letter-spacing:-.07em; }
#journey-main .journey-site-subtitle { width:auto; letter-spacing:.17em; font-size:8px; font-weight:600; margin-top:7px; line-height:1.2; }
#journey-main .journey-header-nav { width:auto; display:flex; flex-direction:row; align-items:center; gap:32px; font-size:13px; font-weight:600; }
#journey-main .journey-header-nav a { width:auto; padding:8px 0; }
#journey-main .journey-current-link { border-bottom:2px solid var(--journey-accent); }
#journey-main .journey-eyebrow { font-size:10px; font-weight:700; line-height:1.5; letter-spacing:.15em; text-transform:uppercase; }
#journey-main .journey-status::before { content:''; display:inline-block; width:6px; height:6px; margin:0 7px 1px 0; border-radius:50%; background:#4c7f5c; }
#journey-main .journey-intro { padding-block:52px 37px; display:flex; flex-direction:row; justify-content:space-between; align-items:end; gap:32px; }
#journey-main .journey-intro-copy { width:auto; display:block; }
#journey-main .journey-page-title { margin:14px 0 16px; font-size:clamp(48px,5.3vw,82px); }
#journey-main .journey-intro-text { color:var(--journey-muted); font-size:16px; line-height:1.6; }
#journey-main .journey-follow { width:auto; flex:none; font-size:12px; min-height:46px; display:flex; align-items:center; white-space:nowrap; }
#journey-main .journey-stories { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr); gap:0 28px; align-items:start; }
#journey-main .journey-story-panes { grid-column:2; grid-row:1; min-width:0; width:100%; padding:0; background:none; border:0; }
#journey-main .journey-story-panes > .journey-story { width:100%; min-width:0; padding:0; }
#journey-main .journey-story, #journey-main .journey-story-copy { display:block; width:100%; min-width:0; }
#journey-main .journey-map-panel { grid-column:1; grid-row:1; min-width:0; border:1px solid var(--journey-line); background:#eaf0e2; padding:23px 24px 17px; border-radius:4px; display:block; }
#journey-main .journey-panel-heading { display:flex; flex-direction:row; justify-content:space-between; align-items:start; gap:15px; }
#journey-main .journey-map-copy { width:auto; display:block; }
#journey-main .journey-map-title { font-size:22px; margin-top:7px; letter-spacing:-.035em; }
#journey-main .journey-compass { width:auto; flex:none; font-size:11px; white-space:nowrap; padding-top:4px; }
#journey-main .journey-route-map { width:100%; position:relative; isolation:isolate; display:block; }
#journey-main .journey-map-art { width:100%; aspect-ratio:600/680; }
#journey-main .journey-map-art img { width:100%; height:100%; object-fit:contain; }
#journey-main .journey-map-pin { position:absolute; left:var(--x); top:var(--y); z-index:1; width:44px; height:44px; min-height:44px; transform:translate(-50%,-50%); display:grid; place-items:center; border-radius:50%; color:#284338; font-size:10px; font-weight:700; box-shadow:none; }
#journey-main .journey-map-pin::before { content:''; position:absolute; inset:7px; z-index:-1; border:1px solid #697d5e; background:#fffdf2; border-radius:50%; box-shadow:0 2px 5px #25432d14; }
#journey-main .journey-map-pin[aria-pressed=true] { color:#fff; }
#journey-main .journey-map-pin[aria-pressed=true]::before { background:var(--journey-green); border:2px solid var(--journey-paper); box-shadow:0 0 0 2px var(--journey-green); transform:scale(1.1); }
#journey-main .journey-map-pin:hover::before { transform:scale(1.18); }
#journey-main .journey-map-note { text-align:center; font-size:10px; }
#journey-main .journey-map-note::before { content:''; display:inline-block; width:20px; height:2px; margin-right:7px; vertical-align:middle; background:var(--journey-accent); }
#journey-main .journey-map-caveat { color:#586753; font-size:9px; line-height:1.5; margin-top:8px; text-align:center; }
#journey-main .journey-story-media { position:relative; overflow:hidden; border-radius:4px; background:#223f38; aspect-ratio:16/9; display:block; }
#journey-main .journey-cover { width:100%; height:100%; object-fit:cover; }
#journey-main .journey-cover img { width:100%; height:100%; object-fit:cover; }
#journey-main .journey-story-media::after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,#132e2b91,transparent 45%,#12281f33); pointer-events:none; }
body.aexj-page #journey-main .journey-frame-label { position:absolute; top:21px; left:24px; width:auto; max-width:calc(100% - 48px); padding:4px 8px; border-radius:2px; background:var(--journey-green); color:#fff; font-size:11px; line-height:1.4; letter-spacing:.15em; z-index:1; }
#journey-main .journey-frame-bottom { position:absolute; bottom:22px; left:24px; right:24px; width:auto; display:flex; flex-direction:row; justify-content:space-between; align-items:center; color:#fff; font-family:Georgia,serif; font-size:22px; z-index:1; gap:20px; }
#journey-main .journey-frame-bottom > p { width:auto; }
#journey-main .journey-stage-number { font:9px 'Segoe UI',sans-serif; letter-spacing:.14em; }
#journey-main .journey-story-copy { padding-top:22px; }
#journey-main .journey-meta { display:flex; flex-direction:row; gap:5px; flex-wrap:wrap; font-size:10px; font-weight:700; line-height:1.5; letter-spacing:.15em; text-transform:uppercase; }
#journey-main .journey-meta > p { width:auto; }
#journey-main .journey-story-title { margin:8px 0 12px; font-size:clamp(28px,2.7vw,40px); }
#journey-main .journey-story-description { color:var(--journey-muted); font-size:14px; line-height:1.8; max-width:65ch; }
#journey-main .journey-story-caption { margin-top:11px; color:var(--journey-muted); font-size:10px; line-height:1.6; }
#journey-main .journey-story-actions { display:flex; flex-direction:row; flex-wrap:wrap; align-items:center; gap:22px; margin-top:20px; }
#journey-main .journey-button { width:auto; display:inline-flex; align-items:center; justify-content:center; gap:20px; min-height:46px; padding:12px 21px; font-size:12px; font-weight:600; border:1px solid transparent; border-radius:3px; background:var(--journey-green); color:#fff; }
#journey-main .journey-button:hover { filter:brightness(1.15); }
#journey-main .journey-text-link { width:auto; font-size:12px; line-height:1.7; text-decoration:underline; text-underline-offset:5px; padding:7px 0; }
#journey-main .journey-transcript { display:block; margin-top:22px; border-top:1px solid var(--journey-line); border-bottom:1px solid var(--journey-line); }
#journey-main .journey-transcript-heading { display:flex; justify-content:space-between; gap:16px; padding:13px 0; cursor:pointer; list-style:none; font-size:12px; font-weight:600; }
#journey-main .journey-transcript-heading::-webkit-details-marker { display:none; }
#journey-main .journey-transcript-heading::after { content:'+'; font-size:17px; line-height:1; }
#journey-main .journey-transcript[open] .journey-transcript-heading::after { content:'−'; }
#journey-main .journey-transcript-body { display:block; padding-bottom:14px; }
#journey-main .journey-transcript-row { display:flex; flex-direction:row; align-items:start; gap:17px; margin-top:13px; font-size:12px; line-height:1.7; }
#journey-main .journey-timecode { width:auto; color:var(--journey-muted); font-size:11px; font-variant-numeric:tabular-nums; flex:none; }
#journey-main .journey-sample-label { color:var(--journey-muted); font-size:10px; }
#journey-main .journey-chapter-intro { grid-column:1/-1; grid-row:2; display:block; padding-top:54px; scroll-margin-top:24px; }
#journey-main .journey-section-heading { display:flex; flex-direction:row; align-items:end; justify-content:space-between; gap:24px; }
#journey-main .journey-section-copy { width:auto; display:block; }
#journey-main .journey-collection-title { margin-top:8px; }
#journey-main .journey-collection-description { width:auto; font-size:11px; white-space:nowrap; color:var(--journey-muted); }
#journey-main .journey-demo-note { max-width:900px; color:var(--journey-muted); font-size:11px; margin:14px 0 26px; line-height:1.7; }
#journey-main .journey-chapter-menu { grid-column:1/-1; grid-row:3; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; padding:0; margin:0; border-top:1px solid var(--journey-line); border-left:1px solid var(--journey-line); background:none; }
#journey-main .journey-chapter-choice { width:100%; min-width:0; height:100%; text-align:left; padding:22px 18px; display:flex; flex-direction:row; gap:13px; align-items:start; cursor:pointer; border:0; border-right:1px solid var(--journey-line); border-bottom:1px solid var(--journey-line); background:none; color:var(--journey-ink); border-radius:0; }
#journey-main .journey-nav-number { width:auto; flex:none; font-size:12px; color:#a44e24; font-variant-numeric:tabular-nums; letter-spacing:-.03em; }
#journey-main .journey-nav-label { min-width:0; flex:1; display:block; }
#journey-main .journey-nav-town { display:block; font-size:14px; font-weight:600; line-height:1.4; }
#journey-main .journey-nav-title { display:block; font-size:11px; color:var(--journey-muted); margin-top:6px; }
#journey-main .journey-nav-arrow { width:auto; flex:none; }
#journey-main .journey-chapter-choice[aria-current=true] { background:#e4ebde; }
#journey-main .journey-chapter-choice:hover { background:#edf0e4; }
#journey-main .journey-data-bridge { display:grid; grid-template-columns:65px 1fr auto; align-items:center; gap:32px; padding:42px; margin-block:60px; background:#e7eddf; border-top:1px solid var(--journey-line); border-bottom:1px solid var(--journey-line); }
#journey-main .journey-bridge-symbol { width:auto; align-self:start; font-size:50px; line-height:1; color:#6e8166; }
#journey-main .journey-bridge-copy { display:block; }
#journey-main .journey-bridge-title { margin-top:10px; font-size:32px; }
#journey-main .journey-bridge-description { max-width:57ch; font-size:13px; line-height:1.8; margin-top:15px; color:var(--journey-muted); }
#journey-main .journey-bridge-actions { width:auto; display:block; }
#journey-main .journey-bridge-note { font-size:10px; color:var(--journey-muted); margin-top:14px; text-align:center; }
#journey-main .journey-footer { display:flex; flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; padding-bottom:32px; color:var(--journey-muted); font-size:10px; }
#journey-main .journey-footer > * { width:auto; }
#journey-main .journey-footer-brand { display:block; }
#journey-main .journey-footer-brand a { font-size:19px; font-weight:800; letter-spacing:-.04em; }
#journey-main .journey-footer-brand p { font-size:9px; }
#journey-main .journey-announcement, #journey-main .journey-skip:not(:focus) { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
#journey-main .journey-skip:focus { position:fixed; z-index:999999; top:10px; left:10px; background:var(--journey-paper); padding:10px; }
@media (min-width:1500px) { #journey-main .journey-map-panel .journey-route-map { max-width:460px; margin-inline:auto; } }
@media (max-width:1100px) {
  #journey-main .journey-width { width:calc(100% - 64px); }
  #journey-main .journey-header { padding:20px 32px; }
  #journey-main .journey-stories { column-gap:22px; grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr); }
  #journey-main .journey-map-panel { padding:19px 16px 15px; }
  #journey-main .journey-data-bridge { grid-template-columns:45px 1fr; padding:30px; gap:24px; }
  #journey-main .journey-bridge-actions { grid-column:2; justify-self:start; }
  #journey-main .journey-bridge-note { text-align:left; }
  #journey-main .journey-story-actions { gap:12px; }
  #journey-main .journey-story-actions .journey-text-link { font-size:11px; }
}
@media (max-width:760px) {
  #journey-main .journey-width { width:calc(100% - 36px); }
  #journey-main .journey-header { padding:17px 18px; gap:18px; flex-wrap:wrap; min-height:0; }
  #journey-main .journey-header-nav { width:100%; gap:24px; font-size:11px; }
  #journey-main .journey-intro { padding-block:32px 27px; display:block; }
  #journey-main .journey-page-title { font-size:49px; }
  #journey-main .journey-status { font-size:8px; }
  #journey-main .journey-intro-text { font-size:14px; }
  #journey-main .journey-follow { margin-top:20px; }
  #journey-main .journey-stories { display:grid; grid-template-columns:minmax(0,1fr); row-gap:24px; }
  #journey-main .journey-map-panel { grid-column:1; grid-row:1; width:100%; padding:19px 18px; }
  #journey-main .journey-map-panel .journey-route-map { max-width:365px; margin-inline:auto; }
  #journey-main .journey-story-panes { grid-column:1; grid-row:2; }
  #journey-main .journey-chapter-intro { grid-row:3; padding-top:12px; }
  #journey-main .journey-chapter-menu { grid-row:4; grid-template-columns:1fr; margin-top:-24px; }
  #journey-main .journey-story-copy { padding-top:18px; }
  #journey-main .journey-story-title { font-size:30px; }
  #journey-main .journey-story-description { font-size:13px; }
  body.aexj-page #journey-main .journey-frame-label { top:13px; left:15px; max-width:calc(100% - 30px); }
  #journey-main .journey-frame-bottom { bottom:14px; left:15px; right:15px; font-size:19px; }
  #journey-main .journey-stage-number { font-size:8px; }
  #journey-main .journey-section-heading { display:block; }
  #journey-main .journey-collection-description { margin-top:12px; white-space:normal; }
  #journey-main .journey-chapter-choice { padding:17px; }
  #journey-main .journey-nav-town { font-size:15px; }
  #journey-main .journey-data-bridge { display:block; padding:27px; margin-block:38px; }
  #journey-main .journey-bridge-symbol { margin-bottom:18px; font-size:40px; }
  #journey-main .journey-bridge-title { font-size:29px; }
  #journey-main .journey-bridge-actions { margin-top:25px; }
  #journey-main .journey-footer { align-items:start; font-size:9px; gap:18px; }
  #journey-main .journey-footer > p { max-width:120px; }
}
@media (prefers-reduced-motion:reduce) { #journey-main *, #journey-main *::before, #journey-main *::after { transition:none !important; scroll-behavior:auto !important; } }

/* The map fits its original projection; only its callouts are displaced. */
#journey-main .journey-route-map { min-height:320px; margin-block:16px 12px; }
#journey-main .journey-map-art { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; aspect-ratio:auto; }
#journey-main .journey-map-leaders { position:absolute; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; }
#journey-main .journey-map-leaders path { fill:none; stroke:#6f8b7b; stroke-width:1; stroke-opacity:.85; }
#journey-main .journey-map-leaders circle { fill:#285e50; stroke:#f9f8ee; stroke-width:1.5; }
#journey-main .journey-map-leaders circle.is-selected { fill:#c66a38; stroke-width:2; r:5; }
#journey-main .journey-map-pin { display:none; }
#journey-main.is-ready .journey-map-pin { display:grid; left:0; top:0; width:44px; height:44px; min-width:44px; min-height:44px; padding:0; border-radius:50%; }
#journey-main .journey-map-pin::before { inset:4px; }
#journey-main .journey-map-number { font-size:11px; font-weight:700; }
#journey-main .journey-map-town { position:absolute; top:44px; left:50%; transform:translateX(-50%); width:var(--label-width,100px); font-size:10px; line-height:1.2; font-weight:650; color:var(--journey-ink); text-align:center; text-shadow:-2px -2px 0 #f1f3e7,2px 2px 0 #f1f3e7,-2px 2px 0 #f1f3e7,2px -2px 0 #f1f3e7; overflow-wrap:anywhere; }
#journey-main .journey-map-selection { min-height:1.7em; text-align:center; font-size:12px; font-weight:650; margin-top:8px; }
#journey-main .journey-map-note { margin-top:8px; }
#journey-main .journey-map-caveat { font-size:10px; }
#journey-main .journey-location-choices { border:1px solid #adbea6; padding:14px; border-radius:4px; background:#f8f7ef; margin-block:16px; }
#journey-main .journey-location-choice { display:block; width:100%; text-align:left; border-bottom:1px solid var(--journey-line); padding:10px 5px; min-height:44px; font-size:13px; }
#journey-main .journey-location-choice[aria-pressed=true] { font-weight:700; color:var(--journey-green); }
#journey-main .journey-close-choices { min-height:44px; font-size:11px; text-decoration:underline; text-underline-offset:3px; }
#journey-main .journey-play { display:none; }
#journey-main.is-ready .journey-play { display:grid; place-items:center; position:absolute; z-index:2; top:50%; left:50%; transform:translate(-50%,-50%); width:64px; height:64px; border-radius:50%; border:1px solid #ffffffb3; background:#fcfbf1e8; color:#254d40; font-size:20px; padding-left:4px; box-shadow:0 4px 24px #142e2b44; }
#journey-main .journey-story-media iframe { width:100%; height:100%; border:0; position:absolute; inset:0; z-index:4; }
#journey-main .journey-story-media.is-playing > :is(.journey-cover,.journey-frame-label,.journey-frame-bottom,.journey-play) { visibility:hidden; }
#journey-main .journey-story-media.is-playing::after { display:none; }
#journey-main .journey-image-placeholder { width:100%; height:100%; background:linear-gradient(150deg,#64765c,#254b42); }
#journey-main button.journey-button { background:var(--journey-green); color:#fff; border:1px solid transparent; padding:12px 21px; }
#journey-main button.journey-button:disabled { opacity:.55; cursor:default; }
#journey-main .journey-story { scroll-margin-top:24px; }
#journey-main:not(.is-ready) .journey-story + .journey-story { margin-top:48px; }
#journey-main .journey-story-title { overflow-wrap:anywhere; }
#journey-main .journey-chapter-menu { list-style:none; }
#journey-main .journey-chapter-menu > li { list-style:none; margin:0; padding:0; min-width:0; }
#journey-main .journey-chapter-choice { min-height:112px; align-items:center; }
#journey-main .journey-nav-image { width:58px; height:58px; flex:0 0 58px; object-fit:cover; border-radius:3px; }
#journey-main .journey-nav-label { overflow-wrap:anywhere; }
#journey-main .journey-nav-title { line-height:1.5; }
#journey-main .journey-nav-theme { display:inline-block; max-width:100%; margin-top:8px; padding:2px 7px; border:1px solid #ccd7c4; border-radius:3px; color:#526b56; font-size:9px; font-weight:600; line-height:1.5; letter-spacing:.035em; }
#journey-main .journey-dashboard-action { min-width:0; }
#journey-main .journey-story-question { margin-bottom:7px; max-width:55ch; font-size:12px; line-height:1.6; color:var(--journey-muted); overflow-wrap:anywhere; }
#journey-main .journey-nav-arrow { font-size:15px; }
#journey-main .journey-empty { padding:30px; border:1px solid var(--journey-line); }
#journey-main .journey-preview-note { padding:10px 20px; text-align:center; background:#e8d599; color:#3e3b26; font-size:12px; font-weight:600; }
#journey-main .journey-noscript { padding-bottom:24px; font-size:13px; }
#journey-main .journey-transcript-row > :last-child { min-width:0; overflow-wrap:anywhere; }
#journey-main .journey-header-nav { flex-wrap:wrap; }
#journey-main .journey-header-nav a { min-height:44px; display:flex; align-items:center; }
#journey-main .journey-page-title, #journey-main .journey-intro-text, #journey-main .journey-bridge-title { overflow-wrap:anywhere; }
#journey-main .journey-footer a { min-height:44px; display:inline-flex; align-items:center; }
@media (max-width:1100px) {
  #journey-main .journey-chapter-menu { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #journey-main .journey-chapter-choice { padding:18px 14px; gap:10px; }
  #journey-main .journey-nav-image { width:48px; height:48px; flex-basis:48px; }
}
@media (max-width:760px) {
  #journey-main .journey-stories { row-gap:24px; }
  #journey-main .journey-map-panel .journey-route-map { max-width:none; }
  #journey-main .journey-map-pin::before { inset:4px; }
  #journey-main .journey-map-town { font-size:10px; }
  #journey-main .journey-chapter-menu { grid-template-columns:1fr; }
  #journey-main .journey-chapter-choice { min-height:100px; padding:16px; }
  #journey-main .journey-nav-image { width:55px; height:55px; flex-basis:55px; }
  #journey-main .journey-intro-copy { min-width:0; }
  #journey-main .journey-frame-bottom { font-size:16px; }
  #journey-main .journey-frame-bottom > :first-child { min-width:0; overflow-wrap:anywhere; }
  #journey-main .journey-stage-number { flex:none; }
  #journey-main .journey-play { width:52px; height:52px; }
  #journey-main .journey-section-heading { margin-bottom:24px; }
  #journey-main .journey-demo-note { margin-top:-12px; }
}
