/* Dr. Mauro Melo: design system do site (v1)
   Identidade: navy #041E41 + dourado #DDBB68/#9F7C3D do kit oficial de logo.
   Assinatura visual: linhas paralelas em ângulo, derivadas do monograma MM.
   O bloco crítico (tokens, reset, nav, hero, botões) vive inline no <head> de cada
   página; este arquivo carrega o resto. Cache immutable: mudou algo aqui, renomear
   pra site.v2.css e trocar o <link> das páginas. */

/* ===== seções e cabeçalhos ===== */
section{position:relative;padding:96px 0}
.shead{max-width:720px;margin-bottom:56px}
.shead h2{font-size:clamp(30px,4.4vw,44px)}
.shead p{margin-top:14px;color:var(--ink2);font-size:17px}
.center{margin-left:auto;margin-right:auto;text-align:center}
.center .kicker::before{margin-right:auto}

/* ===== faixa de confiança ===== */
.trust{background:var(--navy);border-top:1px solid rgba(221,187,104,.18);padding:22px 0}
.trust .wrap{display:flex;flex-wrap:wrap;gap:14px 40px;justify-content:center}
.trust span{display:inline-flex;align-items:center;gap:10px;color:var(--hmut);font-size:13.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.trust b{color:var(--gold);font-weight:700}
.trust svg{width:16px;height:16px;stroke:var(--gold)}

/* ===== bloco posicionamento ===== */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:52px}
.pillar{background:var(--white);border:1px solid var(--line);border-top:2px solid var(--gold);padding:30px 26px;transition:transform .25s,box-shadow .25s}
.pillar:hover{transform:translateY(-4px);box-shadow:0 24px 48px -32px rgba(4,30,65,.35)}
.pillar h3{font-size:21px;margin-bottom:10px}
.pillar p{color:var(--ink2);font-size:15.5px}
.pillar .chevs{margin-bottom:18px}
.note-fem{margin-top:34px;color:var(--ink2);font-size:15px;border-left:2px solid var(--gold);padding-left:16px}

/* ===== grid de procedimentos ===== */
.procs{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.proc{position:relative;background:var(--white);border:1px solid var(--line);padding:26px 24px 24px;display:flex;flex-direction:column;gap:10px;transition:transform .25s,box-shadow .25s,border-color .25s;overflow:hidden}
.proc::after{content:"";position:absolute;top:0;right:0;width:54px;height:54px;background:repeating-linear-gradient(-55deg,transparent 0 7px,rgba(221,187,104,.5) 7px 8.5px);clip-path:polygon(100% 0,0 0,100% 100%);opacity:0;transition:opacity .25s}
.proc:hover{transform:translateY(-4px);border-color:var(--gold);box-shadow:0 24px 48px -32px rgba(4,30,65,.4)}
.proc:hover::after{opacity:1}
.proc h3{font-size:19.5px;line-height:1.15}
.proc p{color:var(--ink2);font-size:14.5px;flex:1}
.proc .go{color:var(--bronze);font-weight:700;font-size:13.5px;letter-spacing:.08em;text-transform:uppercase;display:inline-flex;align-items:center;gap:7px}
.proc .go::after{content:"";width:14px;height:1.5px;background:var(--bronze);transition:width .25s}
.proc:hover .go::after{width:26px}

/* ===== como funciona (sequência real: numeração carrega ordem) ===== */
.steps{counter-reset:passo;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);background:var(--white)}
.step{counter-increment:passo;padding:34px 26px;position:relative}
.step + .step{border-left:1px solid var(--line)}
.step::before{content:"0" counter(passo);font-family:var(--disp);font-size:38px;color:var(--gold);display:block;margin-bottom:14px}
.step h3{font-size:18.5px;margin-bottom:8px}
.step p{color:var(--ink2);font-size:14.5px}

/* ===== sobre resumido ===== */
.sobre-grid{display:grid;grid-template-columns:400px 1fr;gap:64px;align-items:center}
.sobre-ph{position:relative}
.sobre-ph img{width:100%;height:auto}
.sobre-ph::after{content:"";position:absolute;inset:18px -18px -18px 18px;border:1px solid var(--gold);z-index:-1}
.sobre-copy h2{font-size:clamp(28px,3.6vw,40px);margin-bottom:18px}
.sobre-copy p{color:var(--ink2);margin-bottom:14px}
.creds{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 30px}
.creds span{border:1px solid var(--line);background:var(--paper);padding:8px 14px;font-size:13px;font-weight:600;color:var(--ink)}

/* ===== casos ===== */
.dark-sec{background:linear-gradient(165deg,var(--navy) 0%,var(--abyss) 100%);color:var(--hink)}
.dark-sec .shead h2,.dark-sec h2{color:var(--hink)}
.dark-sec .shead p{color:var(--hmut)}
.casos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.caso{position:relative;overflow:hidden;border:1px solid rgba(221,187,104,.25)}
.caso img{width:100%;height:auto;display:block;transition:transform .4s}
.caso:hover img{transform:scale(1.03)}
.caso figcaption{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(4,21,38,.92) 55%);color:var(--hink);padding:38px 18px 14px;font-size:14px;font-weight:600}
.disclaimer{margin-top:26px;color:var(--hmut);font-size:13.5px;max-width:640px}

/* ===== FAQ (details nativo, zero JS) ===== */
.faq-list{max-width:780px}
.faq-list details{border:1px solid var(--line);background:var(--white);margin-bottom:12px}
.faq-list summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 22px;font-weight:700;font-size:16.5px;color:var(--ink)}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";font-family:var(--disp);font-size:24px;color:var(--bronze);flex:none;transition:transform .25s}
.faq-list details[open] summary::after{transform:rotate(45deg)}
.faq-list details p{padding:0 22px 20px;color:var(--ink2);font-size:15.5px}
.faq-list a{color:var(--bronze);font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* ===== locais ===== */
.locais{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.local{border:1px solid var(--line);background:var(--white);padding:34px 30px}
.local.main{border-top:2px solid var(--gold)}
.local .tag{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze)}
.local h3{font-size:24px;margin:10px 0 12px}
.local p{color:var(--ink2);font-size:15.5px;margin-bottom:8px}
.local .btn{margin-top:16px}

/* ===== CTA final ===== */
.cta-fim{text-align:center;padding:110px 0}
.cta-fim h2{font-size:clamp(30px,4.6vw,48px);max-width:760px;margin:0 auto 18px}
.cta-fim p{color:var(--hmut);max-width:560px;margin:0 auto 34px;font-size:17px}

/* ===== footer ===== */
footer{background:var(--abyss);color:var(--hmut);padding:64px 0 40px;font-size:14.5px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:44px}
.foot-grid .foot-h{color:var(--hink);font-family:var(--body);font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:16px}
/* a 3ª coluna continua a lista de procedimentos sem repetir o título: compensa a altura dele */
.foot-grid > div:nth-child(3){padding-top:37px}
.foot-grid a{display:block;padding:5px 0;color:var(--hmut);transition:color .2s}
.foot-grid a:hover{color:var(--gold)}
.foot-brand img{width:190px;height:auto;margin-bottom:16px}
.foot-brand p{max-width:280px;line-height:1.55}
.foot-base{border-top:1px solid rgba(221,187,104,.14);padding-top:26px;display:flex;flex-wrap:wrap;gap:12px 30px;justify-content:space-between;font-size:13px}
.foot-base b{color:var(--gold);font-weight:600}

/* ===== páginas internas (procedimentos e institucionais) ===== */
.page-hero{background:linear-gradient(165deg,var(--navy) 0%,var(--abyss) 100%);color:var(--hink);padding:150px 0 64px}
.page-hero h1{font-size:clamp(32px,5vw,52px);max-width:820px;margin-top:14px}
.page-hero .lead{margin-top:18px;max-width:680px;color:var(--hmut);font-size:18px}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13px;color:var(--hmut)}
.crumbs a{color:var(--hmut)}
.crumbs a:hover{color:var(--gold)}
.crumbs .sep{width:14px;height:10px;background:repeating-linear-gradient(-55deg,transparent 0 3px,var(--bronze) 3px 4px)}
.artigo{max-width:780px}
.artigo h2{font-size:clamp(24px,3vw,32px);margin:44px 0 14px}
.artigo p{color:var(--ink2);margin-bottom:14px;font-size:16.5px}
.artigo ul{margin:0 0 14px 20px;color:var(--ink2)}
.artigo li{margin-bottom:8px}
.resposta{border:1px solid var(--line);border-left:2px solid var(--gold);background:var(--white);padding:24px 26px;margin:34px 0;font-size:17px;color:var(--ink)}
.combina{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:20px}
.cta-proc{background:var(--navy);color:var(--hink);padding:36px 32px;margin-top:56px;display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between}
.cta-proc h3{color:var(--hink);font-size:22px;max-width:420px}
.proc-nav{margin-top:64px;padding-top:34px;border-top:1px solid var(--line)}
.proc-nav .lbl{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2);margin-bottom:14px;display:block}
.proc-nav .links{display:flex;flex-wrap:wrap;gap:10px}
.proc-nav .links a{border:1px solid var(--line);background:var(--white);padding:9px 16px;font-size:14px;font-weight:600;color:var(--ink);transition:border-color .2s,color .2s}
.proc-nav .links a:hover{border-color:var(--gold);color:var(--bronze)}

/* ===== responsivo ===== */
@media (max-width:1060px){
  .procs{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .step:nth-child(3){border-left:none}
  .step:nth-child(n+3){border-top:1px solid var(--line)}
}
@media (max-width:900px){
  section{padding:72px 0}
  .pillars{grid-template-columns:1fr}
  .sobre-grid{grid-template-columns:1fr;gap:44px}
  .sobre-ph{max-width:400px}
  .casos-grid{grid-template-columns:1fr;max-width:440px}
  .locais{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .combina{grid-template-columns:1fr}
}
@media (max-width:560px){
  .procs{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .step + .step{border-left:none;border-top:1px solid var(--line)}
  .trust .wrap{gap:10px 22px}
}
