.article-post{
  --article-space-1:1.2rem;
  --article-space-2:2rem;
  --article-space-3:3rem;
  --article-space-4:4rem;
  --article-space-5:5.6rem;
  width:min(var(--largura-site),calc(100% - (var(--site-gutter) * 2)));
  margin:3rem auto 0;
}

.article-post__hero{max-width:92rem}
.article-post__category{
  margin-bottom:1.2rem;
  color:var(--cor-foco);
  font-size:1.35rem;
  font-weight:600;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.article-post__hero h1{margin-bottom:2rem}
.article-post__hero>p:not(.article-post__category){max-width:82rem;color:var(--cor-texto-suave);font-size:clamp(1.8rem,1.55rem + .4vw,2.05rem)}

.article-author{display:flex;margin-top:2.6rem;align-items:center;gap:1.4rem}
.article-author img{width:5.6rem;height:5.6rem;border-radius:50%;object-fit:cover}
.article-author p{display:flex;margin:0;flex-direction:column;color:var(--cor-texto-suave);font-size:1.4rem;line-height:1.5}
.article-author span{color:var(--cor-texto);font-weight:600}

.article-post__layout{
  display:grid;
  margin-top:4rem;
  grid-template-columns:minmax(0,82rem) minmax(25rem,34rem);
  gap:clamp(4rem,6vw,8rem);
  align-items:start;
}

.article-post__main{min-width:0}
.article-figure{margin:0 0 var(--article-space-4)}
.article-figure img{width:100%;border-radius:var(--raio-imagem);aspect-ratio:16/9;object-fit:cover}

.article-share{display:flex;margin:0 0 var(--article-space-4);justify-content:flex-start}
.article-share__button{
  min-height:4.4rem;
  padding:.9rem 1.8rem;
  border:0;
  border-radius:999px;
  background:var(--cor-amarelo);
  color:var(--cor-azul);
  cursor:pointer;
  font-size:1.45rem;
  font-weight:600;
}
.article-share__button:hover{filter:brightness(.96)}
.article-share__button:focus-visible{outline:3px solid var(--cor-foco);outline-offset:3px}

.article-content{font-size:1.72rem;line-height:1.78}
.article-content h2{margin:var(--article-space-5) 0 var(--article-space-2);font-size:clamp(2.45rem,2rem + .8vw,3.15rem)}
.article-content h3{margin:var(--article-space-4) 0 var(--article-space-1);font-family:var(--fonte-titulo);font-size:clamp(2rem,1.7rem + .5vw,2.4rem)}
.article-content p{font-size:inherit;line-height:inherit}
.article-content p+p{margin-top:var(--article-space-2)}
.article-content a:not(.article-cta){color:#0a527d;text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.16em}
.article-content a:not(.article-cta):hover{color:var(--cor-foco)}
.article-content a:not(.article-cta):focus-visible{outline:3px solid var(--cor-foco);outline-offset:3px}

.article-content blockquote{
  margin:var(--article-space-3) 0;
  padding:1.8rem 2.2rem;
  border-left:4px solid var(--cor-amarelo);
  background:#fffdf2;
}
.article-content blockquote p{margin:0;font-family:var(--fonte-titulo);font-size:1.82rem}

.article-content ul,.article-content ol{margin:var(--article-space-2) 0;padding-left:2.4rem}
.article-content li{padding-left:.5rem}
.article-content li+li{margin-top:1rem}

.article-toc{
  margin:var(--article-space-4) 0;
  padding:2.4rem 2.6rem;
  border:1px solid var(--cor-borda);
  border-radius:var(--raio);
  background:#fbfbfb;
}
.article-toc__title{margin:0;color:var(--cor-texto);font-family:var(--fonte-titulo);font-size:2rem;font-weight:600}
.article-toc ol{margin:1.5rem 0 0;padding-left:2.2rem}
.article-toc li+li{margin-top:.8rem}
.article-toc a{font-size:1.55rem;line-height:1.5}

.article-faq-section{margin-top:var(--article-space-5)}
.article-faq{display:grid;gap:1rem}
.article-faq__item{border:1px solid var(--cor-borda);border-radius:14px;overflow:hidden}
.article-faq__button{
  display:flex;
  width:100%;
  padding:1.7rem 1.9rem;
  border:0;
  background:#f5f5f5;
  color:var(--cor-texto);
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  cursor:pointer;
  font-size:1.6rem;
  font-weight:600;
  text-align:left;
}
.article-faq__button:hover{background:#ececec}
.article-faq__button:focus-visible{outline:3px solid var(--cor-foco);outline-offset:-3px}
.article-faq__icon{font-size:2.6rem;line-height:1;transition:transform .2s ease}
.article-faq__item.ativo .article-faq__icon{transform:rotate(90deg)}
.article-faq__content{padding:1.8rem 2rem}
.article-faq__content[hidden]{display:none}
.article-faq__content p{margin:0;font-size:1.58rem;line-height:1.7}

.article-cta-section{
  margin-top:var(--article-space-5);
  padding:clamp(2.6rem,4vw,3.6rem);
  border-radius:var(--raio);
  background:var(--cor-azul);
  color:#fff;
}
.site-page .article-cta-section h2{margin:0 0 1.8rem;color:#fff}
.article-cta-section p{color:rgba(255,255,255,.86)}
.article-cta-section p+p{margin-top:1.6rem}
.article-cta{
  display:inline-flex;
  min-height:4.8rem;
  margin-top:2.4rem;
  padding:1rem 2rem;
  border-radius:999px;
  background:var(--cor-amarelo);
  color:var(--cor-azul);
  align-items:center;
  justify-content:center;
  font-size:1.5rem;
  font-weight:600;
  line-height:1.25;
  text-align:center;
}
.article-cta:hover{filter:brightness(.96)}
.article-cta:focus-visible{outline:3px solid #fff;outline-offset:3px}

.article-bio{
  display:grid;
  margin-top:var(--article-space-5);
  padding:2.6rem;
  border:1px solid var(--cor-borda);
  border-radius:var(--raio);
  grid-template-columns:14rem minmax(0,1fr);
  gap:2.4rem;
  align-items:center;
}
.article-bio>img{width:14rem;height:14rem;border-radius:50%;object-fit:cover}
.site-page .article-bio h2{margin:0 0 1rem;font-size:2.3rem}
.article-bio p{margin:0;color:var(--cor-texto-suave);font-size:1.5rem;line-height:1.7}

.article-related{position:sticky;top:2rem}
.site-page .article-related>h2{margin:0 0 2rem;font-size:2.2rem}
.article-related__list{display:grid;gap:2rem}
.article-related .card-paginas{min-height:auto;padding:1.7rem}
.article-related .card-paginas h2{font-size:1.72rem}
.article-related .card-paginas p{font-size:1.35rem}

.article-table__title{margin:var(--article-space-3) 0 1rem;font-weight:600}
.article-table-wrap{
  width:100%;
  margin:0 0 var(--article-space-3);
  overflow-x:auto;
  overflow-y:visible;
  border:1px solid var(--cor-borda);
  border-radius:14px;
  background:#fff;
  -webkit-overflow-scrolling:touch;
}
.article-table-wrap--reference{max-height:none}
.article-table-wrap:focus-visible{outline:3px solid var(--cor-foco);outline-offset:3px}
.article-table{width:100%;border-collapse:collapse;font-size:1.45rem;line-height:1.55}
.article-table--3-columns{min-width:68rem}
.article-table--4-columns{min-width:78rem}
.article-table th,.article-table td{
  padding:1.2rem;
  border-right:1px solid var(--cor-borda);
  border-bottom:1px solid var(--cor-borda);
  vertical-align:top;
  text-align:left;
}
.article-table th:last-child,.article-table td:last-child{border-right:0}
.article-table tbody tr:last-child td{border-bottom:0}
.article-table thead th{background:var(--cor-azul);color:#fff;font-weight:600}
.article-table tbody td:first-child{font-weight:600}
.article-table tbody tr:nth-child(even) td{background:#f7f7f7}
.article-table tbody tr:hover td{background:#fff8d9}

@media (max-width:991px){
  .article-post__layout{grid-template-columns:1fr}
  .article-related{position:static}
  .article-related__list{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:820px){
  .article-table-wrap--3-columns,
  .article-table-wrap--4-columns{overflow:visible;border:0;border-radius:0;background:transparent}

  .article-table--3-columns,
  .article-table--4-columns{display:block;min-width:0}

  .article-table--3-columns thead,
  .article-table--4-columns thead{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
  }

  .article-table--3-columns tbody,
  .article-table--4-columns tbody{display:grid;gap:1.4rem}

  .article-table--3-columns tr,
  .article-table--4-columns tr{
    display:block;
    overflow:hidden;
    border:1px solid var(--cor-borda);
    border-radius:12px;
    background:#fff;
  }

  .article-table--3-columns td,
  .article-table--4-columns td{
    display:grid;
    width:100%;
    padding:1.1rem 1.2rem;
    border:0;
    border-bottom:1px solid var(--cor-borda);
    grid-template-columns:minmax(10rem,.85fr) minmax(0,1.15fr);
    gap:1.2rem;
    background:#fff;
    font-weight:400;
    overflow-wrap:anywhere;
  }

  .article-table--3-columns td:last-child,
  .article-table--4-columns td:last-child{border-bottom:0}

  .article-table--3-columns td::before,
  .article-table--4-columns td::before{
    content:attr(data-label);
    color:var(--cor-azul);
    font-weight:600;
  }

  .article-table--3-columns tbody tr:nth-child(even) td,
  .article-table--4-columns tbody tr:nth-child(even) td{background:#f7f7f7}
}

@media (max-width:700px){
  .article-post{margin-top:2rem}
  .article-post__layout{margin-top:3rem;gap:4rem}
  .article-content{font-size:1.62rem;line-height:1.72}
  .article-toc{padding:2rem}
  .article-bio{grid-template-columns:1fr;text-align:left}
  .article-bio>img{width:10rem;height:10rem}
  .article-related__list{grid-template-columns:1fr}
  .article-content{overflow-wrap:anywhere}
  .article-table-wrap--2-columns{overflow-x:visible}
  .article-table--2-columns{width:100%;min-width:0;table-layout:fixed}
  .article-table--2-columns th,
  .article-table--2-columns td{padding:.9rem;overflow-wrap:anywhere;word-break:normal}
}

@media (prefers-reduced-motion:reduce){
  .article-faq__icon{transition:none}
}
