/* ===== Foto do advogado: destaque para a roupa escura ===== */
.about-dark .about-photo {
  background: radial-gradient(ellipse 60% 52% at 50% 60%, rgba(130, 176, 120, 0.42), transparent 72%);
}
.about-dark .about-photo img {
  filter: drop-shadow(0 0 1.5px rgba(214, 232, 210, 0.55)) drop-shadow(0 14px 28px rgba(0, 0, 0, 0.35));
}

/* ===== WhatsApp flutuante arrastável ===== */
.wa-float { touch-action: none; user-select: none; -webkit-user-select: none; -webkit-user-drag: none; cursor: grab; }
.wa-float.dragging { cursor: grabbing; animation-play-state: paused; transition: none; }
.wa-float.dragging .wa-tooltip { opacity: 0 !important; }
.wa-float.tip-right .wa-tooltip { right: auto; left: 74px; }

/* ===== Comentários do Google em cascata (cards empilhados ao rolar) ===== */
.testi-stack { --stack-top: 104px; --stack-step: 20px; position: relative; max-width: 720px; margin: 0 auto; padding-bottom: 8px; }
.testi-stack .testi {
  position: sticky; top: calc(var(--stack-top) + var(--i, 0) * var(--stack-step));
  margin-bottom: 24px; padding: 30px 34px 28px; background: #fff;
  border-radius: 16px; border: 1px solid var(--border);
  box-shadow: 0 -10px 28px rgba(25, 46, 23, 0.14), 0 18px 40px rgba(25, 46, 23, 0.10);
  transform-origin: 50% 0; will-change: transform;
}
.testi-stack .testi:last-child { margin-bottom: 0; }
.testi-stack .testi p { font-size: 16px; line-height: 1.6; }
@media (max-width: 720px) {
  .testi-stack { --stack-top: 88px; --stack-step: 16px; }
  .testi-stack .testi { padding: 24px 22px 22px; margin-bottom: 18px; }
  .testi-stack .testi p { font-size: 15px; }
}

/* ===== Botão de play orbitando lentamente ao redor da foto ===== */
.hero-card .avatar .play-badge {
  top: 50%; left: 50%; bottom: auto; right: auto; margin: -16px 0 0 -16px;
  animation: play-orbit 24s linear infinite, play-ring 2.4s ease-out infinite;
}
@keyframes play-orbit {
  from { transform: rotate(-45deg) translateX(71px) rotate(45deg); }
  to   { transform: rotate(315deg) translateX(71px) rotate(-315deg); }
}
@keyframes play-ring {
  0%   { box-shadow: 0 4px 12px rgba(0,0,0,0.3), 0 0 0 0 rgba(25,46,23,0.55); }
  70%  { box-shadow: 0 4px 12px rgba(0,0,0,0.3), 0 0 0 10px rgba(25,46,23,0); }
  100% { box-shadow: 0 4px 12px rgba(0,0,0,0.3), 0 0 0 0 rgba(25,46,23,0); }
}
@media (prefers-reduced-motion: reduce) {
  .hero-card .avatar .play-badge { animation: none; transform: rotate(-45deg) translateX(71px) rotate(45deg); }
}

/* ===== WhatsApp flutuante: só aparece a partir de "Como funciona o atendimento" ===== */
.wa-float {
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: transform 0.15s ease, opacity 0.35s ease, visibility 0.35s;
}
.wa-float.show { opacity: 1; visibility: visible; pointer-events: auto; }

.lang-li select{font:inherit;font-size:13.5px;padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:#fff;color:var(--moss-800);cursor:pointer}
.am-hint{font-size:13.5px;color:var(--muted);margin:-4px 0 14px}
.div-card{background:var(--moss-soft);border:1px solid var(--border);border-radius:12px;padding:14px 16px;margin-bottom:10px;cursor:pointer;transition:box-shadow .2s}
.div-card:hover,.div-card:focus-visible{box-shadow:var(--shadow);outline:none}
.dc-h{display:flex;justify-content:space-between;align-items:center;gap:12px;font-weight:600;color:var(--moss-800);font-size:15.5px;line-height:1.35}
.dc-h::after{content:'+';font-size:22px;line-height:1;flex:none}
.div-card.open .dc-h::after{content:'\2013'}
.dc-body{display:none;margin-top:10px;cursor:default}
.div-card.open .dc-body{display:block}
.dc-body .am-obj{margin-bottom:12px}
.div-card ul{margin:0}
  
.foot-social{display:flex;gap:10px;margin-top:18px}
.foot-social a{width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);color:#f2f7f1!important;transition:background .2s,transform .2s,color .2s}
.foot-social a:hover{background:#f2f7f1;color:var(--moss-800)!important;transform:translateY(-2px)}
.foot-social svg{width:20px;height:20px;fill:currentColor;display:block}
  
.area-tile.t-prev { grid-column: 1 / -1; min-height: 380px; background: linear-gradient(165deg, #2e5429 0%, #143012 80%); }
.area-tile.t-prev .area-sub { max-width: 620px; }
.am-note { margin-top: 16px; padding: 12px 14px; border-left: 3px solid var(--moss); background: var(--moss-soft); border-radius: 6px; font-size: 13.5px; color: var(--moss-800); font-style: italic; }
.map-box { border-radius: 18px; overflow: hidden; box-shadow: var(--shadow); border: 1px solid var(--border); aspect-ratio: 16 / 7; min-height: 300px; background: var(--moss-soft); }
.map-box iframe { width: 100%; height: 100%; border: 0; display: block; }
.map-link { text-align: center; margin-top: 14px; }
.map-link a { color: var(--moss-800); font-weight: 600; text-decoration: none; }
.map-link a:hover { text-decoration: underline; }
/* WhatsApp flutuante: balão + foto */
.wa-float { width: auto; height: auto; border-radius: 0; background: none; box-shadow: none; gap: 10px; }
.wa-float::before, .wa-tooltip { display: none !important; }
.wa-bubble { background: #fff; color: #10210f; border-radius: 16px; padding: 12px 16px; max-width: 210px; box-shadow: 0 10px 28px rgba(0,0,0,.22); font-size: 14.5px; line-height: 1.3; text-align: left; }
.wa-bubble b { display: block; font-size: 16px; font-weight: 700; margin-bottom: 2px; }
.wa-avatar { position: relative; flex: none; width: 66px; height: 66px; }
.wa-avatar img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; object-position: center 18%; border: 3px solid #fff; box-shadow: 0 8px 22px rgba(0,0,0,.28); display: block; background: #ddd; }
.wa-badge { position: absolute; right: -2px; bottom: -2px; width: 26px; height: 26px; border-radius: 50%; background: #25d366; border: 2px solid #fff; display: flex; align-items: center; justify-content: center; }
.wa-float .wa-badge svg { width: 14px; height: 14px; }
@media (max-width: 720px) { .area-tile.t-prev { min-height: 420px; } .wa-bubble { max-width: 165px; font-size: 12.5px; padding: 9px 12px; } .wa-bubble b { font-size: 13.5px; } .wa-avatar { width: 56px; height: 56px; } .map-box { aspect-ratio: 4 / 3; } }
  
.benefit-stack { --stack-top: 104px; --stack-step: 20px; position: relative; max-width: 720px; margin: 0 auto; padding-bottom: 8px; }
.benefit-stack .benefit {
  position: sticky; top: calc(var(--stack-top) + var(--i, 0) * var(--stack-step));
  margin-bottom: 24px; padding: 28px 34px; background: #fff; border-radius: 16px; border: 1px solid var(--border);
  box-shadow: 0 -10px 28px rgba(25, 46, 23, 0.14), 0 18px 40px rgba(25, 46, 23, 0.10);
  transform-origin: 50% 0; will-change: transform;
  display: grid; grid-template-columns: 48px 1fr; column-gap: 20px; align-items: start;
}
.benefit-stack .benefit:last-child { margin-bottom: 0; }
.benefit-stack .benefit-ic { grid-row: 1 / span 2; margin: 0; }
.benefit-stack .benefit h3 { margin-bottom: 6px; }
.benefit-stack .benefit p { margin: 0; }
.contact-split { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: stretch; }
.contact-split .cta { display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 48px 30px; }
.map-side { background: var(--white); border: 1px solid var(--border); border-radius: 12px; padding: 34px 30px 26px; box-shadow: var(--shadow); display: flex; flex-direction: column; }
.map-side h2 { font-size: clamp(24px, 3vw, 32px); color: var(--moss-800); margin-bottom: 10px; }
.map-side > p:not(.map-link) { color: var(--muted); font-size: 15px; margin-bottom: 18px; }
.map-side .map-box { flex: 1; aspect-ratio: auto; min-height: 260px; }
.nav-wt { border: 1px solid var(--border); padding: 6px 13px; border-radius: 999px; font-weight: 600; }
.wt-card { text-align: center; max-width: 640px; }
.wt-card h3 { font-size: clamp(21px, 3vw, 27px); color: var(--moss-800); margin: 4px 0 14px; line-height: 1.25; }
.wt-card .willtag-desc { color: var(--muted); font-size: 15.5px; margin: 0 auto 20px; }
.wt-card .btn { margin-top: 4px; }
@media (max-width: 860px) { .contact-split { grid-template-columns: 1fr; } }
@media (max-width: 720px) { .benefit-stack { --stack-top: 88px; --stack-step: 16px; } .benefit-stack .benefit { padding: 22px 20px; margin-bottom: 18px; column-gap: 14px; } }
  
.wa-bubble { transition: opacity .45s ease, transform .45s ease; transform-origin: 100% 60%; }
.wa-float.show { pointer-events: none; }
.wa-float.show .wa-avatar, .wa-float.show .wa-bubble { pointer-events: auto; cursor: pointer; }
.wa-float.bubble-off .wa-bubble { opacity: 0; transform: translateX(16px) scale(.92); pointer-events: none; }
.hero-card { order: -1; }
@media (min-width: 901px) { .hero .container { grid-template-columns: 0.75fr 1.25fr; } }
  
