/* SVG Line Draw */
.ld-p{fill:none;stroke:var(--cream);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 1;stroke-dashoffset:0}
.ld-pano{max-width:1200px;margin:0 auto clamp(4rem,10vw,8rem)}
.ld-pano-svg{display:block;width:100%;height:auto;overflow:visible}
.ld-pano .ld-p{stroke-width:1.8px;vector-effect:non-scaling-stroke}
.ld-pano .ld-p:nth-of-type(1){stroke-width:2.2px}
.ld-pano .ld-p:nth-of-type(2),.ld-pano .ld-p:nth-of-type(5),.ld-pano .ld-p:nth-of-type(7){stroke:var(--muted)}
.ld-pano .ld-p:nth-of-type(3),.ld-pano .ld-p:nth-of-type(4),.ld-pano .ld-p:nth-of-type(6){stroke:var(--gold)}
.ld-pano-cap{text-align:center;margin:1.4rem 0 0;font-family:var(--serif);font-style:italic;font-size:clamp(1.1rem,1.6vw,1.35rem);color:var(--muted)}
/* route */
.ld-route{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);align-items:center;max-width:1080px;margin:0 auto clamp(4rem,10vw,8rem)}
.ld-route-copy{position:sticky;top:40vh;align-self:start;margin-top:12vh}
.ld-h3{font-size:clamp(2.2rem,4vw,3.6rem);line-height:1;margin-bottom:1rem}
.ld-route-copy p:not(.eyebrow){color:var(--muted);max-width:26rem}
.ld-route-art{max-width:480px;width:100%;justify-self:center}
.ld-route-svg{display:block;width:100%;height:auto;overflow:visible}
.ld-guide{fill:none;stroke:rgba(var(--ink-rgb),.14);stroke-width:2;stroke-dasharray:3 9;stroke-linecap:round}
.ld-route .ld-p{stroke:var(--gold);stroke-width:3}
.ld-stop circle{fill:var(--bg);stroke:rgba(var(--ink-rgb),.3);stroke-width:2;transition:fill .4s,stroke .4s}
.ld-stop text{font-family:var(--sans);font-size:23px;fill:var(--cream);opacity:.25;transition:opacity .5s}
.ld-stop .ld-time{font-family:var(--serif);font-size:28px;fill:var(--gold2)}
.ld-stop.is-on circle{fill:var(--gold);stroke:var(--gold)}
.ld-stop.is-on text{opacity:1}
.ld-runner{fill:var(--cream);stroke:var(--gold);stroke-width:3;opacity:0;transition:opacity .3s}
[data-line-draw].is-armed .ld-runner{opacity:1}
/* icons */
.ld-icons{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(.7rem,1.5vw,1.2rem);max-width:1080px;margin:0 auto}
.ld-icon{margin:0;padding:clamp(1.2rem,2.4vw,2rem) .8rem 1.1rem;border-radius:16px;border:1px solid rgba(var(--ink-rgb),.1);text-align:center;background:rgba(var(--ink-rgb),.025)}
.ld-icon svg{width:clamp(52px,5vw,72px);height:auto;overflow:visible}
.ld-icon .ld-p{stroke:var(--gold);stroke-width:1.5}
.ld-icon figcaption{margin-top:.9rem;font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
.ld-icons-wrap.is-armed .ld-icon .ld-p{stroke-dashoffset:1;transition:stroke-dashoffset 1.8s cubic-bezier(.6,.1,.3,1) calc(var(--k,0) * .14s)}
.ld-icons-wrap.is-armed.is-drawn .ld-icon .ld-p{stroke-dashoffset:0}
.ld-actions{text-align:center;margin:2rem 0 0}
.theme-light .ld-icon{background:#fff;box-shadow:0 18px 40px -32px rgba(var(--shadow-rgb),.4)}
.theme-light .ld-stop circle{fill:#fff}
@media (max-width:860px){
  .ld-route{grid-template-columns:1fr;gap:1.5rem}
  .ld-route-copy{position:static;margin-top:0;text-align:center}
  .ld-route-copy p:not(.eyebrow){margin-left:auto;margin-right:auto}
  .ld-route-art{max-width:400px}
  .ld-icons{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:520px){.ld-stop text{font-size:26px}.ld-stop .ld-time{font-size:30px}.ld-pano{margin-left:-.6rem;margin-right:-.6rem}}
