/* Approved next-stop junction. Scenery bleeds; native commerce stays contained.
 * The section selector deliberately outranks compact-rows' older presentation.
 * No motion: the same complete scene serves reduced-motion visitors. */
.single-product section.tss-route-board.tss-route-board--junction {
  display:block;
  width:100vw;
  max-width:none;
  left:50%;
  margin:48px 0 0 -50vw;
  padding:0;
  border:0;
  overflow:clip;
  background:#d4dfbe;
}
.single-product section.tss-route-board--junction::before {
  inset:0;
  height:auto;
  background:#fff9e5 url('assets/junction-landscape-v1.webp') center bottom / 100% auto no-repeat;
}
.single-product section.tss-route-board--junction .tss-route-board__inner {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,.86fr) minmax(0,1.64fr);
  gap:40px;
  width:min(100% - 96px,1340px);
  margin:0 auto;
  padding:68px 0 76px;
  min-height:710px;
}
.single-product section.tss-route-board--junction .tss-route-board__intro {
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  align-self:stretch;
  padding-top:32px;
  padding-bottom:clamp(36px,4vw,72px);
  margin:0;
}
.single-product section.tss-route-board--junction .tss-route-board__intro h2 {
  font-size:clamp(32px,3.05vw,46px);
  line-height:1.07;
  margin:0 0 20px;
  max-width:15ch;
  text-wrap:balance;
}
.single-product section.tss-route-board--junction .tss-route-board__intro > p {
  font-size:clamp(16px,1.4vw,20px);
  max-width:33ch;
  line-height:1.45;
}
.single-product section.tss-route-board--junction .tss-route-board__scene {
  display:block;
  width:95%;
  max-width:430px;
  height:auto;
  margin:auto 0 0 -3%;
  padding:40px 0 0;
  pointer-events:none;
}
.single-product section.tss-route-board--junction .tss-route-board__options {
  min-width:0;
  align-self:start;
  background:#fffcf0;
  border:2px solid #252a20;
  border-radius:13px;
  box-shadow:5px 6px 0 #252a20;
  padding:22px 24px 18px;
}
.single-product section.tss-route-board--junction .tss-route-board__label {
  margin:0;
  padding-bottom:16px;
  border-bottom:2px solid #252a20;
  font-size:20px;
}
.single-product section.tss-route-board--junction .tss-route-board__row {
  grid-template-columns:64px minmax(0,1fr) 126px;
  gap:16px;
  min-height:160px;
  padding:24px 0;
}
.single-product section.tss-route-board--junction .tss-route-board__art { display:block; }
.single-product section.tss-route-board--junction .tss-route-board__art img { width:64px;height:94px; }
.single-product section.tss-route-board--junction .tss-route-board__facts h3 { font-size:22px;line-height:1.2; }
.single-product section.tss-route-board--junction .tss-route-board__name { display:none; }
.single-product section.tss-route-board--junction .tss-route-board__stops { margin-top:24px; }
.single-product section.tss-route-board--junction .tss-route-board__stops li { font-size:12px; }
.single-product section.tss-route-board--junction .tss-route-board__price { font-size:30px; }
.single-product section.tss-route-board--junction .tss-route-board__coverage summary { min-height:44px;font-size:15px; }
.single-product section.tss-route-board--junction .tss-route-board__footnote {
  border-top:1px solid #bfc6af;
  margin:0;
  padding-top:16px;
  font-size:12px;
}
@media (min-width:1600px) {
  .single-product section.tss-route-board--junction .tss-route-board__inner { min-height:780px;padding-block:90px; }
  .single-product section.tss-route-board--junction::before { background-size:cover; }
}
@media (min-width:761px) and (max-width:1100px) {
  .single-product section.tss-route-board--junction .tss-route-board__inner { width:calc(100% - 48px);gap:24px;grid-template-columns:minmax(0,.7fr) minmax(0,1.5fr);padding-block:48px 66px;min-height:640px; }
  .single-product section.tss-route-board--junction .tss-route-board__intro { padding-top:18px;padding-bottom:30px; }
  .single-product section.tss-route-board--junction .tss-route-board__intro h2 { font-size:32px; }
  .single-product section.tss-route-board--junction .tss-route-board__options { padding:20px 18px 16px; }
  .single-product section.tss-route-board--junction .tss-route-board__row { grid-template-columns:minmax(0,1fr) 108px;min-height:150px;gap:12px; }
  .single-product section.tss-route-board--junction .tss-route-board__art { display:none; }
  .single-product section.tss-route-board--junction .tss-route-board__facts h3 { font-size:20px; }
  .single-product section.tss-route-board--junction .tss-route-board__scene { width:110%;max-width:none;margin-left:-5%; }
  .single-product section.tss-route-board--junction .tss-route-board__price { font-size:27px; }
}
@media (max-width:760px) {
  .single-product section.tss-route-board.tss-route-board--junction { margin-top:32px;background:#d4dfbe; }
  .single-product section.tss-route-board--junction::before {
    background-color:#d4dfbe;
    background-position:18% -115px;
    background-size:auto 530px;
  }
  .single-product section.tss-route-board--junction .tss-route-board__inner {
    display:block;
    width:calc(100% - 32px);
    padding:30px 0 36px;
    min-height:0;
  }
  .single-product section.tss-route-board--junction .tss-route-board__intro {
    display:flex;
    padding:0;
    margin:0 0 20px;
  }
  .single-product section.tss-route-board--junction .tss-route-board__intro h2 { font-size:32px;margin-bottom:14px;max-width:17ch;text-wrap:initial; }
  .single-product section.tss-route-board--junction .tss-route-board__intro > p { font-size:16px;max-width:34ch; }
  .single-product section.tss-route-board--junction .tss-route-board__scene { width:min(78%,300px);height:auto;max-width:300px;align-self:center;margin:20px 0 0;padding:0; }
  .single-product section.tss-route-board--junction .tss-route-board__options { padding:18px 16px 16px;box-shadow:3px 4px 0 #252a20; }
  .single-product section.tss-route-board--junction .tss-route-board__label { font-size:18px;padding-bottom:14px; }
  .single-product section.tss-route-board--junction .tss-route-board__row { grid-template-columns:44px minmax(0,1fr);min-height:0;gap:14px 12px;padding:23px 0; }
  .single-product section.tss-route-board--junction .tss-route-board__art img { width:44px;height:70px; }
  .single-product section.tss-route-board--junction .tss-route-board__facts h3 { font-size:20px; }
  .single-product section.tss-route-board--junction .tss-route-board__stops { margin-top:18px; }
  .single-product section.tss-route-board--junction .tss-route-board__stops li { font-size:11px; }
  .single-product section.tss-route-board--junction .tss-route-board__buy { padding:0; }
  .single-product section.tss-route-board--junction .tss-route-board__price { font-size:27px;margin:0; }
  .single-product section.tss-route-board--junction .tss-route-board__coverage summary { font-size:14px; }
  .single-product section.tss-route-board--junction .tss-route-board__coverage ul { grid-template-columns:1fr; }
}
@media (max-width:360px) {
  .single-product section.tss-route-board--junction .tss-route-board__intro h2 { font-size:29px; }
  .single-product section.tss-route-board--junction .tss-route-board__row { grid-template-columns:36px minmax(0,1fr);gap:12px 10px; }
  .single-product section.tss-route-board--junction .tss-route-board__art img { width:36px;height:62px; }
  .single-product section.tss-route-board--junction .tss-route-board__facts h3 { font-size:18px; }
  .single-product section.tss-route-board--junction .tss-route-board__buy { grid-column:1 / -1; }
}

/* Real site typography on a clean sign face, rather than rasterised lettering.
 * Keep the original artwork and responsive scene box unchanged. */
.single-product section.tss-route-board--junction .tss-route-board__scene-art {
  display:block;
  position:relative;
  width:100%;
  aspect-ratio:15 / 7;
}
.single-product section.tss-route-board--junction .tss-route-board__scene-art > img {
  display:block;
  width:100%;
  max-width:none;
  height:auto;
  margin:0;
}
.single-product section.tss-route-board--junction .tss-route-board__sign {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
  pointer-events:none;
}
.single-product section.tss-route-board--junction .tss-route-board__sign text {
  font-family:'Instrument Sans',Arial,sans-serif;
  font-size:34px;
  font-weight:800;
  letter-spacing:-.7px;
  fill:#171a14;
}
