.voyages { --voyage-colour:var(--gold);max-width:1530px;margin:120px auto 100px;padding:0 4%;scroll-margin-top:30px; }
.voyage-intro { display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:45px; }
.voyage-intro h2 { font-size:clamp(54px,5.7vw,88px);line-height:.95;letter-spacing:-2px;max-width:650px; }
.voyage-intro>div { max-width:330px;padding-bottom:7px; }
.voyage-intro p { font-size:12px;color:var(--mist);line-height:1.9; }
#voyage-library-open { font-size:11px;color:var(--gold);padding:18px 0 0; }
.voyage-library { display:flex;overflow-x:auto;overscroll-behavior-inline:contain;gap:0;border-top:1px solid var(--line);scrollbar-width:thin;scrollbar-color:#48615d transparent; }
.voyage-library button { position:relative;display:flex;flex-direction:column;align-items:start;min-width:184px;flex:1 0 184px;max-width:240px;padding:22px 21px 24px;text-align:left;color:var(--mist);border-bottom:1px solid var(--line);transition:background .4s,color .4s; }
.voyage-library small { font:9px var(--sans);display:block;margin-bottom:8px; }
.voyage-library span { font-family:var(--serif);font-size:25px;line-height:1.05;display:block;min-height:54px; }
.voyage-library button[aria-pressed=true] { color:var(--bone);background:#b9ccb009; }
.voyage-library button[aria-pressed=true]:after { content:'';position:absolute;left:20px;bottom:0;right:20px;height:2px;background:var(--route-colour); }
.voyage-library i { position:absolute;left:21px;right:21px;bottom:13px;height:1px;background:linear-gradient(90deg,var(--route-colour) var(--visited,0%),transparent var(--visited,0%));opacity:.65; }
.voyage-library .is-complete small:after { content:' · explored';color:var(--route-colour); }
.voyage-stage { position:relative;border:1px solid var(--line);border-top:0;background:radial-gradient(ellipse at 25% 40%,#173b3f70,transparent 65%),#081e26;isolation:isolate; }
.voyage-heading { padding:34px 3.5% 0;display:flex;gap:40px;justify-content:space-between;align-items:center; }
#voyage-region { font-size:9px;color:var(--voyage-colour);display:block;margin-bottom:7px; }
#voyage-name { font-size:36px;line-height:1.05;outline-offset:8px; }
#voyage-description { max-width:370px;font-size:11px;color:var(--mist);line-height:1.8; }
.voyage-main { display:grid;grid-template-columns:minmax(0,1.38fr) minmax(0,1fr);gap:1%;align-items:center;min-height:590px;padding:30px 3.5% 20px 0; }
.voyage-geography { position:relative;min-width:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center; }
#voyage-map { width:100%;height:auto;aspect-ratio:3/2;overflow:hidden; }
.voyage-map-legend { display:flex;gap:19px;justify-content:center;flex-wrap:wrap;padding:10px 20px; }
.voyage-map-legend span { display:flex;gap:7px;align-items:center;font-size:8px;color:#abc0bd; }
.voyage-map-legend i { width:24px;height:0;border-top:1px solid var(--river); }
.voyage-map-legend .contact i { border-top:1px dashed var(--gold); }
.voyage-map-legend .comparison i { border-top:2px dotted #a9b4ce; }
.voyage-geography>p { text-align:center;font-size:8px;color:#91a8a8;padding:7px 25px; }
.voyage-story { position:relative;min-width:0;padding:35px 0 30px 5%; }
.voyage-story-top { display:flex;flex-wrap:wrap;gap:13px;align-items:center;margin-bottom:16px; }
#voyage-period { font-size:10px;color:var(--voyage-colour); }
#voyage-evidence { font-size:8px;color:#b2c4bf;border:1px solid var(--line);padding:5px 7px;border-radius:2px; }
#voyage-scene-number { position:absolute;right:0;top:-1px;z-index:-1;font:115px/.9 var(--serif);color:#a3c5b509;pointer-events:none; }
#voyage-step-title { font-size:clamp(35px,3.6vw,54px);line-height:1.02;letter-spacing:-.8px;max-width:480px;margin:0 0 22px; }
#voyage-step-text { font-size:12px;line-height:1.95;color:#bdcecb;max-width:490px; }
#voyage-caveat { font-size:10px;line-height:1.8;color:#a5b9b5;margin:20px 0 15px;border-left:1px solid var(--voyage-colour);padding-left:13px; }
#voyage-sources { font-size:10px;color:var(--voyage-colour);padding:5px 0;border-bottom:1px solid #d5b77544; }
.voyage-forms { display:flex;flex-wrap:wrap;gap:25px;margin:23px 0 10px; }
.voyage-forms>div { flex:1;min-width:90px; }
.voyage-forms span,.voyage-forms small { display:block;font-size:8px;color:var(--mist); }
.voyage-forms strong { font:38px/1.3 var(--serif);color:var(--voyage-colour);display:block;overflow-wrap:anywhere; }
.voyage-voices-wrap { margin:20px 0 0; }
.voyage-voices-wrap summary { font-size:9px;color:var(--mist);cursor:pointer;padding:7px 0; }
.voyage-voices { display:flex;gap:7px 13px;flex-wrap:wrap;margin:7px 0 0; }
.voyage-voices button { font-size:10px;color:var(--bone);padding:4px 0;border-bottom:1px solid var(--line);text-align:left; }
.voyage-question { border-top:1px solid var(--line);margin-top:22px;padding-top:17px; }
.voyage-question h4 { font:20px/1.25 var(--serif);margin:0 0 12px;color:var(--bone); }
.voyage-answers { display:flex;gap:7px;flex-wrap:wrap; }
.voyage-answers button { border:1px solid var(--line);padding:8px 10px;font-size:10px;text-align:left; }
.voyage-answers button[data-correct=true] { background:#79b6ac16;border-color:var(--river); }
.voyage-answers button[data-correct=false] { border-color:#c5a98c;color:#d9c0a2; }
.voyage-question p { font-size:10px;color:var(--river);line-height:1.7;margin-top:10px; }
.voyage-timeline { border-top:1px solid var(--line);padding:24px 3.5% 18px; }
.voyage-transport { display:flex;justify-content:space-between;gap:25px;align-items:center;margin-bottom:24px; }
.voyage-transport>div { display:flex;align-items:center;gap:20px; }
.voyage-transport button { font-size:11px;color:var(--bone);padding:9px 0;display:flex;gap:14px;align-items:center; }
.voyage-transport button:disabled { opacity:.3; }
.voyage-transport button>span:first-child:not(#voyage-next-label) { font-size:20px; }
#voyage-play { font-size:10px;color:var(--voyage-colour);border:1px solid var(--line);padding:11px 16px;min-width:165px;justify-content:center; }
#voyage-play[aria-pressed=true] { background:#d5b7750a; }
#voyage-position { font-size:9px;color:var(--mist); }
#voyage-slider { appearance:none;width:100%;height:2px;background:#75988e55;margin:7px 0 17px;accent-color:var(--voyage-colour);cursor:pointer; }
#voyage-slider::-webkit-slider-thumb { appearance:none;width:12px;height:12px;border:3px solid var(--abyss);outline:1px solid var(--voyage-colour);background:var(--voyage-colour);border-radius:50%; }
#voyage-slider::-moz-range-thumb { width:9px;height:9px;border:2px solid var(--abyss);background:var(--voyage-colour);border-radius:50%; }
.voyage-steps { display:flex;gap:20px;justify-content:space-between; }
.voyage-steps button { flex:1;text-align:left;color:#8ca8a4;min-width:0;padding:5px 0; }
.voyage-steps button>span:first-child { font-size:8px;display:block;margin-bottom:7px; }
.voyage-steps button>span:last-child { font-size:9px;line-height:1.6;display:block; }
.voyage-steps button.is-current { color:var(--voyage-colour); }
.voyage-timeline>p { font-size:8px;color:#8ca5a3;margin:19px 0 0; }
.voyage-footer { display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:16px; }
.voyage-footer p,.voyage-footer button { font-size:9px;color:var(--mist); }
.voyage-footer>div { display:flex;gap:25px; }
.voyage-footer button { padding:7px 0; }
.voyage-status { padding:25px 3.5%;font-size:12px;color:var(--gold); }
.voyages [hidden] { display:none!important; }
.voyage-directory { margin-top:20px; }
.voyage-directory button { width:100%;display:block;text-align:left;padding:22px 0;border-bottom:1px solid var(--line); }
.voyage-directory small { color:var(--river);font-size:9px; }
.voyage-directory span { display:block;font:32px/1.2 var(--serif);margin:8px 0; }
.voyage-directory p { font:11px/1.8 var(--sans);color:var(--mist);margin:0; }
.voyage-link-input { display:block;width:100%;padding:12px;background:var(--abyss);border:1px solid var(--line);font:12px var(--sans);color:var(--bone);margin:14px 0; }
.atlas-voyages-link { display:inline-flex;font-size:10px;color:var(--river);margin-top:15px;pointer-events:auto; }
@media(max-width:1050px) {
  .voyages { padding:0 3%; }
  .voyage-main { grid-template-columns:minmax(0,1fr);padding:20px 3.5%; }
  .voyage-geography { width:100%;max-width:780px;margin:0 auto; }
  #voyage-map { min-height:420px;max-height:500px; }
  .voyage-story { max-width:650px;padding:35px 4% 20px;margin:auto; }
  #voyage-name { font-size:31px; }
  #voyage-description { max-width:300px;font-size:10px; }
  #voyage-step-title { font-size:36px; }
  #voyage-step-text { font-size:11px; }
  .voyage-steps { gap:12px; }
}
@media(max-width:700px) {
  .voyages { margin:75px 0 65px;padding:0;scroll-margin-top:12px; }
  .voyage-intro { display:block;padding:0 7%;margin-bottom:30px; }
  .voyage-intro h2 { font-size:52px;letter-spacing:-1.5px; }
  .voyage-intro>div { margin-top:22px;max-width:300px; }
  .voyage-intro p { font-size:11px; }
  .voyage-library { padding:0 15px; }
  .voyage-library button { flex-basis:165px;min-width:165px;padding:20px 14px; }
  .voyage-library span { font-size:25px;min-height:54px; }
  .voyage-library small { font-size:8px; }
  .voyage-stage { border-left:0;border-right:0; }
  .voyage-heading { padding:25px 7% 0;display:block; }
  #voyage-name { font-size:34px; }
  #voyage-description { margin-top:11px;max-width:none;font-size:10px; }
  .voyage-main { display:flex;flex-direction:column;padding:0;gap:0;min-height:0; }
  .voyage-geography { width:100%;margin-top:15px; }
  #voyage-map { min-height:420px; }
  .voyage-geography>p { font-size:7px;padding:4px 20px; }
  .voyage-map-legend { padding:2px 20px;gap:18px; }
  .voyage-map-legend span { font-size:7px; }
  .voyage-story { width:100%;padding:30px 7% 25px; }
  #voyage-scene-number { right:8%;top:16px;font-size:105px; }
  #voyage-step-title { font-size:42px;max-width:340px;margin-bottom:17px; }
  #voyage-step-text { font-size:12px;line-height:1.85; }
  #voyage-caveat { font-size:10px;margin:17px 0 13px; }
  .voyage-forms { gap:18px; }
  .voyage-forms strong { font-size:34px; }
  .voyage-timeline { padding:18px 7%; }
  .voyage-transport { flex-wrap:wrap;gap:8px;margin-bottom:20px; }
  .voyage-transport>div { width:100%;justify-content:space-between;gap:15px; }
  .voyage-transport button { font-size:10px; }
  #voyage-play { width:100%;min-height:38px;margin-top:8px; }
  .voyage-steps { gap:8px; }
  .voyage-steps button>span:first-child { font-size:9px;margin:0; }
  .voyage-steps button>span:last-child { display:none; }
  .voyage-footer { padding:12px 7% 0;align-items:start; }
  .voyage-footer p { font-size:8px;max-width:150px; }
  .voyage-footer>div { gap:15px; }
  .voyage-footer button { font-size:8px;white-space:nowrap; }
  .voyage-directory span { font-size:28px; }
}
@media(prefers-reduced-motion:reduce) { .voyage-library button { transition:none; } }
