:root{
  --bg: #f6f7fb;
  --rail: #ffffff;
  --ink: #0f172a;
  --accent: #7c3aed;
  --line: rgba(124,58,237,.28);
}

body{background:linear-gradient(120deg, rgba(124,58,237,.08), rgba(59,130,246,.06)), var(--bg); color:var(--ink);}
#logo img{height:34px; width:auto; display:block;}
.sr-only{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}

.rail-shell{min-height:100vh; display:grid; grid-template-columns: 320px minmax(0,1fr);}
.rail{background:var(--rail); border-right:1px solid rgba(0,0,0,.06); padding:1rem; position:sticky; top:0; height:100vh; overflow:auto;}
.rail__head{display:grid; gap:.5rem; margin-bottom:1rem;}
.rail .menu a{border-radius:12px;}
.rail .menu .is-active > a{background:rgba(124,58,237,.10); color:var(--accent);}

.lane{min-width:0;}
.lane__top{padding:1rem 0; border-bottom:1px solid rgba(0,0,0,.06); background:rgba(255,255,255,.65); backdrop-filter: blur(10px); position:sticky; top:0; z-index:10;}
.kicker{font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; color:rgba(15,23,42,.60);}

.spotlight{margin:1rem 0;}
.spotlight__card{display:block; padding:1rem; border-radius:16px; background:#fff; border:1px solid rgba(0,0,0,.06); text-decoration:none; color:var(--ink);}
.spotlight__title{font-weight:800;}
.spotlight__meta{color:rgba(15,23,42,.62); font-size:.9rem; margin-top:.25rem;}
.spotlight .swiper{padding-bottom: 26px;}
.spotlight .swiper-pagination-bullet-active{background: var(--accent);}

.timeline{position:relative; margin:1.25rem 0 2.5rem; padding-left: 1.25rem; background:#fff; border:1px solid rgba(0,0,0,.06); border-radius:16px; padding:1.25rem 1.25rem 1.25rem 1.6rem;}
.timeline:before{content:""; position:absolute; left:.8rem; top:1.25rem; bottom:1.25rem; width:2px; background:var(--line); border-radius:999px;}

@media (max-width: 980px){
  .rail-shell{grid-template-columns: 1fr;}
  .rail{position:relative; height:auto;}
}

#footer{background:#fff; border-top:1px solid rgba(0,0,0,.06);}
#footer .container{max-width:1100px; margin:0 auto; padding:1.2rem;}
