.dl-intro{padding:2.5rem 0;background:#071510;border-bottom:1px solid #1a4030}
.dl-intro h1{font-size:clamp(1.3rem,3vw,1.75rem);font-weight:800;color:#e8f8f0;margin-bottom:.65rem}
.dl-intro h1 em{color:#34d399;font-style:normal}
.dl-intro p{color:#8ab898;font-size:.9rem;max-width:580px;margin-bottom:1.2rem}
.dl-tags{display:flex;flex-wrap:wrap;gap:.65rem;margin-bottom:1.2rem}
.dl-tags span{background:#0a2018;border:1px solid #1a4030;padding:.4rem .8rem;font-size:.76rem;color:#6a9880;font-family:monospace}
.dl-tags strong{color:#34d399}

.terminal-spokes{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;position:relative}
.terminal-spokes::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80px;height:80px;background:#0f3024;border:2px solid #34d399;border-radius:50%;z-index:1}
.spoke-card{background:#0a2018;border:1px solid #1a4030;padding:1.15rem;position:relative;z-index:2}
.spoke-card:nth-child(odd){margin-right:2rem}
.spoke-card:nth-child(even){margin-left:2rem}
.spoke-id{font-family:monospace;font-size:.68rem;color:#34d399;font-weight:800;margin-bottom:.35rem}
.spoke-card h3{font-size:.9rem;color:#e8f8f0;font-weight:800;margin-bottom:.25rem}
.spoke-card p{font-size:.78rem;color:#6a9880;line-height:1.45;margin-bottom:.55rem}

.port-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.port-tile{background:#0a2018;border:1px dashed #1a4030;padding:1.1rem;text-align:center}
.port-tile .code{font-size:1.4rem;font-weight:800;color:#34d399;font-family:monospace;margin-bottom:.35rem}
.port-tile h3{font-size:.88rem;color:#e8f8f0;margin-bottom:.3rem;font-weight:800}
.port-tile p{font-size:.76rem;color:#6a9880;line-height:1.45;margin-bottom:.5rem}

.voyage-track{display:flex;flex-direction:column;gap:0;max-width:640px;margin:0 auto;border-left:2px dashed #34d399;padding-left:1.5rem}
.voyage-stop{padding:1rem 0;border-bottom:1px solid #122820;position:relative}
.voyage-stop::before{content:"";position:absolute;left:-1.65rem;top:1.35rem;width:10px;height:10px;background:#34d399;border-radius:50%;border:2px solid #071510}
.voyage-stop:last-child{border-bottom:none}
.voyage-stop h3{font-size:.92rem;color:#e8f8f0;margin-bottom:.3rem;font-weight:800}
.voyage-stop p{font-size:.8rem;color:#6a9880;line-height:1.5}

.cargo-dual{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.cargo-col{background:#0a2018;border:1px solid #1a4030}
.cargo-col .ch{padding:.5rem 1rem;background:#0f3024;font-size:.72rem;font-family:monospace;color:#6ee7b7;border-bottom:1px solid #1a4030}
.cargo-col ul{padding:1rem 1.1rem}
.cargo-col li{font-size:.82rem;color:#6a9880;padding:.25rem 0;border-bottom:1px solid #122820;line-height:1.45}
.cargo-col li:last-child{border-bottom:none}

.dl-cta{background:#0f3024;padding:2.5rem 0;text-align:center;border-top:1px solid #34d399}
.dl-cta h2{font-size:clamp(1.05rem,2.6vw,1.35rem);color:#e8f8f0;margin-bottom:.4rem;font-weight:800}
.dl-cta p{color:#6a9880;font-size:.86rem;margin-bottom:1rem}

.dl-img{border:1px solid #1a4030;border-radius:6px;overflow:hidden;max-width:480px}

@media(max-width:768px){
  .terminal-spokes,.port-tiles,.cargo-dual{grid-template-columns:1fr}
  .terminal-spokes::before{display:none}
  .spoke-card:nth-child(odd),.spoke-card:nth-child(even){margin:0}
}
