.trail{position:relative;display:grid;grid-template-columns:minmax(0,1fr);background:var(--paving)}
.trail__frame{grid-column:1;grid-row:1}
.trail__index{grid-column:1;grid-row:2}
.trail__frame{position:relative}
.trail__map{position:relative;width:100%}
.trail__plate{width:100%;height:auto}
.trail__markers li{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);z-index:2}
.marker{display:block;width:46px;height:46px;border-radius:50%;border:3px solid transparent;transition:border-color .2s ease,box-shadow .3s var(--ease-out),transform .3s var(--ease-out)}
.marker--dining{width:76px;height:76px}
.marker:hover{border-color:var(--gold);transform:scale(1.06)}
.marker[aria-current="true"]{border-color:var(--gold);box-shadow:0 0 0 4px rgba(250,249,245,.9),0 10px 24px -8px rgba(10,24,18,.6)}
.marker:focus-visible{outline:3px solid var(--paving);outline-offset:3px}

.trail__cards{position:absolute;z-index:4;right:clamp(1rem,2vw,2rem);bottom:clamp(1rem,2vw,2rem);width:min(34rem,36%)}
.trail .station{grid-template-columns:minmax(0,.85fr) minmax(0,1fr);box-shadow:0 26px 50px -20px rgba(10,24,18,.7)}
.trail .station__photo img{aspect-ratio:auto;height:100%;min-height:100%}
.trail .station__board{gap:.65rem;padding:1.3rem 1.4rem 1.35rem}
.trail .station__name{font-size:1.15rem}
.trail .station__specs{padding:.7rem 0;gap:.5rem 1.1rem}
.trail .station__specs dd{font-size:.9rem}
.trail .station__fare strong{font-size:1.45rem}
.trail .station__specs{display:none}
.trail .station__copy{display:none}
.trail .station__actions{padding-top:.25rem;gap:.6rem 1.2rem}
.trail .timetable th,.trail .timetable td{padding:.4rem 0;font-size:.85rem}
.trail .station--interchange .station__copy{display:none}

.signpost{grid-column:1;grid-row:1;align-self:end;justify-self:start;z-index:3;width:min(34rem,40vw);display:flex;flex-direction:column;gap:.9rem;margin:0 0 clamp(1rem,2vw,2rem) var(--gutter);filter:drop-shadow(0 16px 24px rgba(10,24,18,.35))}
.signpost__blade{align-self:stretch;background:var(--green);color:var(--paving);padding:1.4rem 3.2rem 1.5rem 1.6rem;clip-path:polygon(0 0,calc(100% - 34px) 0,100% 50%,calc(100% - 34px) 100%,0 100%);border-radius:6px 0 0 6px}
.signpost__title{font-size:clamp(1.7rem,.6rem + 2vw,3rem);line-height:1.04;text-transform:uppercase;letter-spacing:.035em}
.signpost__arms ul{display:grid;gap:.55rem .6rem}
.signpost__arms ul{grid-template-columns:1fr 1fr}
.arm{display:flex;align-items:center;justify-content:space-between;gap:1.4rem;min-height:46px;padding:.5rem 2.2rem .5rem 1rem;background:var(--olive);color:var(--paving);font-family:var(--font-sign);font-size:1.02rem;letter-spacing:.07em;text-transform:uppercase;text-decoration:none;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 50%,calc(100% - 18px) 100%,0 100%);border-radius:4px 0 0 4px;transition:background-color .2s ease}
.arm .icon{width:1rem;height:1rem}
.arm:hover{background:var(--green)}
.arm--lead{background:var(--gold);color:#fff}
.arm--lead:hover{background:var(--gold-hover)}

.trail__index{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(1.5rem,1rem + 3vw,4rem);align-items:start;width:100%;max-width:var(--wrap);margin:0 auto;padding:clamp(3rem,2rem + 3vw,5rem) var(--gutter) 0}
.trail__intro{display:grid;gap:1rem;justify-items:start}
.trail__heading{font-size:clamp(1.9rem,1.1rem + 2.4vw,3.2rem);line-height:1.08;color:var(--green);text-transform:uppercase;letter-spacing:.03em}
.trail__chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chip{display:inline-flex;align-items:center;min-height:44px;padding:.35rem 1rem;border:1.5px solid var(--green);border-radius:999px;color:var(--green);font-weight:500;font-size:.95rem;text-decoration:none;transition:background-color .2s ease,color .2s ease}
.chip:hover{background:rgba(40,84,72,.08)}
.chip[aria-current="true"]{background:var(--green);color:var(--paving)}

@media (max-width:1199.98px){
  .trail{display:flex;flex-direction:column}
  .trail__frame{order:1;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}
  .signpost{order:0;width:auto;margin:1.25rem var(--gutter);filter:none}
  .trail .station{grid-template-columns:1fr}
  .trail .station__photo img{aspect-ratio:16/10;height:auto}
  .trail .station__specs{display:grid}
  .signpost__blade{padding-right:3rem}
  .trail__cards{order:2;position:static;width:auto;margin:1.25rem var(--gutter) 0}
  .trail .station__copy{display:block}
  .trail__index{order:3;grid-template-columns:minmax(0,1fr)}
  .signpost__arms ul{grid-template-columns:1fr 1fr}
  .arm{font-size:.92rem;letter-spacing:.05em;padding-right:1.8rem;white-space:nowrap}
  .signpost__cta{width:100%}
}
@media (max-width:899.98px){
  .trail__map{width:900px}
}
