
.page-hero { padding:180px 56px 44px; position:relative; overflow:hidden; max-width:1100px; margin:0 auto; }
.page-hero h1 { font-family:var(--font-display); font-size:clamp(34px, 5.6vw, 58px); font-weight:500; color:var(--cream); line-height:1.1; max-width:820px; }
.page-hero h1 em { font-style:italic; color:var(--purple-light); }
.page-hero p { font-size:16px; color:var(--text-muted); max-width:640px; margin:18px 0 0; line-height:1.8; }
.crumb { font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--text-muted); margin-bottom:20px; }
.crumb a { color:var(--purple); text-decoration:none; }
.crumb a:hover { text-decoration:underline; }

.sec { max-width:1100px; margin:0 auto; padding:0 56px; }
.sec + .sec { margin-top:76px; }
.sec > .section-label { margin-bottom:12px; }
.sec > h2 { font-family:var(--font-display); font-size:clamp(24px,2.8vw,36px); font-weight:600; color:var(--cream); margin-bottom:10px; }
.sec > .sec-intro { font-size:15px; line-height:1.85; color:var(--text-muted); max-width:660px; margin-bottom:30px; }

.board-switch { display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:30px; }
.board-switch-label {
  font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--text-muted);
}
.board-tabs { display:flex; gap:8px; flex-wrap:wrap; }
.board-tab {
  padding:11px 20px; border:1px solid var(--border); border-radius:999px;
  font-size:13.5px; color:var(--text-muted); cursor:pointer; background:transparent;
  transition:border-color .15s, color .15s, background .15s;
}
.board-tab:hover { color:var(--cream); border-color:var(--purple); }
.board-tab.active { background:var(--purple); border-color:var(--purple); color:#FBF8F3; }
.board-panel { display:none; }
.board-panel.active { display:block; }

.board-head {
  display:flex; align-items:flex-start; justify-content:space-between; gap:24px;
  flex-wrap:wrap; padding-bottom:20px; border-bottom:1px solid var(--border); margin-bottom:8px;
}
.board-name { font-size:16px; color:var(--cream); font-weight:600; }
.board-structure { font-size:13.5px; color:var(--text-muted); line-height:1.7; margin-top:6px; max-width:560px; }
.board-code {
  font-family:var(--font-mono); font-size:11.5px; letter-spacing:.12em; color:var(--purple-light);
  background:rgba(85,52,165,.12); border-radius:999px; padding:6px 13px; white-space:nowrap;
}
.board-note { font-size:13px; color:var(--text-muted); line-height:1.75; margin:26px 0 0; max-width:680px; }
.board-note a { color:var(--purple-light); text-decoration:none; border-bottom:1px solid rgba(122,79,209,.4); }
.board-note a:hover { border-bottom-color:var(--purple-light); }

.series { margin-top:34px; }
.series-head {
  position:sticky; top:64px; z-index:2;
  display:flex; align-items:baseline; justify-content:space-between; gap:16px;
  padding:12px 0 10px; background:var(--dark); border-bottom:1px solid var(--border);
}
.series-year {
  font-family:var(--font-display); font-size:20px; font-weight:600; color:var(--cream); margin:0;
}
.series-count {
  font-family:var(--font-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--text-muted); white-space:nowrap;
}

.paper-row {
  display:grid; grid-template-columns:minmax(0,1fr) auto; gap:20px; align-items:center;
  padding:16px 0; border-bottom:1px solid var(--border);
}
.paper-row:last-child { border-bottom:none; }
.paper-name { font-size:15px; color:var(--cream); }
.paper-meta { font-size:12.5px; color:var(--text-muted); margin-top:4px; line-height:1.55; }
.paper-actions { display:flex; gap:8px; flex-wrap:wrap; }
.paper-link {
  font-size:12.5px; color:var(--purple-light); text-decoration:none; white-space:nowrap;
  border:1px solid var(--border); border-radius:999px; padding:9px 18px;
  transition:border-color .15s, background .15s, color .15s;
}
.paper-link:hover { border-color:var(--purple); background:rgba(85,52,165,.10); color:var(--cream); }
.paper-link.is-qp { background:rgba(85,52,165,.14); border-color:transparent; }
.paper-link.is-off { color:var(--text-muted); border-style:dashed; cursor:default; opacity:.7; }
.paper-link.is-qp:hover { background:rgba(85,52,165,.26); border-color:transparent; }

.note-list { border-top:1px solid var(--border); }
.note-item { padding:30px 0; border-bottom:1px solid var(--border); }
.note-item h3 { font-family:var(--font-display); font-size:22px; font-weight:600; color:var(--cream); margin-bottom:10px; }
.note-item p { font-size:15px; line-height:1.85; color:var(--text-muted); max-width:680px; margin-bottom:12px; }
.note-item p:last-child { margin-bottom:0; }
.note-item strong { color:var(--cream); font-weight:600; }
.note-item code {
  font-family:var(--font-mono); font-size:13.5px; color:var(--purple-light);
  background:rgba(85,52,165,.10); padding:2px 6px; border-radius:3px;
}

.cta { max-width:1100px; margin:0 auto; padding:80px 56px 110px; }
.cta-inner { background:var(--dark2); border:1px solid var(--border); border-radius:var(--radius); padding:48px 44px; text-align:center; }
.cta-inner h2 { font-family:var(--font-display); font-size:clamp(24px,2.8vw,34px); font-weight:600; color:var(--cream); margin-bottom:14px; }
.cta-inner p { font-size:15px; color:var(--text-muted); line-height:1.8; max-width:540px; margin:0 auto 28px; }

@media(max-width:860px){
  .page-hero { padding:130px 20px 24px; }
  .sec { padding:0 20px; }
  .sec + .sec { margin-top:56px; }
  .cta { padding:56px 20px 80px; }
  .cta-inner { padding:34px 24px; }
  .paper-row { grid-template-columns:1fr; gap:12px; }
  .series-head { position:static; }
  .series-year { font-size:18px; }
  .paper-link { padding:10px 16px; }
}

.faq-list { border-top:1px solid var(--border); max-width:760px; }
.faq-item { padding:26px 0; border-bottom:1px solid var(--border); }
.faq-item h3 { font-size:16px; font-weight:600; color:var(--cream); margin-bottom:9px; }
.faq-item p { font-size:14.5px; line-height:1.8; color:var(--text-muted); margin:0; }
