.lgl{
  padding:36px 32px 64px;
  border-top:1px solid var(--rule);
}

.lgl__head{
  max-width:760px;
  padding-bottom:28px;
  border-bottom:1px solid var(--rule);
}

.lgl__title{
  margin-top:10px;
  font-size:clamp(30px, 5vw, 48px);
  font-weight:900;
  letter-spacing:-.03em;
  line-height:1;
}

.lgl__date{
  margin-top:14px;
  font-size:12px;
  color:var(--ink-2);
}

.lgl__lead{
  margin-top:14px;
  font-size:15px;
  line-height:1.65;
  color:var(--ink-2);
}

.lgl__cols{
  display:grid;
  grid-template-columns:240px minmax(0, 760px);
  gap:48px;
  margin-top:32px;
}

.lgl__toc{
  position:sticky;
  top:24px;
  align-self:start;
}

.lgl__toc ol{
  margin-top:12px;
  display:grid;
  gap:8px;
}

.lgl__toc a{
  font-size:12px;
  line-height:1.4;
  color:var(--ink-2);
  transition:color .2s ease;
}

.lgl__toc a:hover{
  color:var(--ink);
}

.lgl__sec{
  scroll-margin-top:20px;
}

.lgl__sec + .lgl__sec{
  margin-top:30px;
}

.lgl__h{
  font-size:17px;
  font-weight:700;
  letter-spacing:-.01em;
}

.lgl__body p,
.lgl__list{
  margin-top:10px;
  font-size:14px;
  line-height:1.75;
}

.lgl__list{
  padding-left:20px;
  list-style:disc;
}

.lgl__list li + li{
  margin-top:6px;
}

.lgl__note{
  margin-top:40px;
  padding-top:16px;
  border-top:1px solid var(--rule);
  font-size:11px;
  color:var(--ink-3);
}

.lgl-langs{
  display:flex;
  gap:2px;
}

.lgl-lang{
  height:24px;
  padding:0 7px;
  border:1px solid transparent;
  border-radius:999px;
  background:transparent;
  color:var(--ink-2);
  font-size:10px;
  font-weight:500;
  letter-spacing:.12em;
  cursor:pointer;
}

.lgl-lang:hover{
  color:var(--ink);
}

.lgl-lang[aria-current="true"]{
  border-color:var(--ink);
  color:var(--ink);
}

.mast__nav .nav a[aria-current="page"]{
  text-decoration:underline;
  text-decoration-thickness:2px;
  text-underline-offset:6px;
}

@media (max-width:899px){
  .lgl__cols{
    grid-template-columns:minmax(0, 1fr);
    gap:24px;
  }
  .lgl__toc{
    position:static;
  }
}

@media (max-width:719px){
  .lgl{
    padding:24px 16px 48px;
  }
  .lgl-langs{
    gap:0;
  }
  .lgl-lang{
    padding:0 5px;
  }
}

.mast__nav .nav{
  flex-wrap:wrap;
  column-gap:28px;
}

@media (max-width:719px){
  .mast__nav .nav{
    flex-wrap:nowrap;
    column-gap:20px;
  }
}
