/* ================================================================
   COOPHAB — camada local sobre brand.css + chrome.css.
   Sem sobrescrever tokens da casa: o accent é o brick do atelier.
   Componentes espelham os das páginas-irmãs (bc.css, bep99.css),
   com a voz própria desta página.
   ================================================================ */

.sec{ padding: clamp(48px,7vw,110px) var(--pad); max-width:var(--max); margin:0 auto; }
.sec--tint{ background:var(--bg-2); max-width:none; }
.sec--tint > .sec__inner{ max-width:var(--max); margin:0 auto; }
.lede{ font-size:clamp(17px,1.6vw,21px); line-height:1.55; max-width:64ch; color:var(--ink-2); }

.law-chip{ display:inline-block; font-family:var(--f-mono); font-size:11px;
  letter-spacing:.05em; border:1px solid var(--rule); padding:4px 10px; border-radius:999px; margin:0 6px 6px 0; color:var(--ink-2); }
.law-chip a{ color:inherit; }
.law-chip a:hover{ color:var(--accent); border-color:var(--accent); }

/* os três módulos */
.mods{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:var(--grid-gap); margin-top:34px; }
.mod{ border:1px solid var(--rule); border-top:2px solid var(--accent); padding:24px; display:flex; flex-direction:column; gap:10px; background:var(--bg); }
.mod h3{ font-size:17px; letter-spacing:-.01em; margin:0; }
.mod p{ font-size:14px; color:var(--ink-2); margin:0; line-height:1.55; }
.mod .mono{ color:var(--ink-3); }
.mod ul{ list-style:none; margin:6px 0 0; padding:0; display:grid; gap:5px; font-size:13px; color:var(--ink-2); }
.mod ul li{ padding-left:16px; position:relative; }
.mod ul li::before{ content:"—"; position:absolute; left:0; color:var(--ink-3); font-family:var(--f-mono); font-size:11px; top:2px; }

/* passos */
.steps{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:var(--grid-gap); counter-reset:step; margin-top:34px; }
.step{ border-top:2px solid var(--accent); padding-top:14px; }
.step h3{ font-size:15px; margin:0 0 6px; }
.step p{ font-size:14px; color:var(--ink-2); margin:0; }
.step::before{ counter-increment:step; content:"0" counter(step);
  font-family:var(--f-mono); font-size:11px; color:var(--ink-3); display:block; margin-bottom:10px; }

/* bloco de preço honesto */
.price-note{ border:1px solid var(--rule); background:var(--bg); padding:26px; max-width:820px; }
.price-note .num{ font-family:var(--f-mono); font-size:clamp(24px,2.6vw,34px); color:var(--ink); }
.price-note .num small{ font-size:12px; color:var(--ink-3); }
.price-note p{ font-size:14px; color:var(--ink-2); line-height:1.55; }

/* listas de texto */
.plain{ list-style:none; margin:26px 0 0; padding:0; display:grid; gap:14px; max-width:820px; }
.plain li{ border-top:1px solid var(--rule); padding-top:14px; display:grid; gap:4px; }
.plain h3{ font-size:15px; margin:0; }
.plain p{ font-size:14px; color:var(--ink-2); margin:0; line-height:1.55; }

/* FAQ */
.faq{ border-top:1px solid var(--rule); }
.faq details{ border-bottom:1px solid var(--rule); }
.faq summary{ cursor:pointer; padding:16px 0; font-weight:500; font-size:15px; list-style:none; display:flex; justify-content:space-between; }
.faq summary::after{ content:"+"; font-family:var(--f-mono); color:var(--ink-3); }
.faq details[open] summary::after{ content:"–"; }
.faq p{ margin:0 0 16px; font-size:14px; color:var(--ink-2); max-width:70ch; line-height:1.55; }
.faq a{ color:var(--accent); text-decoration:underline; text-underline-offset:.15em; }

/* ligações exteriores no corpo */
.ext{ color:var(--accent); text-decoration:underline; text-underline-offset:.15em; }

/* casos de estudo */
.casos{ display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:var(--grid-gap); margin-top:34px; }
.caso{ border:1px solid var(--rule); padding:18px 20px; display:flex; flex-direction:column; gap:6px; background:var(--bg); transition:border-color var(--tr-fast); }
.caso:hover{ border-color:var(--ink); }
.caso .mono{ color:var(--ink-3); }
.caso h3{ font-size:15px; margin:0; letter-spacing:-.01em; }
.caso h3 a{ color:inherit; }
.caso h3 a:hover{ color:var(--accent); }
.caso p{ font-size:13px; color:var(--ink-2); margin:0; line-height:1.5; }
.casos-grupo{ margin:0 0 10px; font-family:var(--f-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-3); }

/* legislação */
.refs{ list-style:none; margin:26px 0 0; padding:0; display:grid; gap:0; max-width:900px; }
.refs > li{ border-top:1px solid var(--rule); padding:16px 0; display:grid; gap:4px; }
.refs h3{ font-size:15px; margin:0; }
.refs h3 a{ color:inherit; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.15em; }
.refs h3 a:hover{ color:var(--accent); }
.refs p{ font-size:13.5px; color:var(--ink-2); margin:0; line-height:1.55; max-width:80ch; }
.refs .mono{ color:var(--ink-3); }
