:root{
    --bg: #BDBCBF;            /* fundo cinza do template */
    --ink: #0f0f12;           /* texto principal */
    --muted: rgba(15,15,18,.65);
    --card: rgba(255,255,255,.86);
    --pill: rgba(255,255,255,.35);
    --pill-border: rgba(255,255,255,.35);
    --btn-dark: #0f0f12;
    --radius-xl: 28px;
    --radius-lg: 18px;
    --gray: #EFEAE4;
    --blk-brown: #3A2B22;
    --wht-brown: #c8a37f;
    --fade-brown: rgba(200, 163, 127, .22);
    --line:rgba(10, 18, 26, 0.22);

    --max:1200px;
}

body{
    background: var(--bg);
    color: var(--ink);
    font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

img{
    max-width: 100%;
    height: auto;
    display: block;
}

.divider{
    height:1px;
    background:var(--blk-brown);
    max-width:var(--max);
    margin:0 auto;
    opacity:.7;
}

.btn-cta{
    background: var(--btn-dark);
    border-color: var(--btn-dark);
    color: #fff;
    border-radius: 999px;
    padding: .75rem 1.15rem;
    font-weight: 700;
}

.btn-cta:hover{ 
    color: var(--blk-brown); background: var(--fade-brown);  
}

.btn-secondary-soft{
    background: rgba(255,255,255,.28);
    border: 1px solid rgba(15,15,18,.18);
    color: var(--btn-dark);
    border-radius: 999px;
    padding: .75rem 1.15rem;
    font-weight: 700;
}

.btn-secondary-soft:hover{ 
    color: var(--blk-brown); background: var(--fade-brown); 
}

.link-cta{
    font-weight: 800;
    text-decoration: none;
    color: var(--ink);
    display: inline-flex;
    align-items: center;
    gap: .4rem;
}
    
.link-cta:hover{ 
    text-decoration: underline; 
}

@media (max-width: 767.98px){

  .page-shell{
    overflow-x: clip;
  }

}

/* ===== MOBILE PEQUENO ===== */
@media (max-width: 575.98px){

  .container{
    padding-left: 18px;
    padding-right: 18px;
  }

  .hero-title{
    font-size: clamp(1.7rem, 8.4vw, 2.15rem);
  }

  .hero-lead{
    font-size: .95rem;
    max-width: 30ch;
  }

  .hero-justica{
    width: min(78vw, 240px);
    max-width: 240px;
  }

  .btn-cta,
  .btn-secondary-soft{
    font-size: .92rem;
    padding: .85rem 1rem;
  }

  .ticker-item{
    padding: 0 14px;
    font-size: .68rem;
  }

  .ticker-sep{
    width: 4px;
    height: 4px;
  }

  .inf-card{
    padding: 15px 14px;
  }

  .inf-card-title{
    font-size: .94rem;
  }

  .inf-card-sub{
    font-size: .89rem;
  }
}
