.route-bar{background:#2d2d2d;font-size:.72rem;padding:.45rem 0;color:#aaa;font-family:monospace}
.route-bar .container{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}
.route-bar em{color:#ff6b35;font-style:normal;font-weight:700}

.hero-marathon{padding:2.8rem 0 3.2rem;background:#fff;border-bottom:3px dashed #ff6b35}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}
.hero-grid h1{font-size:clamp(1.35rem,3.2vw,1.85rem);font-weight:800;color:#1a1a1a;line-height:1.35;margin-bottom:.85rem}
.hero-grid h1 em{color:#ff6b35;font-style:normal}
.hero-desc{color:#555;font-size:.92rem;margin-bottom:1.2rem;max-width:520px}
.hero-btns{display:flex;flex-wrap:wrap;gap:.65rem;margin-bottom:1.5rem}
.trust-row{display:flex;flex-wrap:wrap;gap:1rem}
.trust-row .t{background:#f5f5f0;border:2px solid #2d2d2d;padding:.65rem 1rem;min-width:90px;text-align:center}
.trust-row strong{display:block;font-size:1.25rem;color:#ff6b35;font-weight:800}
.trust-row span{font-size:.72rem;color:#555}

.route-map{background:#f5f5f0;border:2px solid #2d2d2d;padding:1.5rem;min-height:320px;border-radius:8px}
.route-map svg{width:100%;height:auto;display:block}
.route-caption{text-align:center;font-size:.72rem;color:#555;margin-top:.5rem;font-family:monospace}

.checkpoint-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.checkpoint-card{background:#fff;border:2px solid #2d2d2d;padding:1.2rem 1.1rem;position:relative}
.checkpoint-card::before{content:"KM";position:absolute;top:-10px;left:1rem;background:#ff6b35;color:#fff;font-size:.6rem;font-weight:800;padding:.15rem .4rem;font-family:monospace}
.checkpoint-card:nth-child(2)::before{content:"KM";background:#2d2d2d}
.checkpoint-card:nth-child(3)::before{content:"FIN";background:#10b981}
.km-tag{font-family:monospace;font-size:.68rem;color:#ff6b35;margin-bottom:.45rem;margin-top:.25rem}
.checkpoint-card h3{font-size:.95rem;color:#1a1a1a;margin-bottom:.4rem;font-weight:800}
.checkpoint-card p{font-size:.82rem;color:#555;line-height:1.55}

.pace-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;position:relative}
.pace-steps::before{content:"";position:absolute;top:28px;left:10%;right:10%;height:4px;background:repeating-linear-gradient(90deg,#fff 0 8px,#ff6b35 8px 16px);z-index:0}
.pace-step{background:#fff;border:2px solid #2d2d2d;padding:1.2rem;text-align:center;position:relative;z-index:1;margin:0 .35rem}
.pace-num{width:36px;height:36px;border-radius:50%;background:#ff6b35;color:#fff;font-weight:800;font-size:.82rem;display:flex;align-items:center;justify-content:center;margin:0 auto .65rem;font-family:monospace}
.pace-step h3{font-size:.92rem;color:#1a1a1a;margin-bottom:.35rem;font-weight:800}
.pace-step p{font-size:.8rem;color:#555;line-height:1.5}

.aid-dual{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.aid-pane{background:#fff;border:2px solid #2d2d2d}
.aid-pane .head{background:#2d2d2d;padding:.55rem 1rem;font-family:monospace;font-size:.72rem;color:#ff6b35}
.aid-pane .body{padding:1rem 1.1rem}
.aid-pane h3{font-size:.9rem;color:#1a1a1a;margin-bottom:.55rem;font-weight:800}
.aid-pane li{font-size:.82rem;color:#555;padding:.28rem 0 .28rem 1rem;position:relative;line-height:1.45}
.aid-pane li::before{content:"▸";position:absolute;left:0;color:#ff6b35;font-size:.75rem}

.marathon-cta{background:#2d2d2d;border-top:4px solid #ff6b35;padding:2.5rem 0;text-align:center}
.marathon-cta h2{font-size:clamp(1.1rem,2.8vw,1.45rem);color:#fff;margin-bottom:.45rem;font-weight:800}
.marathon-cta p{color:#aaa;font-size:.88rem;margin-bottom:1.1rem}
.hero-img-wrap{margin-top:1rem;border:2px solid #2d2d2d;border-radius:8px;overflow:hidden}

@media(max-width:900px){
  .hero-grid,.checkpoint-cards,.pace-steps,.aid-dual{grid-template-columns:1fr}
  .pace-steps::before{display:none}
  .pace-step{margin:.35rem 0}
}
