/* Psicologia Mattos - versão anterior ajustada */

:root{
  --azul:#062a46;
  --azul2:#0c3556;
  --dourado:#c49352;
  --rosa:#cf6f88;
  --texto:#0b2943;
  --cinza:#4a5565;
  --bg:#fffaf6;
  --borda:#efdeda;
  --sombra:0 18px 45px rgba(6,42,70,.14);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Segoe UI",Arial,sans-serif;
  color:var(--texto);
  background:#fff;
  line-height:1.6;
}
a{color:inherit}
.container{width:min(1180px,calc(100% - 42px));margin:0 auto}

/* TOPO */
.topo{
  background:var(--azul);
  color:#fff;
  position:sticky;
  top:0;
  z-index:50;
  box-shadow:0 8px 24px rgba(0,0,0,.12);
}
.nav{
  min-height:96px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.marca{
  background:#fff;
  align-self:stretch;
  display:flex;
  align-items:center;
  padding:8px 34px 8px 18px;
  border-bottom-right-radius:54px;
  min-width:360px;
  margin-left:calc((100vw - min(1180px,calc(100% - 42px))) / -2);
  padding-left:calc((100vw - min(1180px,calc(100% - 42px))) / 2 + 18px);
  text-decoration:none;
}
.marca img{
  height:76px;
  width:auto;
  display:block;
  object-fit:contain;
}
.menu{
  display:flex;
  align-items:center;
  gap:23px;
  font-size:15.5px;
  white-space:nowrap;
}
.menu a{
  color:#fff;
  text-decoration:none;
  opacity:.96;
  transition:.2s;
}
.menu a:hover{color:#f1cf9b}
.menu a.ativo{
  color:#f1cf9b;
  border-bottom:2px solid #f1cf9b;
  padding-bottom:7px;
}
.btn-whats-top,
.btn-whats-top:link,
.btn-whats-top:visited,
.btn-whats-top:hover,
.btn-whats-top:active{
  border:1.5px solid #d4a969;
  color:#f4d39f !important;
  padding:12px 18px;
  border-radius:14px;
  font-weight:800;
  text-decoration:none !important;
}
.hamb{
  display:none;
  background:transparent;
  border:0;
  color:#fff;
  font-size:34px;
  cursor:pointer;
}

/* HERO */
.hero{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg, #fffaf6 0%, #ffffff 58%, #fff7f1 100%);
}
.hero-conteudo{
  position:relative;
  z-index:2;
  max-width:860px;
  padding:96px 0 108px;
  text-align:center;
  margin:0 auto;
}
.eyebrow{
  color:var(--dourado);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.09em;
  margin-bottom:20px;
  font-size:15px;
}
h1,h2,h3{
  color:var(--texto);
  line-height:1.15;
  margin:0 0 20px;
}
h1{
  font-size:clamp(2.55rem,5vw,4.35rem);
  letter-spacing:-.045em;
  max-width:860px;
  margin-left:auto;
  margin-right:auto;
}
h2{
  font-size:clamp(2rem,3vw,3rem);
  letter-spacing:-.035em;
}
h3{font-size:1.2rem}
.hero-texto{
  color:#1f2f43;
  font-size:1.12rem;
  max-width:760px;
  margin:0 auto 14px;
}
.hero-destaque{
  font-weight:800;
  font-size:1.09rem;
  color:var(--texto);
  max-width:760px;
  margin:18px auto 0;
}
.botoes{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  margin-top:28px;
  justify-content:center;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  gap:10px;
  padding:15px 26px;
  border-radius:14px;
  font-weight:800;
  transition:.2s;
  border:1.5px solid transparent;
}
.btn-primario{
  background:var(--azul);
  color:#fff;
  box-shadow:0 12px 26px rgba(6,42,70,.25);
}
.btn-primario:hover{transform:translateY(-2px);filter:brightness(1.06)}
.btn-secundario{
  color:var(--dourado);
  border-color:var(--dourado);
  background:rgba(255,255,255,.72);
}

/* VALORES */
.barra-valores{
  position:relative;
  z-index:3;
  margin-top:-44px;
}
.valores-card{
  background:rgba(255,255,255,.96);
  border-radius:18px;
  box-shadow:var(--sombra);
  display:grid;
  grid-template-columns:repeat(4,1fr);
  overflow:hidden;
  border:1px solid rgba(196,147,82,.18);
}
.valor{
  padding:24px 26px;
  display:flex;
  align-items:center;
  gap:14px;
  border-right:1px solid rgba(196,147,82,.40);
  min-height:92px;
}
.valor:last-child{border-right:0}
.valor-icone{
  width:44px;
  height:44px;
  border-radius:50%;
  background:#fff0f3;
  color:var(--rosa);
  display:grid;
  place-items:center;
  font-size:24px;
  flex:0 0 auto;
}
.valor strong{
  display:block;
  line-height:1.28;
  font-size:1rem;
}

/* SEÇÕES */
section.bloco{padding:78px 0}
.center{text-align:center}
.sub{
  color:var(--cinza);
  max-width:850px;
  margin:0 auto 34px;
  font-size:1.06rem;
}
.cards{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:16px;
  margin-top:36px;
}
.card{
  background:#fff;
  border:1px solid var(--borda);
  border-radius:16px;
  padding:28px 20px;
  box-shadow:0 12px 28px rgba(6,42,70,.06);
  min-height:248px;
}
.card .ico{
  width:68px;
  height:68px;
  margin:0 auto 18px;
  border-radius:50%;
  background:#fae8e6;
  display:grid;
  place-items:center;
  color:#c97b83;
  font-size:30px;
}
.card p{
  color:#26364a;
  margin-bottom:0;
  font-size:.96rem;
}
.ajuda{background:linear-gradient(180deg,#fff,#fff7f1)}
.beneficios{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:24px;
  margin-top:36px;
}
.beneficio .ico{
  font-size:36px;
  color:#cc8490;
  margin-bottom:12px;
}
.beneficio h3{
  font-size:1rem;
  margin-bottom:10px;
}
.beneficio p{
  color:#425166;
  font-size:.92rem;
  margin:0;
}
.sobre{background:linear-gradient(90deg,#fff7f1,#fff)}
.sobre-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:42px;
  align-items:center;
}
.box{
  background:rgba(255,255,255,.88);
  border-radius:20px;
  padding:30px;
  box-shadow:0 10px 30px rgba(6,42,70,.08);
  border:1px solid rgba(196,147,82,.16);
}
.checks{display:grid;gap:13px}
.check{
  display:flex;
  gap:12px;
  align-items:flex-start;
  color:#28384c;
}
.check::before{
  content:"✓";
  color:var(--dourado);
  font-weight:900;
}
.processo{
  background:var(--azul);
  color:#fff;
  border-radius:28px;
  padding:42px;
  position:relative;
  overflow:hidden;
}
.processo h2{color:#fff}
.processo p{color:rgba(255,255,255,.88)}
.faq{
  max-width:900px;
  margin:34px auto 0;
  text-align:left;
}
.faq-item{
  background:#fff;
  border:1px solid var(--borda);
  border-radius:16px;
  margin-bottom:12px;
  overflow:hidden;
}
.faq-q{
  width:100%;
  border:0;
  background:#fff;
  color:var(--texto);
  padding:18px 22px;
  text-align:left;
  font-size:1rem;
  font-weight:800;
  cursor:pointer;
}
.faq-a{
  display:none;
  padding:0 22px 20px;
  color:#4b5b6d;
}
.faq-item.open .faq-a{display:block}
.final{
  background:linear-gradient(135deg,var(--azul),var(--azul2));
  color:#fff;
  text-align:center;
  padding:80px 20px;
}
.final h2{color:#fff}
.final p{
  color:rgba(255,255,255,.88);
  max-width:780px;
  margin:0 auto 26px;
}
footer{
  background:#051f35;
  color:#e6f0f8;
  padding:42px 0;
}
.rodape{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:32px;
}
footer img{
  max-width:220px;
  height:auto;
  background:#fff;
  border-radius:12px;
  padding:10px;
}
footer a{
  color:#fff;
  text-decoration:none;
}
.assinatura{
  color:#f1cf9b;
  font-style:italic;
}
.float-whats{
  position:fixed;
  right:24px;
  bottom:24px;
  width:66px;
  height:66px;
  border-radius:50%;
  background:#25d366;
  color:#fff;
  display:grid;
  place-items:center;
  text-decoration:none;
  font-size:34px;
  z-index:80;
  box-shadow:0 12px 30px rgba(0,0,0,.25);
  border:4px solid #fff;
}

/* RESPONSIVO */
@media(max-width:1050px){
  body{overflow-x:hidden;}
  .container{width:min(100% - 32px, 1180px);}

  .marca{
    min-width:unset;
    border-bottom-right-radius:36px;
  }
  .marca img{height:68px}
  .hamb{display:block}
  .menu{
    display:none;
    position:absolute;
    left:0;
    right:0;
    top:96px;
    background:var(--azul);
    flex-direction:column;
    padding:26px;
    gap:18px;
  }
  .menu.open{display:flex}
  .hero{
    min-height:unset;
    
  }
  .hero-conteudo{
    padding:60px 0 36px;
    margin:0 auto;
    text-align:center;
  }
  .hero-texto,
  .hero-destaque{
    margin-left:auto;
    margin-right:auto;
  }
  .botoes{
    justify-content:center;
  }
  .valores-card,
  .cards,
  .beneficios,
  .sobre-grid,
  .rodape{
    
  }
  .valor{
    border-right:0;
    border-bottom:1px solid rgba(196,147,82,.25);
  }
  .barra-valores{margin-top:24px}
}

@media(max-width:560px){
  .container{width:min(100% - 28px,1180px)}
  .nav{min-height:84px}
  .menu{top:84px}
  .marca{
    padding-right:18px;
    min-width:auto;
  }
  .marca img{height:56px}
  h1{font-size:2.3rem}
  .botoes{flex-direction:column}
  .btn{width:100%}
  .float-whats{
    width:58px;
    height:58px;
    font-size:28px;
  }
}

.hero-grid{
  min-height:600px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.whats-icon{
  width:1.15em;
  height:1.15em;
  fill:currentColor;
  flex:0 0 auto;
}
.float-whats .whats-icon{
  width:31px;
  height:31px;
  fill:#fff;
}

@media(max-width:1050px){
  body{overflow-x:hidden;}
  .hero-grid{
    min-height:auto;
    display:flex;
    justify-content:center;
    align-items:center;
  }
  .hero-conteudo{
    padding:64px 0 88px;
    text-align:center;
    margin:0 auto;
  }
  .hero-texto,
  .hero-destaque{
    margin-left:auto;
    margin-right:auto;
  }
  .botoes{
    justify-content:center;
  }
}

@media(max-width:560px){
  .hero-conteudo{
    padding:52px 0 76px;
  }
  h1{
    font-size:2.25rem;
  }
  .botoes{
    flex-direction:column;
  }
  .btn{
    width:100%;
  }
}


/* ===== AJUSTES DE CENTRALIZAÇÃO - TABLET E CELULAR ===== */

@media(max-width:1050px){

  html, body{
    width:100%;
    overflow-x:hidden;
  }

  .container{
    width:min(100% - 32px, 1180px);
    margin-left:auto;
    margin-right:auto;
  }

  .nav{
    width:100%;
    min-height:88px;
    justify-content:space-between;
    align-items:center;
  }

  .marca{
    margin-left:0 !important;
    padding-left:16px !important;
    padding-right:16px !important;
    min-width:auto !important;
    align-self:auto !important;
    border-radius:18px !important;
    height:68px;
    display:flex;
    align-items:center;
    justify-content:center;
  }

  .marca img{
    height:56px !important;
    max-width:190px;
    object-fit:contain;
  }

  .hamb{
    display:block;
    margin-left:auto;
  }

  .menu{
    left:0;
    right:0;
    top:88px;
    text-align:center;
    align-items:center;
    justify-content:center;
  }

  .hero{
    text-align:center;
  }

  .hero-grid,
  .hero-conteudo{
    width:100%;
    margin-left:auto;
    margin-right:auto;
  }

  .hero-conteudo{
    max-width:820px;
    padding-left:0;
    padding-right:0;
  }

  .hero-texto,
  .hero-destaque,
  .sub{
    margin-left:auto;
    margin-right:auto;
  }

  .botoes{
    justify-content:center;
  }

  .valores-card,
  .cards,
  .beneficios,
  .sobre-grid,
  .rodape{
    width:100%;
    margin-left:auto;
    margin-right:auto;
  }

  .valor{
    justify-content:center;
    text-align:left;
  }

  .card,
  .beneficio,
  .box,
  .processo,
  footer{
    text-align:center;
  }

  .check{
    justify-content:center;
    text-align:left;
  }

  .rodape{
    text-align:center;
  }

  footer img{
    margin-left:auto;
    margin-right:auto;
    display:block;
  }
}

@media(max-width:560px){

  .container{
    width:min(100% - 28px, 1180px);
  }

  .nav{
    min-height:82px;
  }

  .marca{
    height:60px;
    padding-left:12px !important;
    padding-right:12px !important;
  }

  .marca img{
    height:48px !important;
    max-width:160px;
  }

  .menu{
    top:82px;
  }

  h1{
    text-align:center;
  }

  h2, h3, p{
    text-wrap:pretty;
  }

  .valor{
    flex-direction:column;
    text-align:center;
  }

  .valor strong{
    text-align:center;
  }

  .btn{
    width:100%;
  }
}
