.tracking-map{position:absolute;z-index:3;top:clamp(108px,12%,160px);right:4%;width:min(360px,68%);overflow:hidden;border:1px solid rgba(225,236,214,.4);border-radius:12px;background:rgba(12,20,15,.36);box-shadow:0 12px 32px #0003;pointer-events:none;color:#fff;text-shadow:0 1px 3px #000}
.tracking-map-heading{display:flex;align-items:center;gap:8px;padding:15px 16px 12px;font-size:10px;font-weight:600;letter-spacing:.12em;border-bottom:1px solid #ffffff18}
.tracking-signal{width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px #f5c84055}
.tracking-map svg{display:block;width:100%;height:auto;overflow:hidden}
.map-terrain{fill:#798768;fill-opacity:.16}
.map-contours{fill:none;stroke:#a4b693;stroke-width:1;opacity:.2}
.map-river{fill:none;stroke:#658f8c;stroke-width:8;opacity:.35}
.map-secondary-road{fill:none;stroke:#adb59f;stroke-width:2;opacity:.35}
.map-highway-edge{fill:none;stroke:#aab1a3;stroke-width:15;stroke-linecap:round;opacity:.5}
.map-highway{fill:none;stroke:#182019;stroke-width:11;stroke-linecap:round}
.map-route-base,.map-route-progress{fill:none;stroke:var(--gold);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.map-route-base{opacity:.22;stroke-dasharray:3 6}
.map-route-progress{stroke-dasharray:1;stroke-dashoffset:.55}
.map-origin{fill:var(--gold);stroke:#182016;stroke-width:3}
.map-destination{fill:#182016;stroke:var(--gold);stroke-width:2}
.map-destination-core{fill:var(--gold)}
.map-labels{fill:#e4ebde;font:600 9px Barlow,Arial,sans-serif;letter-spacing:1px}
.map-tracker{offset-path:path('M25 210C58 204 55 160 95 158S137 186 166 167S162 112 207 111S259 113 275 67S332 30 373 28');offset-distance:45%;offset-rotate:0deg}
.map-tracker-halo{fill:#f5c840;opacity:.15}
.map-tracker-body{fill:var(--gold);stroke:#172015;stroke-width:2}
.map-tracker-core{fill:#172015}
.tracking-map-footer{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:12px 14px;border-top:1px solid #ffffff18;font-size:11px}
.tracking-map-footer>span{color:#f5c840}.tracking-map-footer small{font-size:9px;color:#d0d7ca}
@media(prefers-reduced-motion:no-preference){.map-tracker{animation:mapTravel 12s linear infinite;animation-play-state:paused}.map-route-progress{animation:mapDraw 12s linear infinite;animation-play-state:paused}.map-tracker-halo{animation:mapPing 2s ease-out infinite;animation-play-state:paused}.hero.is-visible .map-tracker,.hero.is-visible .map-route-progress,.hero.is-visible .map-tracker-halo{animation-play-state:running}}
@keyframes mapTravel{0%,8%{offset-distance:0%}88%,100%{offset-distance:100%}}
@keyframes mapDraw{0%,8%{stroke-dashoffset:1}88%,100%{stroke-dashoffset:0}}
@keyframes mapPing{0%{r:8px;opacity:.4}100%{r:20px;opacity:0}}
@media(max-width:980px){
  .hero-photo{height:auto;background:linear-gradient(145deg,#192419,#080b08)}
  .hero-photo>img{height:56svh}
  .hero-photo:after{bottom:auto;height:56svh;pointer-events:none}
  .hero-photo figcaption{top:calc(56svh - 28px);bottom:auto}
  .tracking-map{position:relative;top:auto;right:auto;width:min(280px,55%);margin:20px auto 64px}
}
@media(max-width:640px){
  .manifest-copy,.portrait-photo{min-width:0}
  .manifest h2{overflow-wrap:anywhere}
  .hero-photo{height:auto}
  .hero-photo>img,.hero-photo:after{height:52svh}
  .hero-photo figcaption{top:calc(52svh - 28px)}
  .tracking-map{top:auto;right:auto;width:min(200px,55%);border-radius:9px;margin:16px auto 60px}
  .tracking-map-heading{gap:6px;font-size:8px;letter-spacing:.04em;line-height:1.35;padding:8px}
  .tracking-signal{flex-shrink:0;width:5px;height:5px}
  .tracking-map-footer{align-items:flex-start;flex-direction:column;gap:2px;padding:6px 8px;font-size:9px;line-height:1.3}
  .tracking-map-footer small{font-size:8px}
}
/* Subtle depth on the hero image, without changing its layout. */
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .hero-photo>img{scale:1;translate:0 0;transition:scale 1.5s cubic-bezier(.2,.65,.3,1),translate 1.5s cubic-bezier(.2,.65,.3,1),filter 1.2s ease}
  .hero-photo:hover>img{scale:1.045;translate:-.5% -.35%;filter:brightness(1.055)}
  .hero-photo .tracking-map{transition:transform 1.2s cubic-bezier(.2,.65,.3,1),box-shadow 1.2s ease,border-color 1.2s ease}
  .hero-photo:hover .tracking-map{transform:translateY(-6px);box-shadow:0 24px 56px #0007;border-color:rgba(203,218,185,.6)}
}
.hero h1.hero-signature{max-width:none;font-size:clamp(2.2rem,7.1vw,7.6rem);font-weight:700;line-height:.98;letter-spacing:-.045em;text-wrap:initial}
.hero h1.hero-signature em{font-weight:700}
.hero-copy{justify-content:center}
.hero-tag{margin-bottom:36px}
.hero-bottom{margin-top:40px;display:flex;flex-direction:column;align-items:flex-start;gap:28px}
.hero-bottom p{max-width:44ch;font-size:1.1rem}
.hero-bottom .arrow-link{width:min(100%,320px)}
@media(max-width:980px){.hero h1.hero-signature{font-size:clamp(2.2rem,9vw,6rem)}.hero-copy{min-height:70svh}}
@media(max-width:640px){.hero h1.hero-signature{font-size:clamp(1.9rem,10.4vw,4rem)}.hero-copy{min-height:auto;padding-top:124px;padding-bottom:72px}.hero-tag{margin-bottom:28px}.hero-bottom{margin-top:28px;gap:24px}}
