/* ============================================================
   PÁGINAS DE ENTRADA (anúncios) · Silvério Baldissera Advogados
   Versão leve do site: mesma identidade, sem animações pesadas.
   Verde #013A3F · Dourado #C9A989 · Areia #DAD3C3 · Off-white #F7F3EF
   ============================================================ */

@font-face{ font-family:'Playfair Display'; src:url('../fonts/playfair-500.woff2') format('woff2'); font-weight:500; font-style:normal; font-display:swap; }
@font-face{ font-family:'Playfair Display'; src:url('../fonts/playfair-500i.woff2') format('woff2'); font-weight:500; font-style:italic; font-display:swap; }
@font-face{ font-family:'Inter'; src:url('../fonts/inter-400.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face{ font-family:'Inter'; src:url('../fonts/inter-500.woff2') format('woff2'); font-weight:500; font-style:normal; font-display:swap; }
@font-face{ font-family:'Inter'; src:url('../fonts/inter-600.woff2') format('woff2'); font-weight:600; font-style:normal; font-display:swap; }

/* ---------- Tokens ---------- */
:root{
  --verde:#013A3F;
  --verde-deep:#01262B;
  --gold:#C9A989;
  --gold-light:#DCC3A8;
  --gold-deep:#6B4E2E;
  --areia:#DAD3C3;
  --off:#F7F3EF;            /* só para texto sobre o verde, nunca como fundo */
  --bege-claro:#E4DCCB;     /* fundo das seções claras */
  --ink:#122A2C;
  --txt-ondark:rgba(247,243,239,.8);
  --txt-onlight:#33403E;
  --line-ondark:rgba(201,169,137,.28);
  --line-onlight:rgba(1,58,63,.16);
  --ff-display:'Playfair Display', Georgia, serif;
  --ff-text:'Inter', 'Helvetica Neue', Arial, sans-serif;
  --container:1120px;
  --gutter:clamp(16px, 5vw, 40px);
  --radius:20px;
  --ease:cubic-bezier(.22,1,.36,1);
}

/* ---------- Reset ---------- */
*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; font-size:109%; }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } *{ transition:none !important; } }
img{ display:block; max-width:100%; height:auto; }
a{ color:inherit; }
ul,ol{ list-style:none; }
summary{ list-style:none; cursor:pointer; }
summary::-webkit-details-marker{ display:none; }

body{
  font-family:var(--ff-text);
  font-size:1rem;
  line-height:1.7;
  color:var(--txt-onlight);
  background:var(--bege-claro);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
::selection{ background:var(--gold); color:var(--verde); }

.wrap{ width:100%; max-width:var(--container); margin-inline:auto; padding-inline:var(--gutter); }
.wrap--narrow{ max-width:820px; }

/* ---------- Tipos ---------- */
.eyebrow{
  font-weight:500; font-size:.78rem; letter-spacing:.26em; text-transform:uppercase;
  color:var(--gold-deep); margin-bottom:1.1rem;
}
.on-dark .eyebrow{ color:var(--gold); }
.h1{
  font-family:var(--ff-display); font-weight:500;
  font-size:clamp(2.1rem, 6vw, 3.6rem); line-height:1.1; letter-spacing:.003em;
  color:var(--off);
}
.h1 em, .h2 em{ font-style:italic; color:var(--gold); }
.h2{
  font-family:var(--ff-display); font-weight:500;
  font-size:clamp(1.7rem, 4.2vw, 2.6rem); line-height:1.15;
  color:var(--verde); margin-bottom:1.2rem;
}
.h2 em{ color:var(--gold-deep); }
.on-dark .h2{ color:var(--off); }
.on-dark .h2 em{ color:var(--gold); }
.lead{ font-size:clamp(1.02rem, 2.4vw, 1.15rem); max-width:44rem; }
.section-intro{ max-width:44rem; margin-bottom:2.2rem; }

/* ---------- Botões ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.65rem;
  font-weight:600; font-size:.82rem; letter-spacing:.12em; text-transform:uppercase;
  padding:1.05rem 1.7rem; border-radius:99px; text-decoration:none;
  transition:transform .35s var(--ease), background-color .35s, color .35s, border-color .35s, box-shadow .35s;
  text-align:center;
}
.btn svg{ width:1.2em; height:1.2em; flex:none; }
.btn--solid{ background:var(--gold); color:var(--verde); }
.btn--solid:hover{ background:var(--gold-light); transform:translateY(-2px); box-shadow:0 14px 30px -16px rgba(201,169,137,.6); }
.btn--ghost{ border:1px solid var(--line-ondark); color:var(--off); }
.btn--ghost:hover{ border-color:var(--gold); color:var(--gold); }
.btn--dark{ background:var(--verde); color:var(--off); }
.btn--dark:hover{ background:var(--verde-deep); transform:translateY(-2px); }
.btn:focus-visible, a:focus-visible, summary:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; }

/* ---------- Topo ---------- */
.top{
  background:var(--verde-deep); border-bottom:1px solid var(--line-ondark);
}
.top__in{ display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:64px; }
.top__logo img{ height:26px; width:auto; }
.top__tel{
  font-size:.86rem; font-weight:500; color:var(--gold); text-decoration:none; white-space:nowrap;
  display:inline-flex; align-items:center; gap:.45rem;
}
.top__tel svg{ width:1rem; height:1rem; }
.top__tel:hover{ color:var(--gold-light); }

/* ---------- Hero ---------- */
.hero{
  position:relative; overflow:hidden;
  background:radial-gradient(120% 90% at 85% 0%, #024a50 0%, var(--verde) 45%, var(--verde-deep) 100%);
  color:var(--txt-ondark);
  padding-block:clamp(2.8rem, 8vw, 5.5rem) clamp(3rem, 8vw, 5.5rem);
}
.hero::after{
  content:""; position:absolute; right:-6%; bottom:-14%; width:min(46vw, 460px); aspect-ratio:1;
  background:url('../img/icone-gold.svg') center/contain no-repeat; opacity:.06; pointer-events:none;
}
.hero__grid{ position:relative; z-index:1; display:grid; gap:2.5rem; align-items:center; }
.hero .lead{ margin-top:1.3rem; }
.hero__actions{ display:flex; flex-wrap:wrap; gap:.8rem; margin-top:2rem; }
.hero__trust{
  display:flex; flex-wrap:wrap; gap:.4rem 1.4rem; margin-top:1.8rem;
  font-size:.82rem; color:var(--gold-light);
}
.hero__trust li{ display:flex; align-items:center; gap:.5rem; }
.hero__trust li::before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--gold); }
.hero__person{
  display:flex; align-items:center; gap:1rem;
  border:1px solid var(--line-ondark); border-radius:var(--radius); padding:1rem; background:rgba(1,38,43,.45);
}
.hero__person img{ width:84px; height:84px; object-fit:cover; object-position:top; border-radius:14px; flex:none; }
.hero__person p{ font-size:.9rem; line-height:1.5; }
.hero__person strong{ display:block; font-family:var(--ff-display); font-weight:500; font-size:1.15rem; color:var(--off); }
.hero__people{ display:grid; gap:.8rem; }

@media (min-width:900px){
  .hero__grid{ grid-template-columns:1.45fr .9fr; gap:4rem; }
}
@media (max-width:480px){
  .hero__actions .btn{ width:100%; }
}

/* ---------- Seções ---------- */
.sec{ padding-block:clamp(3.2rem, 8vw, 5.5rem); }
.sec--areia{ background:var(--areia); }
.sec--dark{ background:var(--verde); color:var(--txt-ondark); }

/* Aviso de prazo */
.notice{
  display:flex; gap:1rem; align-items:flex-start;
  background:var(--areia); border-left:4px solid var(--gold);
  border-radius:12px; padding:1.2rem 1.3rem; margin:2.2rem auto 0; max-width:48rem;
  color:var(--ink); font-size:1.02rem;
}
.notice strong{ color:var(--verde); }
.sec--areia .notice{ background:var(--bege-claro); }

/* Cartões de situações */
.cards{ display:grid; gap:1rem; grid-template-columns:repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.card{
  background:var(--areia); border:1px solid var(--line-onlight); border-radius:var(--radius);
  padding:1.5rem 1.4rem;
}
.sec--areia .card{ background:var(--bege-claro); }
.card h3{
  font-family:var(--ff-display); font-weight:500; font-size:1.25rem; line-height:1.25;
  color:var(--verde); margin-bottom:.6rem;
}
.card p{ font-size:1rem; }
.card small{ display:block; margin-top:.8rem; font-size:.84rem; letter-spacing:.06em; color:var(--gold-deep); font-weight:500; }

/* Comparativo */
.compare{ display:grid; gap:1rem; grid-template-columns:repeat(auto-fit, minmax(min(100%, 340px), 1fr)); }
.compare__col{ background:var(--areia); border-radius:var(--radius); padding:1.6rem 1.5rem; border:1px solid var(--line-onlight); }
.compare__col h3{ font-family:var(--ff-display); font-weight:500; font-size:1.35rem; color:var(--verde); margin-bottom:.3rem; }
.compare__col h3 small{ display:block; font-family:var(--ff-text); font-size:.7rem; letter-spacing:.24em; text-transform:uppercase; color:var(--gold-deep); margin-top:.2rem; }
.compare__col > p{ font-size:1rem; margin-top:.6rem; }
.compare__col ul{ margin-top:1rem; display:grid; gap:.45rem; }
.compare__col li{ position:relative; padding-left:1.4rem; font-size:1rem; }
.compare__col li::before{ content:""; position:absolute; left:0; top:.7em; width:.7rem; height:1.5px; background:var(--gold-deep); }

/* Passos */
.steps{ display:grid; gap:1rem; grid-template-columns:repeat(auto-fit, minmax(min(100%, 260px), 1fr)); counter-reset:passo; }
.step{
  position:relative; border:1px solid var(--line-ondark); border-radius:var(--radius);
  padding:1.6rem 1.4rem 1.4rem; counter-increment:passo;
}
.step::before{
  content:counter(passo); display:inline-flex; align-items:center; justify-content:center;
  width:2.2rem; height:2.2rem; border-radius:50%; background:var(--gold); color:var(--verde);
  font-weight:600; margin-bottom:1rem;
}
.step h3{ font-family:var(--ff-display); font-weight:500; font-size:1.2rem; color:var(--off); margin-bottom:.4rem; }
.step p{ font-size:1rem; }

/* Quem atende */
.people{ display:grid; gap:1.5rem; }
.person{ display:grid; gap:1.4rem; align-items:start; }
.person__photo{ border-radius:var(--radius); overflow:hidden; background:var(--areia); max-width:300px; }
.person__photo img{ width:100%; aspect-ratio:4/5; object-fit:cover; object-position:top; }
.person h3{ font-family:var(--ff-display); font-weight:500; font-size:1.6rem; color:var(--verde); line-height:1.2; }
.person__role{ font-size:.84rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-deep); font-weight:500; margin:.35rem 0 1rem; }
.person p + p{ margin-top:.8rem; }
@media (min-width:760px){
  .person{ grid-template-columns:240px 1fr; gap:2.2rem; }
  .people--two{ grid-template-columns:1fr 1fr; gap:2.5rem; }
  .people--two .person{ grid-template-columns:1fr; }
  .people--two .person__photo{ max-width:220px; }
}

/* Topo: equipe (foto no computador, rostos lado a lado no celular) */
.hero__photo{ display:none; margin:0; border-radius:var(--radius); overflow:hidden; border:1px solid var(--line-ondark); position:relative; }
.hero__photo img{ width:100%; aspect-ratio:4/4.6; object-fit:cover; object-position:center 18%; }
.hero__photo figcaption{
  position:absolute; left:0; right:0; bottom:0; padding:2.2rem 1.2rem 1rem;
  background:linear-gradient(to top, rgba(1,38,43,.92), rgba(1,38,43,0));
  font-size:.9rem; line-height:1.45; color:var(--txt-ondark);
}
.hero__photo figcaption strong{ display:block; font-family:var(--ff-display); font-weight:500; font-size:1.12rem; color:var(--off); }
.hero__team{
  display:flex; align-items:center; gap:1rem;
  border:1px solid var(--line-ondark); border-radius:var(--radius); padding:.9rem 1rem; background:rgba(1,38,43,.45);
}
.hero__avatars{ display:flex; flex:none; }
.hero__avatars img{ width:52px; height:52px; border-radius:50%; object-fit:cover; object-position:top; border:2px solid var(--verde); }
.hero__avatars img + img{ margin-left:-14px; }
.hero__team p{ font-size:.92rem; line-height:1.45; }
.hero__team strong{ display:block; font-family:var(--ff-display); font-weight:500; font-size:1.05rem; color:var(--off); }
@media (min-width:900px){
  .hero__photo{ display:block; }
  .hero__team{ display:none; }
}

/* Seção "o escritório cuida do seu caso" */
.firm{ display:grid; gap:2rem; align-items:center; }
.firm p + p{ margin-top:.9rem; }
.firm__photo{ margin:0; border-radius:var(--radius); overflow:hidden; }
.firm__photo img{ width:100%; aspect-ratio:4/4.4; object-fit:cover; object-position:center 15%; }
.firm__points{ margin-top:1.4rem; display:grid; gap:.55rem; }
.firm__points li{ position:relative; padding-left:1.5rem; font-size:1rem; }
.firm__points li::before{ content:""; position:absolute; left:0; top:.62em; width:.8rem; height:.8rem; border-radius:50%; border:2px solid var(--gold-deep); }
@media (min-width:860px){ .firm{ grid-template-columns:1.15fr .85fr; gap:3.5rem; } }

/* Equipe completa (faixa compacta) */
.team{ margin-top:2.6rem; padding-top:2rem; border-top:1px solid var(--line-onlight); }
.team__label{ font-weight:500; font-size:.78rem; letter-spacing:.28em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:1.2rem; }
.team__list{ display:grid; gap:1rem; grid-template-columns:repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.team__item{
  display:flex; align-items:center; gap:.9rem;
  padding:.9rem; border-radius:16px; border:1px solid var(--line-onlight); background:var(--bege-claro);
}
.team__item img{ width:64px; height:64px; border-radius:12px; object-fit:cover; object-position:top; flex:none; }
.team__item strong{ display:block; font-family:var(--ff-display); font-weight:500; font-size:1.08rem; color:var(--verde); line-height:1.25; }
.team__item span{ display:block; font-size:.9rem; line-height:1.45; margin-top:.15rem; }
.team__item em{ display:inline-block; margin-top:.35rem; font-style:normal; font-size:.66rem; letter-spacing:.16em; text-transform:uppercase; font-weight:600; color:var(--verde); background:var(--gold); padding:.2rem .55rem; border-radius:99px; }
.team__item--lead{ border-color:var(--gold); }
.team__note{ margin-top:1.2rem; font-size:1rem; max-width:46rem; }

/* FAQ */
.faq{ border-top:1px solid var(--line-onlight); }
.faq details{ border-bottom:1px solid var(--line-onlight); }
.faq summary{
  display:flex; justify-content:space-between; align-items:center; gap:1rem;
  padding:1.2rem 0; font-weight:500; font-size:1.02rem; color:var(--verde);
}
.faq summary:hover{ color:var(--gold-deep); }
.faq__icon{ position:relative; width:14px; height:14px; flex:none; }
.faq__icon::before, .faq__icon::after{ content:""; position:absolute; background:currentColor; transition:transform .35s var(--ease); }
.faq__icon::before{ left:0; top:6px; width:14px; height:1.5px; }
.faq__icon::after{ left:6.25px; top:0; width:1.5px; height:14px; }
.faq details[open] .faq__icon::after{ transform:scaleY(0); }
.faq__body{ padding:0 0 1.3rem; font-size:1.02rem; max-width:46rem; }
.faq__body p + p{ margin-top:.7rem; }

/* Faixa de chamada final */
.cta{ text-align:center; }
.cta .h2{ margin-inline:auto; max-width:30rem; }
.cta p{ max-width:36rem; margin:0 auto 1.8rem; }
.cta__actions{ display:flex; flex-wrap:wrap; justify-content:center; gap:.8rem; }
@media (max-width:480px){ .cta__actions .btn{ width:100%; } }

/* ---------- Rodapé ---------- */
.foot{ background:var(--verde-deep); color:var(--txt-ondark); padding-block:2.8rem; font-size:.95rem; }
.foot__grid{ display:grid; gap:1.8rem; grid-template-columns:repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }
.foot img{ height:46px; width:auto; margin-bottom:.8rem; }
.foot h4{ font-size:.7rem; letter-spacing:.26em; text-transform:uppercase; color:var(--gold); font-weight:500; margin-bottom:.6rem; }
.foot a{ text-decoration:none; }
.foot a:hover{ color:var(--gold); }
.foot__base{ margin-top:2rem; padding-top:1.3rem; border-top:1px solid var(--line-ondark); display:flex; flex-wrap:wrap; gap:.6rem 1.4rem; justify-content:space-between; font-size:.88rem; }

/* ---------- WhatsApp fixo ---------- */
.stick{
  position:fixed; z-index:50; left:0; right:0; bottom:0;
  padding:.7rem var(--gutter) calc(.7rem + env(safe-area-inset-bottom));
  background:rgba(1,38,43,.94); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  border-top:1px solid var(--line-ondark);
  transform:translateY(calc(100% + 32px)); opacity:0; pointer-events:none;
  transition:transform .45s var(--ease), opacity .3s;
}
.stick.is-on{ transform:none; opacity:1; pointer-events:auto; }
.stick .btn{ width:100%; }
@media (min-width:900px){
  .stick{ left:auto; right:24px; bottom:24px; padding:0; background:none; border:none; backdrop-filter:none; -webkit-backdrop-filter:none; }
  .stick .btn{ width:auto; box-shadow:0 18px 40px -18px rgba(0,0,0,.55); }
}

/* ---------- Página de texto (política) ---------- */
.doc{ padding-block:clamp(2.5rem, 7vw, 4.5rem); }
.doc h1{ font-family:var(--ff-display); font-weight:500; font-size:clamp(2rem, 5vw, 2.8rem); color:var(--verde); line-height:1.15; }
.doc .updated{ font-size:.85rem; color:var(--gold-deep); margin:.6rem 0 2rem; }
.doc h2{ font-family:var(--ff-display); font-weight:500; font-size:1.4rem; color:var(--verde); margin:2.2rem 0 .7rem; }
.doc p, .doc li{ font-size:.98rem; }
.doc p + p{ margin-top:.8rem; }
.doc ul{ margin:.6rem 0 0 0; display:grid; gap:.4rem; }
.doc ul li{ position:relative; padding-left:1.3rem; }
.doc ul li::before{ content:""; position:absolute; left:0; top:.75em; width:.6rem; height:1.5px; background:var(--gold-deep); }
.doc a{ color:var(--verde); text-underline-offset:3px; }

/* Foto da seção da equipe: equipe no celular, recepção no computador (evita repetir a foto do topo) */
.firm__img--desk{ display:none; }
@media (min-width:900px){
  .firm__img--mob{ display:none; }
  .firm__img--desk{ display:block; aspect-ratio:4/4.4; object-position:center; }
}

/* ---------- Quebras de linha ---------- */
/* Títulos: linhas equilibradas, sem palavra sozinha no fim. Textos: evita "viúvas". */
h1, h2, h3, .h1, .h2, .card h3, .compare__col h3, .step h3, .person h3,
.hero__photo figcaption strong, .hero__team strong, .team__item strong, .faq summary{
  text-wrap:balance;
}
p, li, .faq__body, figcaption{ text-wrap:pretty; }
.btn{ text-wrap:balance; }
@media (max-width:480px){
  .btn{ letter-spacing:.07em; padding-inline:1.3rem; }
  .hero__team{ flex-direction:column; align-items:flex-start; gap:.75rem; }
}

/* ---------- Texto justificado (como no site principal) ---------- */
.lead, .sec p, .sec li, .faq__body p, .notice p, .hero__team p, .doc p, .doc li{
  text-align:justify; hyphens:auto; -webkit-hyphens:auto;
}
.sec .eyebrow, .team__label, .cta p, .card small{ text-align:left; hyphens:manual; -webkit-hyphens:manual; }
.cta p{ text-align:center; }

/* ---------- Botões: ícone e texto juntos ---------- */
.btn > span{ display:block; }
@media (max-width:480px){
  .btn{ text-transform:none; letter-spacing:.02em; font-size:1rem; font-weight:600; gap:.55rem; }
}

/* ---------- Celular: foto da equipe como fundo do topo ---------- */
/* A foto ocupa a largura toda, sobe um pouco (corta o fundo cinza acima das
   cabeças) e o título começa no terço de baixo da parte visível. */
@media (max-width:899px){
  .hero{
    --foto-h:125.7vw;  /* proporção da foto equipe.webp (980×1232) */
    --corte:0px;       /* a foto começa no topo; o cabeçalho transparente fica sobre o cinza acima das cabeças */
    --visivel:calc(var(--foto-h) - var(--corte));
    background:
      linear-gradient(to bottom, rgba(1,38,43,0) 0%, rgba(1,38,43,0) 60%, rgba(1,38,43,.82) 82%, var(--verde-deep) 96%, var(--verde-deep) 100%) top center / 100% calc(var(--visivel) + 6px) no-repeat,
      url('../img/equipe.webp') center calc(-1 * var(--corte)) / 100% auto no-repeat,
      var(--verde-deep);
    padding-top:calc(var(--visivel) * .8);
  }
  .hero::after{ display:none; }
  .hero__team{ display:none; }
  .hero__grid{ gap:0; }
  /* título menor; a frase em itálico sempre numa linha só */
  .hero .h1{ font-size:min(6.6vw, 2.2rem); line-height:1.15; text-shadow:0 2px 18px rgba(1,38,43,.65); }
  .hero .h1 em{ white-space:nowrap; }
  /* a foto da equipe já está no topo: não repetir na seção da equipe */
  .firm__photo{ display:none; }
}

@media (max-width:390px){
  .btn{ font-size:.92rem; padding-inline:1rem; gap:.45rem; }
}

/* ---------- Estrutura enxuta (v2) ---------- */
/* Passos em fundo claro */
.steps--light .step{ border-color:var(--line-onlight); background:var(--bege-claro); }
.steps--light .step h3{ color:var(--verde); }
.steps--light .step p{ color:var(--txt-onlight); }
/* Botão de WhatsApp no meio da página */
.sec-cta{ display:flex; justify-content:center; margin-top:2rem; }
@media (max-width:480px){ .sec-cta .btn{ width:100%; } }
/* Situações em cartões mais curtos */
.cards--compact .card{ padding:1.2rem 1.2rem 1.1rem; }
.cards--compact .card h3{ font-size:1.15rem; margin-bottom:.35rem; }
.cards--compact .card small{ margin-top:.55rem; }
/* Equipe sem a seção de foto */
.section-intro + .team__list{ margin-top:.4rem; }
.sec:not(.sec--areia) .team__item{ background:var(--areia); }
/* Passos compactos: número ao lado do título */
.step{ display:grid; grid-template-columns:auto 1fr; column-gap:.9rem; align-items:center; padding:1.2rem 1.2rem; }
.step::before{ grid-row:1 / span 2; margin:0; align-self:start; }
.step h3{ margin-bottom:.15rem; }
/* Frases curtas (1–2 linhas): alinhadas à esquerda, para não abrir buracos entre as palavras.
   Parágrafos maiores (topo, introduções, respostas, avisos) seguem justificados. */
.sec .step p, .sec .card p, .team__item span{ text-align:left; hyphens:manual; -webkit-hyphens:manual; }
.notice p{ text-align:left; hyphens:manual; -webkit-hyphens:manual; }

/* ---------- Rodapé centralizado ---------- */
.foot{ text-align:center; }
.foot__grid{ justify-items:center; }
.foot img{ margin-inline:auto; }
.foot p{ text-align:center; }
.foot__base{ flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:.5rem; }

/* ---------- Celular: cabeçalho transparente sobre a foto ---------- */
/* O logo e o telefone ficam por cima do cinza da foto, sem a faixa verde. */
@media (max-width:899px){
  body{ position:relative; }
  .top{
    position:absolute; top:0; left:0; right:0; z-index:10;
    background:linear-gradient(to bottom, rgba(1,38,43,.38), rgba(1,38,43,0));
    border-bottom:0;
  }
  .top__logo img{ filter:drop-shadow(0 1px 6px rgba(0,0,0,.35)); }
  .top__tel{ text-shadow:0 1px 6px rgba(0,0,0,.4); }
}

/* ---------- Cartões da equipe: foto encostada na borda ---------- */
.team__item{
  display:grid; grid-template-columns:clamp(104px, 32%, 150px) 1fr; align-items:stretch;
  gap:0; padding:0; overflow:hidden;
}
.team__item img{
  width:100%; height:100%; min-height:132px; border-radius:0;
  object-fit:cover; object-position:center 15%;
}
.team__item > div{ padding:1rem 1.1rem; align-self:center; }
/* Currículo em lista (Silvério) */
.team__cv{ margin-top:.45rem; display:grid; gap:.3rem; }
.team__cv li{ position:relative; padding-left:.95rem; font-size:.88rem; line-height:1.42; text-align:left; hyphens:manual; -webkit-hyphens:manual; }
.team__cv li::before{ content:""; position:absolute; left:0; top:.6em; width:.38rem; height:.38rem; border-radius:50%; background:var(--gold-deep); }
/* Cartão com currículo (Silvério): foto em cima, texto embaixo */
.team__item--cv{ grid-template-columns:1fr; }
.team__item--cv img{ height:auto; aspect-ratio:16/10; min-height:0; object-position:center 22%; }
/* Computador: os três cartões verticais, lado a lado */
@media (min-width:760px){
  .team__list{ grid-template-columns:repeat(3, 1fr); align-items:start; }
  .team__item{ grid-template-columns:1fr; }
  .team__item img{ height:auto; aspect-ratio:4/3.4; min-height:0; object-position:center 18%; }
  .team__item > div{ align-self:start; }
}
.team__item span + span{ margin-top:.3rem; }
/* Fotos da equipe sempre do mesmo tamanho: no celular, todos os cartões
   ficam com a altura do mais alto; no computador, a foto tem proporção fixa. */
.team__list{ grid-auto-rows:1fr; }
@media (min-width:760px){ .team__list{ grid-auto-rows:auto; } }
/* Celular: foto em cima do texto nos três cartões (mesma proporção = mesmo tamanho) */
@media (max-width:759px){
  .team__list{ grid-auto-rows:auto; }
  .team__item{ grid-template-columns:1fr; }
  .team__item img{ height:auto; min-height:0; aspect-ratio:4/3; object-position:center 20%; }
  .team__item > div{ align-self:start; }
}

/* ---------- Galeria do escritório (dentro da seção da equipe) ---------- */
.office{ margin-top:2.4rem; }
.office__grid{ display:grid; gap:.6rem; grid-template-columns:1fr 1fr; }
.office__grid figure{ margin:0; border-radius:14px; overflow:hidden; border:1px solid var(--line-onlight); }
.office__grid img{ width:100%; height:100%; aspect-ratio:3/2; object-fit:cover; }
.office__main{ grid-column:1 / -1; }
.office__main img{ aspect-ratio:16/9; }
.office__caption{ margin-top:.8rem; font-size:.88rem; color:var(--gold-deep); text-align:center !important; }
@media (min-width:760px){
  .office__grid{ grid-template-columns:1.5fr 1fr 1fr; }
  .office__main{ grid-column:auto; }
  .office__main img, .office__grid img{ aspect-ratio:4/3; }
}
.office__caption{ line-height:1.6; }

/* ---------- Computador (a partir de 900px) ---------- */
/* O layout foi pensado primeiro para o celular; aqui ficam só os ajustes de tela larga. */
@media (min-width:900px){
  /* Topo: foto da equipe maior, legenda abaixo da foto (não sobre as pessoas),
     botões empilhados com a mesma largura */
  .hero__grid{ grid-template-columns:1.1fr .9fr; gap:3.5rem; }
  .hero__photo{ background:var(--verde-deep); }
  .hero__photo img{ aspect-ratio:4/3.5; object-position:center 20%; }
  .hero__photo figcaption{ position:static; background:none; padding:1rem 1.3rem 1.15rem; border-top:1px solid var(--line-ondark); }
  .hero__actions{ display:grid; grid-template-columns:max-content; }
  .hero::after{ right:-3%; bottom:-24%; opacity:.04; }
  /* Passos: número em cima, título e texto alinhados entre os três cartões */
  .step{ display:block; padding:1.5rem 1.4rem 1.4rem; }
  .step::before{ margin-bottom:.9rem; }
  /* Situações: quatro cartões em 2 × 2 (títulos numa linha, sem cartão sobrando) */
  .cards{ grid-template-columns:repeat(2, 1fr); }
  /* Chamada final: pergunta numa linha, frase em itálico inteira na linha de baixo */
  .cta .h2{ max-width:none; }
  .cta .h2 em{ display:block; }
  /* Equipe: os três cartões com a mesma altura e as três fotos do mesmo tamanho
     (a sobra de altura fica embaixo do texto, não na foto) */
  .team__list{ align-items:stretch; }
  .team__item{ align-content:start; }
  .team__item img{ align-self:start; }
  /* Perguntas frequentes: alinhadas à esquerda como as demais seções */
  .faq{ max-width:52rem; }
}
