.hero.has-journey-atlas{
  min-height:780px;
  height:100svh;
  padding:0;
  background:#080e1b;
}
.has-journey-atlas .hero-math-canvas{
  z-index:0;
  width:100%;
  max-width:none;
  right:0;
  opacity:.42;
  filter:saturate(.86) contrast(1.02);
  -webkit-mask-image:none;
  mask-image:none;
}
.has-journey-atlas::before{
  background:radial-gradient(ellipse at 69% 38%,rgba(64,112,145,.15),transparent 48%),radial-gradient(ellipse at 88% 80%,rgba(164,112,77,.08),transparent 38%);
  animation:none;
}
.has-journey-atlas::after{
  inset:0;
  background:radial-gradient(circle,rgba(191,205,220,.23) .7px,transparent 1px) 17px 25px/79px 83px;
  opacity:.45;
  animation:none;
}
.has-journey-atlas .hero-overlay{display:none}
.has-journey-atlas .hero-bib{display:none}
.has-journey-atlas .hero-grid{
  position:relative;
  z-index:3;
  max-width:none;
  padding:142px 5vw 100px;
  margin:0;
  pointer-events:none;
}
.has-journey-atlas .hero-left{position:relative}
.has-journey-atlas .hero-left{width:min(34vw,410px);pointer-events:auto}
.has-journey-atlas .hero-badge{font-size:10px;padding:8px 11px;letter-spacing:.04em;max-width:100%;margin-bottom:0}
.has-journey-atlas .hero-name{margin:26px 0 12px;font-size:clamp(54px,5.1vw,76px);line-height:1.12}
.has-journey-atlas .hero-name-en{font-size:clamp(20px,2.1vw,30px);margin-bottom:32px}
.has-journey-atlas .hero-role{font-size:16px;min-height:52px;margin-bottom:12px}
.has-journey-atlas .hero-desc{font-size:14px;max-width:340px;line-height:1.95;margin-bottom:28px}
.has-journey-atlas .hero-actions .btn-gold{padding:13px 26px;font-size:13px}
.journey-atlas{
  position:absolute;
  z-index:2;
  inset:95px 0 22px 36%;
  color:#e1d8c7;
  isolation:isolate;
}
.journey-viewport{
  position:absolute;
  inset:0 0 93px;
  overflow:hidden;
  cursor:grab;
  touch-action:pan-y;
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 96%,transparent),linear-gradient(180deg,transparent,#000 8%,#000 91%,transparent);
  mask-composite:intersect;
}
.journey-viewport.is-dragging{cursor:grabbing}
.journey-world{
  position:absolute;
  width:2080px;
  height:1680px;
  transform-origin:0 0;
  will-change:transform;
}
.journey-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.journey-spine{fill:none;stroke:#bdab8e;stroke-width:1;opacity:.23}
.journey-spine.is-echo{stroke-width:.6;opacity:.1}
.journey-current{fill:none;stroke:#d9b87c;stroke-width:1.5;stroke-dasharray:5 145;opacity:.45;animation:journeyStream 16s linear infinite}
.journey-branch{fill:none;stroke:var(--landmark-color);stroke-width:.8;stroke-dasharray:2 6;opacity:.27}
.journey-junction{fill:#101c2a;stroke:var(--landmark-color);stroke-width:1;opacity:.65}
.journey-era{
  position:absolute;
  color:rgba(201,186,158,.24);
  font-family:var(--fh);
  font-size:13px;
  letter-spacing:.3em;
  transform:rotate(-45deg);
  transform-origin:left center;
  pointer-events:none;
}
.journey-landmark{
  position:absolute;
  display:flex;
  flex-direction:column;
  align-items:center;
  width:234px;
  min-height:192px;
  padding:8px 12px 16px;
  transform:translate(-50%,-50%);
  text-decoration:none;
  text-align:center;
  color:var(--landmark-color);
  outline:none;
  -webkit-tap-highlight-color:transparent;
}
.journey-landmark::before{
  content:'';
  position:absolute;
  z-index:-1;
  inset:-10px;
  border-radius:50%;
  background:radial-gradient(ellipse,color-mix(in srgb,var(--landmark-color) 9%,transparent),transparent 69%);
  opacity:0;
  transition:opacity .4s;
}
.journey-landmark:hover::before,.journey-landmark:focus-visible::before{opacity:1}
.journey-landmark:focus-visible{outline:1px solid var(--landmark-color);outline-offset:5px;border-radius:18px}
.journey-art{
  display:block;
  width:130px;
  height:108px;
  margin-bottom:12px;
  opacity:.75;
  filter:drop-shadow(0 5px 17px color-mix(in srgb,var(--landmark-color) 14%,transparent));
  animation:journeyFloat var(--float-duration,8s) var(--float-delay,0s) ease-in-out infinite;
  transition:opacity .3s,filter .3s;
}
.journey-art svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.journey-art .art-fill{fill:currentColor;fill-opacity:.09}
.journey-art .art-faint{opacity:.32}
.journey-art .art-solid{fill:currentColor;stroke:none}
.journey-landmark:hover .journey-art,.journey-landmark:focus-visible .journey-art{opacity:1;filter:drop-shadow(0 0 13px color-mix(in srgb,var(--landmark-color) 28%,transparent))}
.journey-landmark strong{font-family:var(--fh);font-size:20px;font-weight:500;line-height:1.4;letter-spacing:.025em;color:#dcd9d3;transition:color .3s}
.journey-landmark small{display:block;margin-top:7px;font-size:14px;font-weight:400;line-height:1.65;letter-spacing:.025em;color:#93a0af}
.journey-landmark:hover strong,.journey-landmark:focus-visible strong{color:var(--landmark-color)}
.journey-landmark:hover small,.journey-landmark:focus-visible small{color:#b3bdc8}
.journey-landmark .journey-arrow{position:absolute;right:8px;top:58px;width:17px;height:17px;opacity:0;transform:translateX(-5px);transition:opacity .25s,transform .25s}
.journey-landmark:hover .journey-arrow,.journey-landmark:focus-visible .journey-arrow{opacity:1;transform:none}
.journey-art .art-breathe{animation:journeyBreathe 5s var(--float-delay) ease-in-out infinite}
.journey-art .art-turn{transform-origin:60px 47px;animation:journeyTurn 32s linear infinite}
.journey-art .art-trace{stroke-dasharray:8 16;animation:journeyTrace 6s linear infinite}
.journey-art .art-candle{transform-box:fill-box;transform-origin:center;animation:journeyCandle 5s var(--candle-delay,0s) ease-in-out infinite}
.journey-art .art-wave{transform-origin:center;transform-box:fill-box;animation:journeyWave 3s var(--candle-delay,0s) ease-in-out infinite}
.journey-art .art-pen{transform-origin:60px 47px;animation:journeyNeedle 9s ease-in-out infinite}
.journey-art .art-page{transform-origin:60px 50px;animation:journeyPage 7s ease-in-out infinite}
.journey-footer{position:absolute;left:12%;right:7%;bottom:5px;display:grid;gap:19px}
.journey-chapters{display:flex;justify-content:space-between;gap:8px;border-top:1px solid rgba(182,168,144,.16);padding-top:16px}
.journey-chapters button{
  position:relative;
  display:flex;
  align-items:center;
  gap:9px;
  border:0;
  padding:4px 0;
  background:none;
  color:#7f8a97;
  font-family:var(--fb);
  font-size:11px;
  letter-spacing:.12em;
  cursor:pointer;
  transition:color .25s;
}
.journey-chapters button::before{content:'';width:4px;height:4px;border:1px solid currentColor;border-radius:50%;transition:background .25s,box-shadow .25s}
.journey-chapters button[aria-pressed="true"]{color:#d2b38e}
.journey-chapters button[aria-pressed="true"]::before{background:#d2b38e;box-shadow:0 0 10px rgba(210,179,142,.4)}
.journey-chapters button:hover{color:#e7dac5}
.journey-chapters button:focus-visible{outline:1px solid #d2b38e;outline-offset:5px}
.journey-hint{margin:0;color:#737f8d;font-size:10px;letter-spacing:.1em;text-align:center;line-height:1.7}
.journey-stops{display:none}
.journey-atlas.is-paused .journey-art,.journey-atlas.is-paused .journey-art *,.journey-atlas.is-paused .journey-current{animation-play-state:paused}
@keyframes journeyFloat{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-6px) rotate(1deg)}}
@keyframes journeyStream{to{stroke-dashoffset:-300}}
@keyframes journeyTrace{to{stroke-dashoffset:-48}}
@keyframes journeyBreathe{0%,100%{opacity:.4}50%{opacity:1}}
@keyframes journeyTurn{to{transform:rotate(360deg)}}
@keyframes journeyCandle{0%,100%{transform:scaleY(.9)}50%{transform:scaleY(1.1)}}
@keyframes journeyWave{0%,100%{transform:scaleY(.55)}50%{transform:scaleY(1)}}
@keyframes journeyNeedle{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}
@keyframes journeyPage{0%,100%{transform:skewY(0)}50%{transform:skewY(-4deg)}}
@media(min-width:1700px){
  .has-journey-atlas .hero-grid{padding-left:max(6vw,calc((100vw - 1500px)/2))}
  .journey-atlas{right:3%;left:37%}
}
@media(max-width:1100px) and (min-width:761px){
  .has-journey-atlas .hero-grid{padding-left:4vw}
  .has-journey-atlas .hero-left{width:32vw}
  .has-journey-atlas .hero-badge{font-size:8px;letter-spacing:0}
  .has-journey-atlas .hero-name{font-size:54px}
  .has-journey-atlas .hero-name-en{font-size:21px}
  .has-journey-atlas .hero-role{font-size:14px}
  .has-journey-atlas .hero-desc{font-size:13px}
  .journey-atlas{left:35%}
}
@media(max-width:760px){
  .hero.has-journey-atlas{display:block;height:auto;min-height:0}
  .has-journey-atlas .hero-grid{display:block;padding:116px 26px 0}
  .has-journey-atlas .hero-math-canvas{width:100%;opacity:.3;-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 68%,transparent 100%);mask-image:linear-gradient(180deg,#000 0%,#000 68%,transparent 100%)}
  .has-journey-atlas .hero-left{width:100%;max-width:470px;margin-inline:auto}
  .has-journey-atlas .hero-badge{font-size:9px}
  .has-journey-atlas .hero-name{font-size:50px;margin:22px 0 8px}
  .has-journey-atlas .hero-name-en{font-size:23px;margin-bottom:24px}
  .has-journey-atlas .hero-role{font-size:14px;min-height:25px;margin-bottom:11px}
  .has-journey-atlas .hero-desc{max-width:420px;font-size:13px;line-height:1.8;margin-bottom:21px}
  .has-journey-atlas .hero-actions{display:flex}
  .has-journey-atlas .hero-actions .btn-gold{padding:10px 20px}
  .journey-atlas{position:relative;inset:auto;height:550px;margin-top:12px}
  .journey-viewport{inset:0 0 144px;mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent),linear-gradient(180deg,transparent,#000 6%,#000 92%,transparent)}
  .journey-footer{left:26px;right:26px;bottom:26px;gap:13px}
  .journey-chapters button{font-size:10px;letter-spacing:.02em;gap:6px}
  .journey-hint{font-size:9px;letter-spacing:.015em}
  .journey-stops{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#abb7c3}
  .journey-stops span{font-size:11px;text-align:center;line-height:1.4}
  .journey-stops button{display:grid;place-items:center;width:38px;height:34px;border:1px solid rgba(182,168,144,.22);border-radius:50%;background:transparent;color:#c7b08b;cursor:pointer}
  .journey-stops svg{width:18px;height:18px}
  .journey-stops button:focus-visible{outline:1px solid #c7b08b;outline-offset:3px}
}
@media(prefers-reduced-motion:reduce){
  .journey-art,.journey-art *,.journey-current{animation:none!important}
  .journey-landmark *,.journey-landmark::before{transition:none!important}
}
