/* ==========================================================================
   CLS — Classification of Software Litigation
   Identidade visual do microsite do padrão.
   Coerente com a marca autoral, porém distinguível: o microsite deve
   parecer o portal de um padrão técnico, não uma página de serviços.
   ========================================================================== */

:root{
  /* Herda os tokens da identidade principal e acrescenta os do padrão */
  --cls-ink:#181C1F;
  --cls-paper:#F5F4EF;
  --cls-paper-2:#EFEDE5;
  --cls-paper-3:#FBFAF7;
  --cls-line:#D8D5CB;
  --cls-line-soft:#E6E3DA;
  --cls-slate:#555E64;
  --cls-ox:#8E2B22;
  --cls-ox-deep:#6E2019;
  --cls-ox-tint:#F0E2DE;
  --cls-green:#2D6A4F;
  --cls-green-tint:#EDF3EF;
  --cls-amber:#B8860B;
  --cls-amber-tint:#F7F1E2;
}

/* --------------------------------------------------------------------------
   1. BARRA DE IDENTIDADE — topo escuro que separa o padrão do site comercial
   -------------------------------------------------------------------------- */
.cls-bar{
  background:var(--cls-ink);
  color:#EDEAE3;
  padding:.55rem 0;
  font-family:var(--mono);
  font-size:.74rem;
  letter-spacing:.06em;
}
.cls-bar a{ color:#EDEAE3; text-decoration:none; }
.cls-bar a:hover{ color:#fff; text-decoration:underline; text-underline-offset:3px; }
.cls-bar-inner{ display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.cls-bar-brand{ display:flex; align-items:baseline; gap:.6rem; }
.cls-bar-mark{ font-weight:700; letter-spacing:.16em; color:#fff; }
.cls-bar-full{ color:#A9A197; letter-spacing:.04em; }
.cls-bar-back{ white-space:nowrap; }

/* --------------------------------------------------------------------------
   2. NAVEGAÇÃO DO PADRÃO
   -------------------------------------------------------------------------- */
.cls-nav{
  background:var(--cls-paper);
  border-bottom:1px solid var(--cls-line);
  position:sticky; top:0; z-index:1020;
}
.cls-nav-inner{ display:flex; align-items:center; gap:1.4rem; flex-wrap:wrap; padding:.7rem 0; }
.cls-nav a{
  font-family:var(--display);
  font-size:.88rem;
  font-weight:600;
  color:var(--cls-slate);
  text-decoration:none;
  padding:.35rem 0;
  border-bottom:2px solid transparent;
  white-space:nowrap;
}
.cls-nav a:hover{ color:var(--cls-ink); border-bottom-color:var(--cls-line); }
.cls-nav a.active{ color:var(--cls-ox); border-bottom-color:var(--cls-ox); }
.cls-nav-sep{ flex:1 1 auto; }
.cls-nav-service{
  font-family:var(--mono) !important;
  font-size:.74rem !important;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--cls-slate) !important;
}

/* --------------------------------------------------------------------------
   3. BREADCRUMB
   -------------------------------------------------------------------------- */
.cls-crumb{
  font-family:var(--mono);
  font-size:.72rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--cls-slate);
  padding:1.2rem 0 0;
}
.cls-crumb a{ color:var(--cls-slate); text-decoration:none; }
.cls-crumb a:hover{ color:var(--cls-ox); text-decoration:underline; text-underline-offset:2px; }
.cls-crumb .sep{ opacity:.45; margin:0 .45rem; }

/* --------------------------------------------------------------------------
   4. HERO DO PADRÃO
   -------------------------------------------------------------------------- */
.cls-hero{ padding:2.4rem 0 3rem; border-bottom:1px solid var(--cls-line); }
.cls-hero-kicker{
  font-family:var(--mono); font-size:.74rem; letter-spacing:.22em;
  text-transform:uppercase; color:var(--cls-ox); font-weight:500; margin-bottom:1.1rem;
}
.cls-hero-mark{
  font-family:var(--display); font-weight:800; font-size:clamp(3.4rem,9vw,5.6rem);
  line-height:.92; letter-spacing:-.03em; color:var(--cls-ink); margin:0;
}
.cls-hero-full{
  font-family:var(--display); font-weight:600; font-size:clamp(1.05rem,2.4vw,1.5rem);
  color:var(--cls-ox); letter-spacing:-.01em; margin:.5rem 0 1.2rem;
}
.cls-hero-sub{
  font-size:1.2rem; line-height:1.55; color:var(--cls-ink);
  max-width:56ch; margin-bottom:1rem;
}
.cls-hero-support{ font-size:1.02rem; line-height:1.62; color:var(--cls-slate); max-width:62ch; }

/* Selos de identificação do padrão */
.cls-badges{ display:flex; flex-wrap:wrap; gap:.5rem; margin:1.6rem 0 1.8rem; }
.cls-badge{
  font-family:var(--mono); font-size:.72rem; letter-spacing:.05em;
  border:1px solid var(--cls-line); background:#fff;
  padding:.36rem .7rem; border-radius:2px; color:var(--cls-slate);
  display:inline-flex; align-items:center; gap:.4rem; text-decoration:none;
}
.cls-badge strong{ color:var(--cls-ink); font-weight:600; }
.cls-badge--ox{ border-color:var(--cls-ox); background:var(--cls-ox-tint); color:var(--cls-ox-deep); }
.cls-badge--ox strong{ color:var(--cls-ox-deep); }
a.cls-badge:hover{ border-color:var(--cls-ox); color:var(--cls-ox-deep); }

/* --------------------------------------------------------------------------
   5. SEÇÕES E TÍTULOS
   -------------------------------------------------------------------------- */
.cls-sec{ padding:3.2rem 0; border-bottom:1px solid var(--cls-line-soft); }
.cls-sec:last-of-type{ border-bottom:0; }
.cls-sec--alt{ background:var(--cls-paper-2); }
.cls-sec-num{
  font-family:var(--mono); font-size:.72rem; letter-spacing:.2em;
  text-transform:uppercase; color:var(--cls-ox); margin-bottom:.7rem; display:block;
}
.cls-h2{
  font-family:var(--display); font-weight:700; font-size:clamp(1.5rem,3.4vw,2.05rem);
  letter-spacing:-.02em; color:var(--cls-ink); margin-bottom:.9rem;
}
.cls-h3{
  font-family:var(--display); font-weight:700; font-size:1.18rem;
  color:var(--cls-ink); margin:1.8rem 0 .6rem;
}
.cls-lead{ font-size:1.08rem; line-height:1.65; color:var(--cls-slate); max-width:68ch; }
.cls-sec p{ line-height:1.68; }

/* Frase em destaque — declaração de propósito */
.cls-pull{
  border-left:4px solid var(--cls-ox);
  background:var(--cls-paper-3);
  padding:1.4rem 1.6rem;
  margin:2rem 0;
  font-family:var(--body);
  font-size:1.16rem; font-style:italic; line-height:1.55;
  color:var(--cls-ink);
}

/* --------------------------------------------------------------------------
   6. CARDS DE CATEGORIA — "A CLS em 20 segundos"
   -------------------------------------------------------------------------- */
.cls-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(268px,1fr)); gap:1rem; margin-top:1.8rem; }
.cls-card{
  display:block; text-decoration:none; background:#fff;
  border:1px solid var(--cls-line); border-top:3px solid var(--cls-ox);
  padding:1.15rem 1.25rem 1.3rem; transition:border-color .16s, transform .16s, box-shadow .16s;
}
.cls-card:hover{ border-color:var(--cls-ox); transform:translateY(-2px); box-shadow:0 6px 20px rgba(24,28,31,.07); }
.cls-card-code{
  font-family:var(--mono); font-size:.86rem; font-weight:500; letter-spacing:.08em;
  color:var(--cls-ox); display:block; margin-bottom:.4rem;
}
.cls-card-name{
  font-family:var(--display); font-weight:700; font-size:1.04rem;
  color:var(--cls-ink); display:block; margin-bottom:.55rem; line-height:1.3;
}
.cls-card-prod{ font-size:.9rem; color:var(--cls-slate); line-height:1.5; }
.cls-card-prod span{
  display:block; font-family:var(--mono); font-size:.68rem; letter-spacing:.12em;
  text-transform:uppercase; color:var(--cls-slate); opacity:.75; margin-bottom:.18rem;
}
.cls-card--ev{ border-top-color:var(--cls-slate); }
.cls-card--ev .cls-card-code{ color:var(--cls-slate); }

/* --------------------------------------------------------------------------
   7. PRINCÍPIOS
   -------------------------------------------------------------------------- */
.cls-princ{ display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:1.1rem; margin-top:1.8rem; }
.cls-princ-item{ border-left:3px solid var(--cls-ox); padding:.2rem 0 .2rem 1.1rem; }
.cls-princ-n{
  font-family:var(--mono); font-size:.72rem; letter-spacing:.14em;
  color:var(--cls-ox); display:block; margin-bottom:.25rem;
}
.cls-princ-t{ font-family:var(--display); font-weight:700; font-size:1.02rem; color:var(--cls-ink); margin-bottom:.3rem; }
.cls-princ-d{ font-size:.94rem; line-height:1.55; color:var(--cls-slate); }

/* --------------------------------------------------------------------------
   8. BOXES TIPADOS — conceito, atenção, boa prática, nota
   -------------------------------------------------------------------------- */
.cls-box{ border:1px solid var(--cls-line); border-left-width:4px; padding:1.1rem 1.3rem; margin:1.6rem 0; background:#fff; }
.cls-box-label{
  font-family:var(--mono); font-size:.68rem; letter-spacing:.14em;
  text-transform:uppercase; font-weight:500; margin-bottom:.5rem; display:flex; align-items:center; gap:.45rem;
}
.cls-box p:last-child{ margin-bottom:0; }
.cls-box p{ font-size:.97rem; line-height:1.62; }

.cls-box--concept{ border-left-color:var(--cls-ox); background:var(--cls-paper-2); }
.cls-box--concept .cls-box-label{ color:var(--cls-ox); }
.cls-box--alert{ border-left-color:var(--cls-ox); background:var(--cls-ox-tint); }
.cls-box--alert .cls-box-label{ color:var(--cls-ox-deep); }
.cls-box--best{ border-left-color:var(--cls-green); background:var(--cls-green-tint); }
.cls-box--best .cls-box-label{ color:var(--cls-green); }
.cls-box--note{ border-left-color:var(--cls-slate); background:var(--cls-paper-3); }
.cls-box--note .cls-box-label{ color:var(--cls-slate); }

/* --------------------------------------------------------------------------
   9. TABELAS TÉCNICAS
   -------------------------------------------------------------------------- */
.cls-table{ width:100%; border-collapse:collapse; margin:1.4rem 0; font-size:.94rem; }
.cls-table th{
  background:var(--cls-ox); color:#fff; font-family:var(--display); font-weight:600;
  font-size:.84rem; text-align:left; padding:.6rem .8rem; letter-spacing:.01em;
}
.cls-table td{ padding:.6rem .8rem; border-bottom:1px solid var(--cls-line); vertical-align:top; line-height:1.5; }
.cls-table tbody tr:nth-child(odd){ background:var(--cls-paper-3); }
.cls-table code{
  font-family:var(--mono); font-size:.86rem; color:var(--cls-ox);
  background:rgba(142,43,34,.06); padding:.08rem .32rem; border-radius:2px;
}

/* --------------------------------------------------------------------------
   10. FLUXO PERICIAL — diagrama de 8 passos
   -------------------------------------------------------------------------- */
.cls-flow{ display:grid; grid-template-columns:repeat(auto-fit,minmax(128px,1fr)); gap:.55rem; margin:1.9rem 0 1rem; }
.cls-flow-step{
  background:#fff; border:1.5px solid var(--cls-ox); padding:.85rem .7rem;
  text-align:center; position:relative;
}
.cls-flow-step:last-child{ background:var(--cls-ox); border-color:var(--cls-ox); }
.cls-flow-n{
  font-family:var(--mono); font-size:.72rem; color:var(--cls-ox);
  display:block; margin-bottom:.3rem; font-weight:500;
}
.cls-flow-step:last-child .cls-flow-n{ color:var(--cls-ox-tint); }
.cls-flow-t{ font-family:var(--display); font-weight:700; font-size:.86rem; color:var(--cls-ink); line-height:1.28; }
.cls-flow-step:last-child .cls-flow-t{ color:#fff; }

/* --------------------------------------------------------------------------
   11. BLOCOS "PARA QUEM É"
   -------------------------------------------------------------------------- */
.cls-who{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:1.4rem; margin-top:1.8rem; }
.cls-who-col{ background:#fff; border:1px solid var(--cls-line); padding:1.35rem 1.4rem; }
.cls-who-t{
  font-family:var(--display); font-weight:700; font-size:1.06rem; color:var(--cls-ink);
  padding-bottom:.6rem; margin-bottom:.85rem; border-bottom:2px solid var(--cls-ox);
}
.cls-who-col ul{ list-style:none; padding:0; margin:0; }
.cls-who-col li{ font-size:.94rem; line-height:1.5; color:var(--cls-slate); padding:.3rem 0 .3rem 1.15rem; position:relative; }
.cls-who-col li::before{ content:"—"; position:absolute; left:0; color:var(--cls-ox); }

/* --------------------------------------------------------------------------
   12. PUBLICAÇÕES
   -------------------------------------------------------------------------- */
.cls-pub{ border:1px solid var(--cls-line); background:#fff; padding:1.3rem 1.45rem; margin-bottom:1rem; }
.cls-pub-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin-bottom:.5rem; }
.cls-pub-t{ font-family:var(--display); font-weight:700; font-size:1.1rem; color:var(--cls-ink); margin:0; }
.cls-pub-d{ font-size:.96rem; line-height:1.6; color:var(--cls-slate); margin-bottom:.8rem; }
.cls-status{
  font-family:var(--mono); font-size:.66rem; letter-spacing:.12em; text-transform:uppercase;
  padding:.24rem .6rem; border-radius:2px; white-space:nowrap; font-weight:500;
}
.cls-status--pub{ background:var(--cls-green-tint); color:var(--cls-green); border:1px solid var(--cls-green); }
.cls-status--edit{ background:var(--cls-amber-tint); color:var(--cls-amber); border:1px solid var(--cls-amber); }
.cls-status--plan{ background:var(--cls-paper-2); color:var(--cls-slate); border:1px solid var(--cls-line); }

/* --------------------------------------------------------------------------
   13. GOVERNANÇA
   -------------------------------------------------------------------------- */
.cls-gov{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:1.4rem; margin-top:1.6rem; }
.cls-gov-card{ border:1px solid var(--cls-line); background:#fff; padding:1.35rem 1.45rem; }
.cls-gov-role{
  font-family:var(--mono); font-size:.68rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--cls-ox); margin-bottom:.6rem;
}
.cls-gov-name{ font-family:var(--display); font-weight:700; font-size:1.14rem; color:var(--cls-ink); margin-bottom:.35rem; }
.cls-gov-desc{ font-size:.95rem; line-height:1.58; color:var(--cls-slate); }

/* --------------------------------------------------------------------------
   14. CTA INSTITUCIONAL — único, discreto, ao final
   -------------------------------------------------------------------------- */
.cls-cta{ background:var(--cls-ink); color:#EDEAE3; padding:2.6rem 0; }
.cls-cta h2{ font-family:var(--display); font-weight:700; font-size:1.4rem; color:#fff; margin-bottom:.6rem; }
.cls-cta p{ color:#B4ADA3; font-size:1.01rem; line-height:1.6; margin-bottom:1.3rem; max-width:58ch; }
.cls-cta .btn{ border-radius:0; }

/* --------------------------------------------------------------------------
   15. RODAPÉ DO PADRÃO
   -------------------------------------------------------------------------- */
.cls-foot{ background:var(--cls-paper-2); border-top:1px solid var(--cls-line); padding:2.2rem 0 1.6rem; font-size:.9rem; }
.cls-foot-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:1.6rem; margin-bottom:1.6rem; }
.cls-foot-t{
  font-family:var(--mono); font-size:.68rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--cls-ox); margin-bottom:.7rem;
}
.cls-foot a{ color:var(--cls-slate); text-decoration:none; display:block; padding:.18rem 0; }
.cls-foot a:hover{ color:var(--cls-ox); text-decoration:underline; text-underline-offset:2px; }
.cls-foot-legal{
  border-top:1px solid var(--cls-line); padding-top:1.2rem;
  font-family:var(--mono); font-size:.74rem; line-height:1.75; color:var(--cls-slate);
}
.cls-foot-legal strong{ color:var(--cls-ink); font-weight:500; }

/* --------------------------------------------------------------------------
   16. FIGURAS
   -------------------------------------------------------------------------- */
.cls-fig{ margin:1.9rem 0; }
.cls-fig img{ width:100%; height:auto; display:block; border:1px solid var(--cls-line); }
.cls-fig figcaption{
  font-family:var(--mono); font-size:.76rem; color:var(--cls-slate);
  margin-top:.55rem; padding-top:.5rem; border-top:1px solid var(--cls-line-soft);
}

/* --------------------------------------------------------------------------
   17. LISTAS E UTILITÁRIOS
   -------------------------------------------------------------------------- */
.cls-list{ list-style:none; padding:0; margin:1rem 0; }
.cls-list li{ padding:.4rem 0 .4rem 1.4rem; position:relative; line-height:1.6; }
.cls-list li::before{ content:"▸"; position:absolute; left:0; color:var(--cls-ox); font-size:.85rem; top:.5rem; }
.cls-actions{ display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.5rem; }
.cls-mono{ font-family:var(--mono); font-size:.9em; }
.cls-doi{ font-family:var(--mono); font-size:.88rem; color:var(--cls-ox); word-break:break-all; }

.btn-cls{
  background:var(--cls-ox); color:#fff; border:1.5px solid var(--cls-ox);
  font-family:var(--display); font-weight:600; padding:.72rem 1.4rem; border-radius:0;
  text-decoration:none; display:inline-block; font-size:.94rem; transition:background .15s;
}
.btn-cls:hover{ background:var(--cls-ox-deep); border-color:var(--cls-ox-deep); color:#fff; }
.btn-cls-outline{
  background:transparent; color:var(--cls-ink); border:1.5px solid var(--cls-ink);
  font-family:var(--display); font-weight:600; padding:.72rem 1.4rem; border-radius:0;
  text-decoration:none; display:inline-block; font-size:.94rem; transition:background .15s,color .15s;
}
.btn-cls-outline:hover{ background:var(--cls-ink); color:#fff; }
.btn-cls-ghost{
  background:transparent; color:var(--cls-slate); border:1px solid var(--cls-line);
  font-family:var(--mono); font-weight:400; padding:.68rem 1.2rem; border-radius:0;
  text-decoration:none; display:inline-block; font-size:.82rem; transition:border-color .15s,color .15s;
}
.btn-cls-ghost:hover{ border-color:var(--cls-ox); color:var(--cls-ox); }

/* --------------------------------------------------------------------------
   18. RESPONSIVO
   -------------------------------------------------------------------------- */
@media (max-width:768px){
  .cls-hero{ padding:1.8rem 0 2.2rem; }
  .cls-sec{ padding:2.4rem 0; }
  .cls-bar-inner{ font-size:.68rem; }
  .cls-nav-inner{ gap:1rem; overflow-x:auto; flex-wrap:nowrap; padding:.6rem 0; -webkit-overflow-scrolling:touch; }
  .cls-nav-sep{ display:none; }
  .cls-flow{ grid-template-columns:repeat(2,1fr); }
  .cls-hero-sub{ font-size:1.06rem; }
}

/* --------------------------------------------------------------------------
   19. IMPRESSÃO
   -------------------------------------------------------------------------- */
@media print{
  .cls-bar, .cls-nav, .cls-cta, .cls-actions{ display:none !important; }
  .cls-sec{ padding:1rem 0; border-bottom:1px solid #ccc; }
  a[href^="http"]::after{ content:" (" attr(href) ")"; font-size:.75em; color:#666; }
}

/* ==========================================================================
   19. PÁGINA DO LIVRO — Litígios de Software (CLS Advanced)
   ========================================================================== */
.cls-book-hero{ background:var(--cls-ink); color:#EDEAE3; padding:3rem 0 3.4rem; }
.cls-book-hero .cls-hero-kicker{ color:#C98A80; }
.cls-book-grid{ display:grid; grid-template-columns:minmax(200px,278px) 1fr; gap:2.6rem; align-items:start; }
.cls-book-cover{
  width:100%; aspect-ratio:1/1.6; background:var(--cls-paper-2);
  border:1px solid rgba(255,255,255,.14); box-shadow:0 18px 44px rgba(0,0,0,.42);
  display:flex; align-items:center; justify-content:center; overflow:hidden;
}
.cls-book-cover img{ width:100%; height:100%; object-fit:cover; display:block; }
.cls-book-cover-ph{ text-align:center; padding:1.4rem; }
.cls-book-cover-ph span{
  display:block; font-family:var(--mono); font-size:.66rem; letter-spacing:.16em;
  text-transform:uppercase; color:var(--cls-ox); margin-bottom:.6rem;
}
.cls-book-cover-ph strong{ display:block; font-family:var(--display); font-size:1.16rem; color:var(--cls-ink); line-height:1.2; }
.cls-book-cover-ph em{ display:block; font-size:.82rem; color:var(--cls-slate); margin-top:.5rem; font-style:normal; }

.cls-book-title{
  font-family:var(--display); font-weight:800; font-size:clamp(2.1rem,5.2vw,3.1rem);
  line-height:1.04; letter-spacing:-.025em; color:#fff; margin:0 0 .45rem;
}
.cls-book-line{
  font-family:var(--mono); font-size:.86rem; letter-spacing:.18em; text-transform:uppercase;
  color:#C98A80; margin-bottom:.9rem;
}
.cls-book-sub{ font-size:1.14rem; line-height:1.5; color:#D6D0C7; margin-bottom:1rem; max-width:52ch; }
.cls-book-author{ font-family:var(--display); font-weight:600; font-size:1.02rem; color:#fff; margin-bottom:1.4rem; }
.cls-book-author span{ font-weight:400; color:#9A9289; font-size:.92rem; }
.cls-book-pull{
  border-left:3px solid var(--cls-ox); padding:.2rem 0 .2rem 1.1rem; margin:1.4rem 0 1.6rem;
  font-size:1.08rem; font-style:italic; line-height:1.5; color:#EDEAE3; max-width:50ch;
}
.cls-book-badges{ display:flex; flex-wrap:wrap; gap:.45rem; margin-bottom:1.6rem; }
.cls-book-badge{
  font-family:var(--mono); font-size:.68rem; letter-spacing:.05em;
  border:1px solid rgba(255,255,255,.22); padding:.32rem .62rem; color:#C4BDB3; border-radius:2px;
}
.cls-book-badge strong{ color:#fff; font-weight:500; }
.btn-amazon{
  background:#FF9900; color:#111 !important; border:1.5px solid #FF9900;
  font-family:var(--display); font-weight:700; padding:.78rem 1.5rem; border-radius:0;
  text-decoration:none; display:inline-block; font-size:.96rem; transition:background .15s;
}
.btn-amazon:hover{ background:#E88B00; border-color:#E88B00; color:#111 !important; }
.btn-book-light{
  background:transparent; color:#EDEAE3 !important; border:1.5px solid rgba(255,255,255,.34);
  font-family:var(--display); font-weight:600; padding:.78rem 1.4rem; border-radius:0;
  text-decoration:none; display:inline-block; font-size:.94rem; transition:border-color .15s,background .15s;
}
.btn-book-light:hover{ border-color:#fff; background:rgba(255,255,255,.08); color:#fff !important; }

/* Temas abordados */
.cls-topics{ display:grid; grid-template-columns:repeat(auto-fill,minmax(252px,1fr)); gap:.9rem; margin-top:1.7rem; }
.cls-topic{ background:#fff; border:1px solid var(--cls-line); border-left:3px solid var(--cls-ox); padding:1rem 1.15rem; }
.cls-topic-t{ font-family:var(--display); font-weight:700; font-size:.98rem; color:var(--cls-ink); margin-bottom:.35rem; }
.cls-topic-d{ font-size:.9rem; line-height:1.5; color:var(--cls-slate); }

/* Comparação Standard × Advanced */
.cls-compare{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:1.4rem; margin-top:1.8rem; }
.cls-compare-col{ border:1px solid var(--cls-line); background:#fff; padding:1.5rem 1.55rem; }
.cls-compare-col--adv{ border-color:var(--cls-ox); border-top:3px solid var(--cls-ox); }
.cls-compare-tag{
  font-family:var(--mono); font-size:.66rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--cls-slate); margin-bottom:.5rem;
}
.cls-compare-col--adv .cls-compare-tag{ color:var(--cls-ox); }
.cls-compare-t{ font-family:var(--display); font-weight:700; font-size:1.24rem; color:var(--cls-ink); margin-bottom:.4rem; }
.cls-compare-s{ font-size:.92rem; color:var(--cls-slate); margin-bottom:1rem; line-height:1.5; }
.cls-compare-col ul{ list-style:none; padding:0; margin:0 0 1.2rem; }
.cls-compare-col li{ font-size:.94rem; line-height:1.5; color:var(--cls-slate); padding:.32rem 0 .32rem 1.2rem; position:relative; }
.cls-compare-col li::before{ content:"—"; position:absolute; left:0; color:var(--cls-ox); }

/* Autor */
.cls-author{ display:grid; grid-template-columns:minmax(150px,208px) 1fr; gap:2rem; align-items:start; }
.cls-author-photo{
  width:100%; aspect-ratio:4/5; object-fit:cover; display:block;
  border:1px solid var(--cls-line); filter:saturate(.86);
}
.cls-author-name{ font-family:var(--display); font-weight:700; font-size:1.32rem; color:var(--cls-ink); margin-bottom:.25rem; }
.cls-author-role{
  font-family:var(--mono); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--cls-ox); margin-bottom:1rem;
}

/* Destaque do livro na home e no microsite CLS */
.cls-book-feature{ background:var(--cls-paper-2); border:1px solid var(--cls-line); border-left:4px solid var(--cls-ox); padding:1.9rem 2rem; }
.cls-book-feature-grid{ display:grid; grid-template-columns:minmax(120px,164px) 1fr; gap:1.8rem; align-items:center; }
.cls-book-feature .cls-book-cover{ box-shadow:0 8px 22px rgba(24,28,31,.16); border-color:var(--cls-line); }

@media (max-width:768px){
  .cls-book-grid, .cls-author, .cls-book-feature-grid{ grid-template-columns:1fr; gap:1.6rem; }
  .cls-book-cover{ max-width:210px; }
  .cls-book-hero{ padding:2.2rem 0 2.6rem; }
}

/* --------------------------------------------------------------------------
   20. PUBLICAÇÃO EM DESTAQUE — home do microsite e home institucional
   -------------------------------------------------------------------------- */
.cls-book-feature{ background:var(--cls-paper-2); }
.cls-book-feature-grid{
  display:grid; grid-template-columns:220px 1fr; gap:2.2rem;
  align-items:center; margin-top:1.4rem;
}
.cls-book-feature-cover{ display:block; text-decoration:none; }
.cls-book-feature-cover img{
  width:100%; height:auto; display:block;
  border:1px solid var(--cls-line);
  box-shadow:0 10px 30px rgba(24,28,31,.14);
  transition:transform .18s, box-shadow .18s;
}
.cls-book-feature-cover:hover img{ transform:translateY(-3px); box-shadow:0 14px 38px rgba(24,28,31,.2); }
.cls-book-feature-kicker{
  font-family:var(--mono); font-size:.74rem; letter-spacing:.2em;
  text-transform:uppercase; color:var(--cls-ox); margin-bottom:.5rem;
}
.cls-book-feature-sub{
  font-family:var(--display); font-weight:600; font-size:1.06rem;
  color:var(--cls-ox); margin-bottom:.9rem; line-height:1.35;
}
.cls-book-feature-author{
  font-family:var(--mono); font-size:.82rem; color:var(--cls-slate);
  margin:.9rem 0 0; padding-top:.8rem; border-top:1px solid var(--cls-line);
}
@media (max-width:768px){
  .cls-book-feature-grid{ grid-template-columns:1fr; gap:1.5rem; }
  .cls-book-feature-cover{ max-width:180px; }
}

/* Destaque do livro na site principal (fora do microsite) */
.book-home{ background:#181C1F; color:#EDEAE3; padding:3rem 0; }
.book-home-grid{ display:grid; grid-template-columns:200px 1fr; gap:2.4rem; align-items:center; }
.book-home img{
  width:100%; height:auto; display:block; border:1px solid #3A3F44;
  box-shadow:0 12px 34px rgba(0,0,0,.4);
}
.book-home-kicker{
  font-family:var(--mono); font-size:.72rem; letter-spacing:.2em;
  text-transform:uppercase; color:#C97A6E; margin-bottom:.6rem;
}
.book-home h2{ font-family:var(--display); font-weight:800; font-size:clamp(1.6rem,3.6vw,2.2rem); color:#fff; margin-bottom:.3rem; }
.book-home-sub{ font-family:var(--display); font-weight:600; font-size:1.04rem; color:#C97A6E; margin-bottom:.9rem; }
.book-home p{ color:#B4ADA3; line-height:1.65; margin-bottom:1.3rem; max-width:60ch; }
.book-home .cls-actions{ margin-top:0; }
.book-home .btn-cls-outline{ color:#fff; border-color:#fff; }
.book-home .btn-cls-outline:hover{ background:#fff; color:#181C1F; }
@media (max-width:768px){
  .book-home-grid{ grid-template-columns:1fr; gap:1.6rem; }
  .book-home img{ max-width:170px; }
}
/* Integração da CLS à marca autoral: uma só navegação e um só rodapé. */
.cls-page{background:#f4f1eb}.cls-masthead{background:#181c1f;color:#fff;padding:1.2rem 0}.cls-masthead-row{display:flex;align-items:center;justify-content:space-between;gap:2rem}.cls-wordmark{display:flex;align-items:baseline;gap:.8rem;color:#fff;text-decoration:none}.cls-wordmark strong{font:800 1.8rem/1 var(--font-sans);letter-spacing:-.04em}.cls-wordmark span{font:500 .72rem/1.2 var(--font-mono);color:#adb7b2;text-transform:uppercase;letter-spacing:.07em}.cls-masthead p{margin:0;font:500 .7rem/1.3 var(--font-mono);color:#adb7b2}.cls-subnav{background:#22282b;border-bottom:1px solid rgba(255,255,255,.1)}.cls-subnav-scroll{display:flex;gap:.1rem;overflow:auto;white-space:nowrap}.cls-subnav a{display:block;padding:.85rem .8rem;color:#c6ceca;text-decoration:none;font:600 .7rem/1 var(--font-mono);text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid transparent}.cls-subnav a:hover,.cls-subnav a.active{color:#fff;border-bottom-color:#c45c4a}.cls-resources{background:#202629;color:#fff;padding:3.2rem 0}.cls-resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.cls-resource-grid>div{display:flex;flex-direction:column;gap:.45rem}.cls-resource-title{font:700 .73rem/1 var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:#fff;margin:0 0 .5rem}.cls-resource-grid a{color:#bfc8c4;text-decoration:none;font:500 .85rem/1.4 var(--font-sans)}.cls-resource-grid a:hover{color:#fff}.cls-disclaimer{border-top:1px solid rgba(255,255,255,.14);margin:2rem 0 0;padding-top:1.2rem;color:#9da8a3;font:500 .7rem/1.55 var(--font-mono)}.cls-page .site-footer{border-top:1px solid rgba(255,255,255,.1)}.cls-page .cls-bar,.cls-page .cls-nav,.cls-page .cls-foot,.cls-page .cls-cta{display:none!important}.cls-page .cls-crumb{display:none}.breadcrumb-line{padding-top:1rem}.cls-page .cls-sec:first-of-type{padding-top:4rem}
@media(max-width:800px){.cls-masthead-row{display:block}.cls-masthead p{margin-top:.7rem}.cls-resource-grid{grid-template-columns:1fr}}


/* V6 — microsite em área dedicada independente, vinculado à marca autoral. */
:root{--display:var(--font-sans);--body:var(--font-serif);--mono:var(--font-mono)}
.cls-standalone .cls-masthead--standalone{padding:1.15rem 0;background:#181c1f}
.cls-standalone .cls-author-reference a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.cls-standalone .cls-author-reference a:hover{color:#e7b8ad}
.cls-standalone .cls-subnav-scroll{align-items:center}
.cls-standalone .cls-subnav-main{margin-left:auto;color:#fff;border-left:1px solid rgba(255,255,255,.14);padding-left:1rem}
.cls-standalone .cls-disclaimer a{color:#fff}
.cls-standalone .contact-cta{padding:3.5rem 0}
.cls-standalone .contact-cta h2{font:800 clamp(2rem,4vw,3.5rem)/1.05 var(--font-sans);letter-spacing:-.04em;margin:0 0 1rem;max-width:18ch}
@media(max-width:900px){.cls-standalone .cls-subnav-main{margin-left:0;border-left:0;padding-left:.8rem}}

/* V11 — versão compacta editorial */
.cls-masthead{padding:.75rem 0}
.cls-wordmark strong{font-size:1.5rem}.cls-wordmark span{font-size:.64rem}.cls-masthead p{font-size:.64rem}
.cls-subnav a{padding:.68rem .72rem;font-size:.64rem}
.cls-hero{padding:2rem 0 2.15rem}
.cls-hero-compact-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:2.5rem;align-items:end}
.cls-hero-mark{font-size:clamp(3rem,7vw,4.7rem)}
.cls-hero-full{font-size:clamp(1rem,2vw,1.3rem);margin:.35rem 0 .75rem}
.cls-hero-sub{font-size:1.08rem;margin-bottom:.45rem}.cls-hero-support{font-size:.96rem}
.cls-hero-meta{border-top:1px solid var(--cls-line)}.cls-hero-meta p{display:grid;grid-template-columns:90px 1fr;gap:.8rem;margin:0;padding:.55rem 0;border-bottom:1px solid var(--cls-line);font-size:.84rem}.cls-hero-meta strong{font-family:var(--display);color:var(--cls-ink)}.cls-hero-meta span,.cls-hero-meta a{color:var(--cls-slate);text-decoration:none}
.cls-sec{padding:2.25rem 0}.cls-page .cls-sec:first-of-type{padding-top:2.25rem}
.cls-intro-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:2.5rem;align-items:start}
.cls-section-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1rem}.cls-section-heading .cls-h2{margin-bottom:.4rem}
.cls-h2{font-size:clamp(1.4rem,2.7vw,1.9rem);margin-bottom:.65rem}.cls-lead{font-size:1rem;line-height:1.58}
.cls-pull{padding:1rem 1.15rem;margin:1rem 0 0;font-size:1rem}
.cls-grid{grid-template-columns:repeat(3,1fr);gap:.7rem;margin-top:1rem}.cls-card{padding:.9rem 1rem}.cls-card-name{font-size:.98rem;margin-bottom:.35rem}.cls-card-prod{font-size:.82rem}
.cls-flow{gap:.4rem;margin:1rem 0}.cls-flow-step{padding:.65rem .45rem}.cls-flow-t{font-size:.78rem}
.cls-box{padding:.85rem 1rem;margin:1rem 0}.cls-box p{font-size:.9rem}
.cls-princ{grid-template-columns:repeat(3,1fr);gap:.8rem;margin-top:1rem}.cls-princ-item{padding-left:.85rem}.cls-princ-d{font-size:.86rem;margin-bottom:0}
.cls-actions{margin-top:1rem;gap:.45rem}.btn-cls,.btn-cls-outline,.btn-cls-ghost{padding:.58rem .8rem;font-size:.72rem}
.cls-book-feature{padding:2.25rem 0;border-left:0}.cls-book-feature-grid{grid-template-columns:130px 1fr;gap:1.4rem}.cls-book-feature-cover img{max-width:120px}
.cls-compact-cta{background:var(--cls-ink);color:#fff;padding:1.7rem 0}.cls-compact-cta .container{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2rem}.cls-compact-cta h2{font-family:var(--display);font-size:1.45rem;margin:.2rem 0 .35rem}.cls-compact-cta p{margin:0;color:#b8c1bd;font-size:.9rem;max-width:700px}
.cls-site-footer--compact{background:#202629;color:#fff;padding:1.7rem 0 1rem}.cls-footer-compact-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}.cls-footer-compact-grid p{color:#9da8a3;font-size:.74rem;margin:.6rem 0 0}.cls-footer-compact-grid nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.45rem 1rem}.cls-footer-compact-grid nav a{color:#bfc8c4;text-decoration:none;font:600 .72rem/1.35 var(--font-sans)}.cls-footer-compact-grid nav a:hover{color:#fff}.cls-site-footer--compact .cls-disclaimer{margin:1rem 0 0;padding-top:.8rem;font-size:.62rem}
@media(max-width:900px){.cls-hero-compact-grid,.cls-intro-grid{grid-template-columns:1fr}.cls-grid,.cls-princ{grid-template-columns:repeat(2,1fr)}.cls-section-heading{display:grid;align-items:start}.cls-compact-cta .container,.cls-footer-compact-grid{grid-template-columns:1fr}.cls-footer-compact-grid nav{justify-content:flex-start}}
@media(max-width:600px){.cls-grid,.cls-princ{grid-template-columns:1fr}.cls-book-feature-grid{grid-template-columns:90px 1fr}.cls-book-feature-cover img{max-width:85px}.cls-hero-meta p{grid-template-columns:72px 1fr}}
