.label{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.08em;color:var(--accent);margin:0 0 1rem}
.hero{padding-top:88px;padding-bottom:56px}
.hero h1{font-size:clamp(2.6rem,9vw,4.5rem);line-height:1;letter-spacing:-.035em;font-weight:600;margin:0 0 1.25rem;max-width:52rem}
.lede{font-size:clamp(1.05rem,2.4vw,1.25rem);line-height:1.55;color:var(--muted);max-width:40rem;margin:0 0 1.75rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:0}
.btn{display:inline-flex;align-items:center;min-height:48px;padding:0 22px;border-radius:4px;border:1px solid var(--line);color:var(--text);text-decoration:none;font-weight:600}
.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);box-shadow:var(--glow)}
.roadmap{padding-top:32px;padding-bottom:72px}
.roadmap h2,.start h2{font-size:clamp(2rem,5vw,2.75rem);line-height:1.05;letter-spacing:-.03em;font-weight:600;margin:0 0 1.25rem}
.rail-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 1rem}
.rail-filters[hidden]{display:none}
.rail-filters button{min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--text);font:500 .75rem var(--font-mono);letter-spacing:.06em;cursor:pointer}
.rail-filters button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.rail{list-style:none;margin:.5rem 0 0 7px;padding:0;border-left:2px solid var(--line)}
.rail-item{position:relative;padding:14px 0 18px 30px}
.rail-item[hidden]{display:none}
.rail-item::before,.rail-now::before{content:"";position:absolute;left:-7px;top:24px;width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:var(--glow)}
.rail-item a{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:4px 28px;color:var(--text);text-decoration:none;padding:6px 0;border-radius:4px}
.rail-item a:hover .rail-title{text-decoration-color:var(--accent)}
.rail-year{font-family:var(--font-mono);font-size:1.9rem;font-weight:500;color:var(--accent);line-height:1.1}
.rail-body{display:flex;flex-direction:column;gap:6px;min-width:0}
.rail-tag{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.08em;color:var(--muted)}
.rail-title{font-size:1.375rem;font-weight:600;line-height:1.25;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:5px;overflow-wrap:anywhere}
.rail-summary{color:var(--muted);line-height:1.55}
.rail-now{position:relative;padding:14px 0 4px 30px;font-family:var(--font-mono);font-size:.8rem;letter-spacing:.08em;color:var(--muted)}
.rail-now::before{background:var(--bg);border:2px solid var(--accent);box-shadow:none;top:18px;left:-9px}
@media(max-width:640px){.rail-item a{grid-template-columns:minmax(0,1fr)}.rail-year{font-size:1.5rem}}
.start{border-top:1px solid var(--line);background:var(--panel);padding:64px 0 80px}
.cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:16px}
.card{display:flex;flex-direction:column;gap:10px;height:100%;padding:20px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--text);text-decoration:none}
.card:hover{border-color:var(--accent)}
.card-kind{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.08em;color:var(--accent)}
.card-title{font-size:1.2rem;font-weight:600;line-height:1.25}
.card-sub{color:var(--muted);line-height:1.5}
.rail--mini .rail-item a{grid-template-columns:5rem minmax(0,1fr)}.rail--mini .rail-year{font-size:1.25rem}.rail--mini .rail-title{font-size:1.05rem}
