/* Curriculum / playbook — shared by the main landing and the Web Agency landing. */
.curric-head{max-width:860px}
.curric-head .lead-p + .lead-p{margin-top:10px}
.curric-book{
  display:grid;
  grid-template-columns:minmax(240px,300px) minmax(0,1fr);
  background:var(--card);
  border:1px solid var(--border);
  border-radius:28px;
  overflow:hidden;
  box-shadow:var(--sh-md);
}
.curric-face{
  display:flex;
  flex-direction:column;
  gap:22px;
  padding:28px 24px 22px;
  background:
    radial-gradient(120% 70% at 0% 0%, var(--accent-glow), transparent 58%),
    var(--card);
  border-right:1px solid var(--border);
}
.curric-kind{
  font-size:11px;
  font-weight:750;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--accent);
}
.curric-pair{display:grid;gap:16px}
.curric-pair b{
  display:block;
  font-size:28px;
  font-weight:760;
  letter-spacing:-.045em;
  line-height:1;
  font-variant-numeric:tabular-nums;
}
.curric-pair span{
  display:block;
  margin-top:5px;
  font-size:13px;
  line-height:1.4;
  color:var(--tx3);
}
.curric-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}
.curric-pills span{
  font-size:12px;
  font-weight:650;
  color:var(--tx2);
  border:1px solid var(--border);
  background:color-mix(in srgb, var(--bg) 62%, transparent);
  border-radius:999px;
  padding:5px 10px;
}
.curric-toc{
  list-style:none;
  margin:0;
  padding:10px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  align-content:center;
}
.curric-toc li{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:8px;
  align-items:start;
  align-content:start;
  min-width:0;
  padding:14px 14px 14px 10px;
  border-radius:16px;
  background:color-mix(in srgb, var(--tx) 4%, transparent);
}
.curric-toc li.is-open{background:var(--accent-glow)}
.curric-idx{
  font-variant-numeric:tabular-nums;
  font-weight:750;
  font-size:13px;
  letter-spacing:-.03em;
  color:var(--tx4);
  padding-top:3px;
}
.curric-toc li.is-open .curric-idx{color:var(--accent)}
.curric-body{
  min-width:0;
  border-left:1px solid var(--border);
  padding-left:12px;
}
.curric-toc li.is-open .curric-body{border-left-color:color-mix(in srgb, var(--accent) 50%, transparent)}
.curric-here{
  display:block;
  margin-bottom:4px;
  font-style:normal;
  font-size:10.5px;
  font-weight:750;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--accent);
}
.curric-body b{
  display:block;
  font-size:14.5px;
  font-weight:700;
  letter-spacing:-.02em;
  line-height:1.25;
}
.curric-body span{
  display:block;
  margin-top:4px;
  font-size:12.5px;
  line-height:1.45;
  color:var(--tx3);
}
@media (max-width:860px){
  .curric-book{grid-template-columns:1fr}
  .curric-face{border-right:0;border-bottom:1px solid var(--border);gap:16px}
  .curric-pair{grid-template-columns:1fr 1fr}
  .curric-pills{margin-top:0}
}
@media (max-width:640px){
  .curric-toc{grid-template-columns:1fr}
  .curric-pair b{font-size:24px}
}
