
:root{
  --bordo:#4a0b14;
  --bordo-escuro:#24050a;
  --bordo-claro:#6e1a28;
  --bordo-vinho:#5a101d;
  --dourado:#c59b43;
  --dourado-claro:#e6c98c;
  --off:#f5eee5;
  --off-claro:#fffaf4;
  --off-quente:#f9f3ea;
  --texto:#271b1b;
  --muted:#6f6460;
  --linha:#e4d6c4;
  --branco:#ffffff;
  --sombra:0 24px 60px rgba(43,10,16,.10);
  --sombra-card:0 18px 40px rgba(43,10,16,.08);
  --serif:Georgia,"Times New Roman",serif;
  --sans:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--off);
  color:var(--texto);
  font-family:var(--sans);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
button{font:inherit}
.container{width:min(1180px,calc(100% - 54px));margin:auto}
.section{padding:118px 0}
.eyebrow{
  display:inline-flex;align-items:center;gap:12px;
  color:var(--dourado);
  font-size:11px;font-weight:800;letter-spacing:.26em;text-transform:uppercase
}
.eyebrow::before{content:"";width:36px;height:1px;background:currentColor}
.title{
  font-family:var(--serif);
  font-size:clamp(44px,5vw,72px);
  font-weight:400;line-height:1.02;letter-spacing:-.04em;
  margin:20px 0 18px;
}
.lead{font-size:18px;line-height:1.8;color:var(--muted);margin:0}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:52px;padding:0 24px;border:1px solid transparent;border-radius:999px;
  font-size:13px;font-weight:760;letter-spacing:.02em;
  transition:transform .25s ease,box-shadow .25s ease,background .25s ease,color .25s ease,border-color .25s ease;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(0,0,0,.12)}
.btn-gold{background:linear-gradient(135deg,var(--dourado-claro),var(--dourado));color:#2d180f}
.btn-outline{color:#fffaf4;border-color:rgba(255,250,244,.62);background:rgba(255,255,255,.03)}
.btn-wine{background:linear-gradient(135deg,var(--bordo-vinho),var(--bordo));color:#fffaf4;border-color:rgba(74,11,20,.2)}
.cta-vibrate{animation:ctaPulse 7s ease-in-out infinite;transform-origin:center}
@keyframes ctaPulse{
  0%,90%,100%{transform:translateX(0)}
  91%{transform:translateX(-2px) rotate(-.2deg)}
  92%{transform:translateX(3px) rotate(.25deg)}
  93%{transform:translateX(-3px) rotate(-.25deg)}
  94%{transform:translateX(2px)}
  95%{transform:translateX(0)}
}

/* Header */
.header{
  position:absolute;inset:0 0 auto;z-index:1000;
  transition:background .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.header.scrolled{
  position:fixed;
  background:linear-gradient(180deg,rgba(43,7,13,.96),rgba(43,7,13,.88));
  backdrop-filter:blur(18px);
  box-shadow:0 16px 36px rgba(0,0,0,.20);
  border-bottom:1px solid rgba(197,155,67,.16);
}
.header-inner{
  height:132px;display:grid;grid-template-columns:1fr 260px 1fr;align-items:center;gap:38px
}
.nav{
  display:flex;align-items:center;gap:42px;
  font-family:var(--serif);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#fffaf4
}
.nav-left{justify-content:flex-end}
.nav-right{justify-content:flex-start}
.nav a{position:relative;padding:8px 0;white-space:nowrap;opacity:.95}
.nav a::after{
  content:"";position:absolute;left:0;right:100%;bottom:2px;height:1px;
  background:linear-gradient(90deg,var(--dourado-claro),transparent);
  transition:right .28s ease;
}
.nav a:hover::after{right:0}
.brand{display:flex;align-items:center;justify-content:center}
.brand img{width:240px;max-height:88px;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,0,0,.16))}
.menu-trigger{
  position:fixed;right:0;top:50%;transform:translateY(-50%);
  z-index:1200;width:48px;height:124px;border:1px solid rgba(197,155,67,.18);border-right:0;
  background:rgba(36,5,10,.82);color:#fffaf4;display:flex;align-items:center;justify-content:center;
  cursor:pointer;border-radius:12px 0 0 12px;backdrop-filter:blur(12px);box-shadow:0 12px 30px rgba(0,0,0,.16)
}
.menu-trigger span,.menu-trigger span::before,.menu-trigger span::after{
  content:"";display:block;width:20px;height:2px;background:currentColor;position:relative;border-radius:999px
}
.menu-trigger span::before{position:absolute;top:-7px}
.menu-trigger span::after{position:absolute;top:7px}
.side-menu{
  position:fixed;inset:0 0 0 auto;width:min(400px,92vw);
  background:
    radial-gradient(circle at 0% 0%, rgba(125,27,43,.32), transparent 38%),
    linear-gradient(180deg,var(--bordo),var(--bordo-escuro));
  z-index:1300;color:#fffaf4;padding:92px 42px 42px;transform:translateX(102%);
  transition:transform .34s ease;box-shadow:-34px 0 80px rgba(0,0,0,.24)
}
body.menu-open .side-menu{transform:none}
.side-close{
  position:absolute;right:24px;top:18px;background:transparent;border:0;color:#fffaf4;
  font-size:30px;cursor:pointer;opacity:.85
}
.side-menu img{width:224px;margin-bottom:42px}
.side-menu a{
  display:block;font-family:var(--serif);font-size:29px;padding:14px 0;border-bottom:1px solid rgba(197,155,67,.18)
}
.side-menu small{display:block;margin-top:36px;color:rgba(255,250,244,.75);line-height:1.8}

/* Hero */
.hero{
  min-height:805px;position:relative;overflow:hidden;color:#fffaf4;
  background:
    radial-gradient(circle at 50% 20%,rgba(150,41,59,.46),transparent 36%),
    linear-gradient(180deg,var(--bordo-claro),var(--bordo) 52%,var(--bordo-escuro));
}
.hero::before{
  content:"";position:absolute;inset:0;opacity:.10;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:74px 74px;mask-image:linear-gradient(#000,transparent 60%);
}
.hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background:
    linear-gradient(180deg, rgba(20,5,8,.48) 0%, rgba(20,5,8,.14) 16%, rgba(20,5,8,0) 34%, rgba(74,11,20,.22) 56%, rgba(74,11,20,.68) 82%, rgba(36,5,10,.96) 100%),
    radial-gradient(circle at 50% 16%, rgba(255,255,255,.12), transparent 32%),
    radial-gradient(circle at 0% 50%, rgba(25,7,10,.24), transparent 28%),
    radial-gradient(circle at 100% 50%, rgba(25,7,10,.24), transparent 28%);
}
.hero-inner{min-height:805px;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative}
.hero-copy{padding-top:164px;max-width:980px;position:relative;z-index:3}
.hero-copy .eyebrow{color:rgba(255,250,244,.66)}
.hero-copy .eyebrow::before{display:none}
.hero h1{
  font-family:var(--serif);font-size:clamp(46px,5vw,76px);font-weight:400;
  line-height:1.02;letter-spacing:-.03em;color:var(--dourado-claro);margin:22px 0 16px
}
.hero p{
  max-width:710px;margin:0 auto 30px;font-size:18px;line-height:1.72;color:rgba(255,250,244,.82)
}
.hero-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.hero-photo{
  width:min(980px,92vw);height:430px;margin:auto auto 0;position:relative;z-index:2;overflow:hidden;
  border-radius:28px 28px 0 0;box-shadow:0 34px 70px rgba(15,4,7,.22);
}
.hero-photo::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(180deg,rgba(22,6,9,.26) 0%, rgba(22,6,9,.06) 18%, rgba(22,6,9,0) 36%, rgba(74,11,20,.14) 55%, rgba(74,11,20,.62) 84%, rgba(36,5,10,.98) 100%),
    radial-gradient(circle at 50% 4%, rgba(255,255,255,.22), transparent 26%);
  pointer-events:none
}
.hero-photo::after{
  content:"";position:absolute;inset:0;z-index:1;
  box-shadow:
    inset 120px 0 110px -85px rgba(20,5,8,.92),
    inset -120px 0 110px -85px rgba(20,5,8,.92),
    inset 0 -80px 90px -56px rgba(20,5,8,.98),
    inset 0 28px 50px -34px rgba(255,255,255,.12);
  pointer-events:none
}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 22%;filter:saturate(.9) contrast(1.03) brightness(.88)}
.hero-shadow-divider{
  position:relative;height:34px;margin-top:-1px;z-index:3;
  background:linear-gradient(180deg, rgba(36,5,10,.58) 0%, rgba(36,5,10,.22) 52%, rgba(36,5,10,0) 100%);
}

/* Generic section head */
.section-head{max-width:790px;margin-bottom:58px}
.section-head.center{text-align:center;margin-left:auto;margin-right:auto}
.section-head.center .eyebrow::before{display:none}

/* Orientation */
.orientation{background:var(--off-claro)}
.orientation-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:18px
}
.orientation-card{
  padding:30px 24px;min-height:236px;display:flex;flex-direction:column;transition:.28s ease;
  background:#fffdf9;border:1px solid rgba(74,11,20,.08);border-radius:20px;box-shadow:0 10px 24px rgba(45,13,16,.04)
}
.orientation-card:hover{background:#fffaf1;transform:translateY(-5px);box-shadow:var(--sombra-card)}
.orientation-card span{font-family:var(--serif);font-size:34px;color:var(--dourado)}
.orientation-card h3{font-family:var(--serif);font-size:24px;line-height:1.14;font-weight:400;margin:20px 0 12px;color:#1f1717}
.orientation-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.7}
.orientation-card b{margin-top:auto;padding-top:22px;color:var(--bordo);font-size:12px;font-weight:800;letter-spacing:.04em}

/* Manifesto */
.manifesto{
  background:
    radial-gradient(circle at 0% 0%, rgba(124,26,42,.20), transparent 34%),
    linear-gradient(145deg,var(--bordo-escuro),var(--bordo) 58%,#39070f);
  color:#fffaf4
}
.manifesto-grid{display:grid;grid-template-columns:1fr 1.04fr;gap:74px;align-items:center}
.manifesto h2{color:var(--dourado-claro)}
.manifesto p{color:rgba(255,250,244,.76);font-size:17px;line-height:1.9}
.manifesto-photo{
  position:relative;overflow:hidden;border-radius:24px;border:1px solid rgba(197,155,67,.28);
  box-shadow:0 24px 50px rgba(0,0,0,.20)
}
.manifesto-photo img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:center 23%}
.manifesto-photo::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(20,5,8,.06) 0%, rgba(20,5,8,0) 30%, rgba(20,5,8,.24) 70%, rgba(20,5,8,.68) 100%);
  box-shadow:inset 0 -90px 80px -70px var(--bordo-escuro)
}
.manifesto-values{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:42px}
.manifesto-values div{
  padding:22px 20px;background:rgba(255,255,255,.03);border:1px solid rgba(197,155,67,.18);border-radius:18px
}
.manifesto-values strong{display:block;font-family:var(--serif);font-size:22px;color:var(--dourado-claro);margin-bottom:7px}
.manifesto-values span{color:rgba(255,250,244,.64);font-size:13px;line-height:1.65}

/* Team */
.team{background:var(--off)}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.member{
  background:#fcf7f0;overflow:hidden;border-radius:22px;
  border:1px solid rgba(74,11,20,.08);box-shadow:0 14px 34px rgba(53,15,19,.06)
}
.member-photo{aspect-ratio:4/5.15;overflow:hidden}
.member-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .55s ease}
.member:hover img{transform:scale(1.03)}
.member-info{
  background:linear-gradient(180deg,#fffdf9,#fff8ef);
  border-top:1px solid rgba(197,155,67,.26);
  padding:18px 18px 22px
}
.member-info h3{font-family:var(--serif);font-size:21px;font-weight:400;color:var(--bordo);margin:0 0 7px}
.member-info p{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--dourado);margin:0;font-weight:800}

/* Specialties */
.specialties{background:var(--off-claro)}
.specialties-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.specialty{
  padding:34px 25px;min-height:300px;display:flex;flex-direction:column;
  background:#fffdf9;border:1px solid rgba(74,11,20,.08);border-radius:20px;
  box-shadow:0 10px 22px rgba(43,10,16,.04);transition:.28s ease
}
.specialty:hover{transform:translateY(-4px);box-shadow:var(--sombra-card)}
.specialty svg{width:42px;height:42px;fill:none;stroke:var(--dourado);stroke-width:1.5;margin-bottom:34px}
.specialty h3{font-family:var(--serif);font-size:23px;font-weight:400;margin:0 0 13px;color:var(--bordo)}
.specialty p{font-size:13px;line-height:1.74;color:var(--muted);margin:0}
.specialty a{margin-top:auto;padding-top:22px;font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--dourado);font-weight:800}

/* Featured tabs */
.featured{
  background:
    radial-gradient(circle at 100% 0%, rgba(124,27,42,.16), transparent 30%),
    linear-gradient(145deg,var(--bordo-escuro),var(--bordo));
  color:#fffaf4
}
.featured-tabs{
  display:grid;grid-template-columns:320px 1fr;gap:18px
}
.tab-list{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(197,155,67,.18);border-radius:22px;
  padding:10px;display:flex;flex-direction:column;gap:10px;align-self:start;position:sticky;top:150px
}
.tab-btn{
  width:100%;text-align:left;padding:20px 18px;border:1px solid transparent;background:transparent;
  color:rgba(255,250,244,.68);cursor:pointer;font-family:var(--serif);font-size:19px;border-radius:16px;transition:.25s ease
}
.tab-btn:hover{background:rgba(255,255,255,.04)}
.tab-btn.active{background:rgba(255,255,255,.06);border-color:rgba(197,155,67,.24);color:var(--dourado-claro)}
.tab-panel{
  display:none;grid-template-columns:1fr .9fr;min-height:520px;background:rgba(255,255,255,.03);
  border:1px solid rgba(197,155,67,.18);border-radius:24px;overflow:hidden
}
.tab-panel.active{display:grid}
.tab-copy{padding:54px}
.tab-copy h3{font-family:var(--serif);font-size:48px;font-weight:400;color:var(--dourado-claro);margin:0 0 18px}
.tab-copy p{color:rgba(255,250,244,.72);font-size:16px;line-height:1.85}
.tab-photo{background:rgba(0,0,0,.06)}
.tab-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}

/* Process */
.process{background:var(--off)}
.process-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:84px}
.process-intro{position:sticky;top:150px;align-self:start}
.steps{display:grid;gap:16px}
.step{
  display:grid;grid-template-columns:74px 1fr;gap:24px;padding:28px 28px;
  border:1px solid rgba(74,11,20,.08);border-radius:20px;background:#fffdf9;box-shadow:0 10px 22px rgba(43,10,16,.04)
}
.step b{font-family:var(--serif);font-size:40px;color:var(--dourado);font-weight:400}
.step h3{font-family:var(--serif);font-size:27px;font-weight:400;margin:0 0 8px;color:var(--bordo)}
.step p{margin:0;color:var(--muted);font-size:15px;line-height:1.75}

/* Contact */
.location{
  background:
    radial-gradient(circle at 0% 0%, rgba(124,26,42,.20), transparent 34%),
    linear-gradient(145deg,var(--bordo-escuro),var(--bordo));
  color:#fffaf4
}
.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:stretch}
.location h2{color:var(--dourado-claro)}
.location p{color:rgba(255,250,244,.74);font-size:17px;line-height:1.8}
.contact-cards{display:grid;gap:14px}
.contact-card{
  padding:22px 22px;border:1px solid rgba(197,155,67,.22);background:rgba(255,255,255,.03);
  border-radius:18px;transition:.25s ease
}
.contact-card:hover{background:rgba(255,255,255,.05)}
.contact-card small{display:block;color:var(--dourado);text-transform:uppercase;letter-spacing:.16em;margin-bottom:7px}
.contact-card strong{font-family:var(--serif);font-size:21px;font-weight:400;line-height:1.45}
.map-placeholder{
  min-height:400px;background:linear-gradient(135deg,#f2e9db,#e3d3bf);display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;border-radius:24px;box-shadow:var(--sombra)
}
.map-placeholder::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,.14) 0%, rgba(255,255,255,0) 20%, rgba(74,11,20,.08) 100%);
}
.map-placeholder::before{
  content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(74,11,20,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(74,11,20,.08) 1px,transparent 1px);
  background-size:56px 56px
}
.map-pin{position:relative;z-index:1;width:66px;height:66px;border-radius:50% 50% 50% 0;background:var(--bordo);transform:rotate(-45deg);box-shadow:0 14px 28px rgba(0,0,0,.18)}
.map-pin::after{content:"";position:absolute;width:22px;height:22px;border-radius:50%;background:var(--dourado-claro);left:22px;top:22px}

/* Footer */
.footer{background:var(--bordo-escuro);color:rgba(255,250,244,.66);padding:46px 0}
.footer-grid{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px}
.footer .brand img{width:190px}
.footer p{margin:0;font-size:12px;line-height:1.7}
.footer .right{text-align:right}
.whatsapp{
  position:fixed;right:22px;bottom:22px;z-index:1100;width:56px;height:56px;border-radius:50%;
  display:grid;place-items:center;background:#25b866;color:#fff;font-weight:900;box-shadow:0 12px 30px rgba(0,0,0,.24)
}

/* Reveal */
.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.left{transform:translateX(-45px)}
.reveal.right{transform:translateX(45px)}
.reveal.visible{opacity:1;transform:none}

@media(max-width:1020px){
  .header-inner{grid-template-columns:1fr auto;height:104px}
  .nav{display:none}
  .brand{justify-content:flex-start}
  .brand img{width:208px}
  .menu-trigger{top:52px;right:18px;width:52px;height:52px;border-radius:10px;border:1px solid rgba(197,155,67,.30)}
  .manifesto-grid,.process-grid,.location-grid{grid-template-columns:1fr}
  .process-intro,.tab-list{position:static}
  .team-grid{grid-template-columns:repeat(2,1fr)}
  .specialties-grid{grid-template-columns:repeat(2,1fr)}
  .specialty:last-child{grid-column:span 2}
  .featured-tabs{grid-template-columns:1fr}
  .tab-list{display:flex;overflow:auto;gap:10px;flex-direction:row}
  .tab-btn{min-width:210px}
}
@media(max-width:680px){
  .container{width:calc(100% - 30px)}
  .section{padding:84px 0}
  .hero,.hero-inner{min-height:710px}
  .hero-copy{padding-top:118px}
  .hero h1{font-size:40px}
  .hero p{font-size:16px}
  .hero-photo{width:100vw;height:360px;margin-left:calc(50% - 50vw);border-radius:26px 26px 0 0}
  .orientation-grid,.team-grid,.specialties-grid{grid-template-columns:1fr 1fr}
  .orientation-card{min-height:222px;padding:24px 18px}
  .orientation-card h3{font-size:20px}
  .manifesto-values{grid-template-columns:1fr}
  .tab-panel.active{grid-template-columns:1fr}
  .tab-copy{padding:34px 24px}
  .tab-copy h3{font-size:39px}
  .tab-photo{height:360px}
  .specialty:last-child{grid-column:auto}
  .footer-grid{grid-template-columns:1fr;text-align:center}
  .footer .right{text-align:center}
}
@media(max-width:440px){
  .orientation-grid,.team-grid,.specialties-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* ===== Ajuste fino de sombreados nas imagens ===== */
/* objetivo: valorizar as fotos sem tampar o rosto/roupa dos advogados */

.hero-photo::before{
  background:
    linear-gradient(
      180deg,
      rgba(22,6,9,.14) 0%,
      rgba(22,6,9,.05) 12%,
      rgba(22,6,9,0) 28%,
      rgba(74,11,20,.08) 62%,
      rgba(74,11,20,.34) 84%,
      rgba(36,5,10,.70) 100%
    ),
    radial-gradient(circle at 50% 6%, rgba(255,255,255,.14), transparent 22%);
}
.hero-photo::after{
  box-shadow:
    inset 85px 0 90px -76px rgba(20,5,8,.62),
    inset -85px 0 90px -76px rgba(20,5,8,.62),
    inset 0 -58px 72px -48px rgba(20,5,8,.76),
    inset 0 20px 36px -28px rgba(255,255,255,.10);
}
.hero-photo img{
  filter:saturate(.92) contrast(1.03) brightness(.93);
}

.manifesto-photo::after{
  background:
    linear-gradient(
      180deg,
      rgba(20,5,8,.04) 0%,
      rgba(20,5,8,0) 26%,
      rgba(20,5,8,.08) 66%,
      rgba(20,5,8,.30) 100%
    );
  box-shadow:inset 0 -70px 64px -54px rgba(20,5,8,.40);
}

.member-photo{
  position:relative;
}
.member-photo::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.08) 0%,
      rgba(255,255,255,0) 16%,
      rgba(20,5,8,0) 62%,
      rgba(20,5,8,.18) 100%
    ),
    radial-gradient(circle at 50% 7%, rgba(255,255,255,.08), transparent 20%);
  box-shadow:
    inset 0 -30px 40px -30px rgba(20,5,8,.26),
    inset 20px 0 24px -22px rgba(20,5,8,.16),
    inset -20px 0 24px -22px rgba(20,5,8,.16);
}
.member-photo img{
  filter:saturate(.96) contrast(1.02) brightness(.96);
}

.tab-photo{
  position:relative;
  overflow:hidden;
}
.tab-photo::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(
      180deg,
      rgba(20,5,8,.05) 0%,
      rgba(20,5,8,0) 28%,
      rgba(20,5,8,.08) 70%,
      rgba(20,5,8,.24) 100%
    ),
    radial-gradient(circle at 50% 7%, rgba(255,255,255,.10), transparent 20%);
  box-shadow:
    inset 0 -40px 46px -34px rgba(20,5,8,.30),
    inset 26px 0 34px -28px rgba(20,5,8,.16),
    inset -26px 0 34px -28px rgba(20,5,8,.16);
}
.tab-photo img{
  filter:saturate(.96) contrast(1.02) brightness(.96);
}


/* ===== HERO FINAL: imagem inteira, de borda a borda, com sombra forte e estreita ===== */
.hero{
  padding-bottom:0;
}

.hero .hero-inner{
  width:100%;
  max-width:none;
}

.hero .hero-copy{
  width:min(1180px, calc(100% - 54px));
  margin-left:auto;
  margin-right:auto;
}

.hero-photo{
  width:100vw !important;
  max-width:none !important;
  height:auto !important;
  aspect-ratio:3 / 2;
  margin:34px calc(50% - 50vw) 0 !important;
  border-radius:0 !important;
  overflow:hidden;
  box-shadow:
    0 -18px 38px rgba(22,5,9,.20),
    0 28px 60px rgba(18,4,7,.34) !important;
}

.hero-photo img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  filter:saturate(.93) contrast(1.04) brightness(.92) !important;
}

/* Sombra forte, mas concentrada apenas nas bordas e no rodapé */
.hero-photo::before{
  background:
    linear-gradient(
      90deg,
      rgba(28,5,10,.82) 0%,
      rgba(28,5,10,.34) 2.5%,
      rgba(28,5,10,0) 6.5%,
      rgba(28,5,10,0) 93.5%,
      rgba(28,5,10,.34) 97.5%,
      rgba(28,5,10,.82) 100%
    ),
    linear-gradient(
      180deg,
      rgba(28,5,10,.20) 0%,
      rgba(28,5,10,0) 8%,
      rgba(28,5,10,0) 80%,
      rgba(42,7,13,.34) 91%,
      rgba(31,5,10,.84) 100%
    ) !important;
}

.hero-photo::after{
  box-shadow:
    inset 28px 0 34px -26px rgba(19,4,8,.72),
    inset -28px 0 34px -26px rgba(19,4,8,.72),
    inset 0 -48px 56px -38px rgba(19,4,8,.86),
    inset 0 18px 26px -22px rgba(255,255,255,.10) !important;
}

.hero-shadow-divider{
  height:22px !important;
  margin-top:-1px !important;
  background:linear-gradient(
    180deg,
    rgba(31,5,10,.70) 0%,
    rgba(31,5,10,.22) 48%,
    rgba(31,5,10,0) 100%
  ) !important;
}

/* As outras imagens mantêm sombreamento firme, porém curto */
.manifesto-photo::after,
.member-photo::after,
.tab-photo::after{
  background:
    linear-gradient(
      90deg,
      rgba(28,5,10,.22) 0%,
      rgba(28,5,10,0) 7%,
      rgba(28,5,10,0) 93%,
      rgba(28,5,10,.22) 100%
    ),
    linear-gradient(
      180deg,
      rgba(28,5,10,.07) 0%,
      rgba(28,5,10,0) 14%,
      rgba(28,5,10,0) 82%,
      rgba(28,5,10,.30) 100%
    ) !important;
}

@media(max-width:680px){
  .hero .hero-copy{
    width:calc(100% - 30px);
  }

  .hero-photo{
    aspect-ratio:3 / 2;
    height:auto !important;
    margin-top:28px !important;
  }

  .hero-photo::before{
    background:
      linear-gradient(
        90deg,
        rgba(28,5,10,.68) 0%,
        rgba(28,5,10,.18) 2%,
        rgba(28,5,10,0) 5%,
        rgba(28,5,10,0) 95%,
        rgba(28,5,10,.18) 98%,
        rgba(28,5,10,.68) 100%
      ),
      linear-gradient(
        180deg,
        rgba(28,5,10,.15) 0%,
        rgba(28,5,10,0) 8%,
        rgba(28,5,10,0) 82%,
        rgba(31,5,10,.65) 100%
      ) !important;
  }
}


/* =========================================================
   IDENTIDADE OFICIAL MM&A - conforme manual de marca
   Pantone 4102 C  #551C25
   Pantone 6197 U  #DBDDD5
   Pantone Black 6 C #101820
   Pantone 6009 C  #AF8C5C
   Pantone 540 C   #003057
   Pantone 567 C   #173F35
   ========================================================= */
:root{
  --bordo:#551C25 !important;
  --bordo-escuro:#101820 !important;
  --bordo-claro:#551C25 !important;
  --bordo-vinho:#551C25 !important;
  --dourado:#AF8C5C !important;
  --dourado-claro:#AF8C5C !important;
  --off:#DBDDD5 !important;
  --off-claro:#DBDDD5 !important;
  --off-quente:#DBDDD5 !important;
  --texto:#101820 !important;
  --muted:#49525A !important;
  --linha:rgba(16,24,32,.16) !important;
  --navy:#003057 !important;
  --verde:#173F35;
}

/* Uso principal da marca: bordô, cinza claro, preto e dourado */
body{
  background:#DBDDD5 !important;
  color:#101820 !important;
}

.header.scrolled{
  background:rgba(85,28,37,.96) !important;
  border-bottom-color:rgba(175,140,92,.34) !important;
}

.hero{
  background:
    radial-gradient(circle at 50% 22%,rgba(175,140,92,.18),transparent 32%),
    linear-gradient(180deg,#551C25 0%,#551C25 54%,#101820 100%) !important;
}

.hero::after{
  background:
    linear-gradient(
      180deg,
      rgba(16,24,32,.34) 0%,
      rgba(16,24,32,.10) 18%,
      rgba(16,24,32,0) 36%,
      rgba(85,28,37,.18) 58%,
      rgba(85,28,37,.48) 82%,
      rgba(16,24,32,.92) 100%
    ),
    radial-gradient(circle at 50% 15%,rgba(219,221,213,.12),transparent 30%) !important;
}

.hero h1{
  color:#DBDDD5 !important;
  max-width:900px;
  margin-left:auto;
  margin-right:auto;
}

.hero p{
  color:rgba(219,221,213,.88) !important;
  max-width:760px;
}

.hero-copy .eyebrow{
  color:#AF8C5C !important;
}

.btn-gold{
  background:#AF8C5C !important;
  border-color:#AF8C5C !important;
  color:#101820 !important;
}

.btn-outline{
  color:#DBDDD5 !important;
  border-color:rgba(219,221,213,.64) !important;
}

.btn-wine{
  background:#551C25 !important;
  border-color:#551C25 !important;
  color:#DBDDD5 !important;
}

/* Tons claros devem predominar; cores das áreas entram como detalhes */
.orientation,
.team,
.specialties,
.process{
  background:#DBDDD5 !important;
}

.orientation-card,
.member,
.specialty,
.step{
  background:rgba(255,255,255,.60) !important;
  border-color:rgba(16,24,32,.12) !important;
}

.orientation-card h3,
.step h3{
  color:#101820 !important;
}

.orientation-card b{
  color:#551C25 !important;
}

.manifesto,
.featured,
.location{
  background:
    radial-gradient(circle at 0% 0%,rgba(175,140,92,.10),transparent 34%),
    linear-gradient(145deg,#101820 0%,#551C25 72%) !important;
}

.manifesto h2,
.featured .title,
.location h2{
  color:#DBDDD5 !important;
}

.manifesto p,
.location p{
  color:rgba(219,221,213,.80) !important;
}

.manifesto-values strong,
.tab-copy h3{
  color:#AF8C5C !important;
}

/* Cores oficiais por área/profissional */
.member:nth-child(1) .member-info,
.specialty:nth-child(1){
  border-top:3px solid #AF8C5C !important; /* Imobiliário */
}
.member:nth-child(1) .member-info h3,
.member:nth-child(1) .member-info p,
.specialty:nth-child(1) h3,
.specialty:nth-child(1) a{
  color:#AF8C5C !important;
}

.member:nth-child(2) .member-info,
.specialty:nth-child(2){
  border-top:3px solid #173F35 !important; /* Público */
}
.member:nth-child(2) .member-info h3,
.member:nth-child(2) .member-info p,
.specialty:nth-child(2) h3,
.specialty:nth-child(2) a{
  color:#173F35 !important;
}

.member:nth-child(3) .member-info,
.specialty:nth-child(3){
  border-top:3px solid #003057 !important; /* Família */
}
.member:nth-child(3) .member-info h3,
.member:nth-child(3) .member-info p,
.specialty:nth-child(3) h3,
.specialty:nth-child(3) a{
  color:#003057 !important;
}

.member:nth-child(4) .member-info{
  border-top:3px solid #173F35 !important; /* Público e Administrativo */
}
.member:nth-child(4) .member-info h3,
.member:nth-child(4) .member-info p{
  color:#173F35 !important;
}

.specialty:nth-child(4){
  border-top:3px solid #551C25 !important; /* Civil e Contratos */
}
.specialty:nth-child(4) h3,
.specialty:nth-child(4) a{
  color:#551C25 !important;
}

.specialty:nth-child(5){
  border-top:3px solid #173F35 !important; /* Ambiental */
}
.specialty:nth-child(5) h3,
.specialty:nth-child(5) a{
  color:#173F35 !important;
}

.member-info{
  background:rgba(255,255,255,.72) !important;
}

.member-info h3{
  color:#101820;
}

.member-info p{
  font-weight:800;
}

.tab-btn.active{
  color:#AF8C5C !important;
  border-color:rgba(175,140,92,.38) !important;
}

.tab-panel{
  border-color:rgba(175,140,92,.28) !important;
}

.tab-copy .eyebrow{
  color:#AF8C5C !important;
}

.contact-card{
  border-color:rgba(175,140,92,.28) !important;
}

.contact-card small{
  color:#AF8C5C !important;
}

.footer{
  background:#101820 !important;
  color:rgba(219,221,213,.72) !important;
}

.side-menu{
  background:
    radial-gradient(circle at 0% 0%,rgba(175,140,92,.12),transparent 36%),
    linear-gradient(180deg,#551C25,#101820) !important;
}

.menu-trigger{
  background:rgba(16,24,32,.88) !important;
  border-color:rgba(175,140,92,.34) !important;
}

/* Sombra da foto usando apenas tons da paleta oficial */
.hero-photo::before{
  background:
    linear-gradient(
      90deg,
      rgba(16,24,32,.78) 0%,
      rgba(16,24,32,.26) 2.5%,
      rgba(16,24,32,0) 6.5%,
      rgba(16,24,32,0) 93.5%,
      rgba(16,24,32,.26) 97.5%,
      rgba(16,24,32,.78) 100%
    ),
    linear-gradient(
      180deg,
      rgba(16,24,32,.16) 0%,
      rgba(16,24,32,0) 8%,
      rgba(16,24,32,0) 80%,
      rgba(85,28,37,.32) 91%,
      rgba(16,24,32,.82) 100%
    ) !important;
}

.hero-photo::after{
  box-shadow:
    inset 28px 0 34px -26px rgba(16,24,32,.72),
    inset -28px 0 34px -26px rgba(16,24,32,.72),
    inset 0 -48px 56px -38px rgba(16,24,32,.86),
    inset 0 18px 26px -22px rgba(219,221,213,.10) !important;
}

.hero-shadow-divider{
  background:linear-gradient(
    180deg,
    rgba(16,24,32,.68) 0%,
    rgba(16,24,32,.20) 48%,
    rgba(16,24,32,0) 100%
  ) !important;
}


/* ORDEM FINAL DA EQUIPE:
   1. Dr. Vilson — Direito Público
   2. Dra. Regina — Direito Imobiliário
   3. Dra. Alldryn — Família e Sucessões
   4. Dra. Kateline — Direito Público e Administrativo
*/
.member:nth-child(1) .member-info{
  border-top:3px solid #173F35 !important;
}
.member:nth-child(1) .member-info h3,
.member:nth-child(1) .member-info p{
  color:#173F35 !important;
}

.member:nth-child(2) .member-info{
  border-top:3px solid #AF8C5C !important;
}
.member:nth-child(2) .member-info h3,
.member:nth-child(2) .member-info p{
  color:#AF8C5C !important;
}

.member:nth-child(3) .member-info{
  border-top:3px solid #003057 !important;
}
.member:nth-child(3) .member-info h3,
.member:nth-child(3) .member-info p{
  color:#003057 !important;
}

.member:nth-child(4) .member-info{
  border-top:3px solid #173F35 !important;
}
.member:nth-child(4) .member-info h3,
.member:nth-child(4) .member-info p{
  color:#173F35 !important;
}

/* Logo horizontal oficial MM&A */
.header-inner{
  grid-template-columns:1fr 330px 1fr;
}
.brand img{
  width:320px !important;
  max-height:104px !important;
  object-fit:contain !important;
}
.side-menu > img{
  width:290px !important;
  max-height:112px !important;
  object-fit:contain !important;
}
.footer .brand img{
  width:250px !important;
  max-height:94px !important;
}
@media(max-width:1020px){
  .header-inner{
    grid-template-columns:1fr auto;
  }
  .brand img{
    width:235px !important;
    max-height:82px !important;
  }
}
@media(max-width:680px){
  .brand img{
    width:205px !important;
    max-height:74px !important;
  }
}

/* =========================================================
   SOMBREAMENTO EM DEGRADÊ NAS IMAGENS
   Forte nas bordas, curto no centro para preservar os rostos
   ========================================================= */

.hero-photo,
.manifesto-photo,
.member-photo,
.tab-photo{
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
}

.hero-photo img,
.manifesto-photo img,
.member-photo img,
.tab-photo img{
  position:relative;
  z-index:0;
}

/* Banner principal: sombra mais marcada e concentrada nas extremidades */
.hero-photo::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  pointer-events:none !important;
  background:
    linear-gradient(
      90deg,
      rgba(16,24,32,.88) 0%,
      rgba(16,24,32,.44) 2.2%,
      rgba(16,24,32,0) 6.2%,
      rgba(16,24,32,0) 93.8%,
      rgba(16,24,32,.44) 97.8%,
      rgba(16,24,32,.88) 100%
    ),
    linear-gradient(
      180deg,
      rgba(16,24,32,.18) 0%,
      rgba(16,24,32,0) 9%,
      rgba(16,24,32,0) 79%,
      rgba(85,28,37,.34) 90%,
      rgba(16,24,32,.88) 100%
    ) !important;
}

.hero-photo::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  pointer-events:none !important;
  background:
    radial-gradient(
      ellipse at center,
      rgba(219,221,213,0) 58%,
      rgba(16,24,32,.08) 74%,
      rgba(16,24,32,.24) 100%
    ) !important;
  box-shadow:
    inset 34px 0 42px -30px rgba(16,24,32,.78),
    inset -34px 0 42px -30px rgba(16,24,32,.78),
    inset 0 -54px 66px -42px rgba(16,24,32,.90) !important;
}

/* Fotos institucionais e dos advogados */
.manifesto-photo::after,
.member-photo::after,
.tab-photo::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  pointer-events:none !important;
  background:
    linear-gradient(
      90deg,
      rgba(16,24,32,.56) 0%,
      rgba(16,24,32,.20) 2.5%,
      rgba(16,24,32,0) 7%,
      rgba(16,24,32,0) 93%,
      rgba(16,24,32,.20) 97.5%,
      rgba(16,24,32,.56) 100%
    ),
    linear-gradient(
      180deg,
      rgba(16,24,32,.08) 0%,
      rgba(16,24,32,0) 12%,
      rgba(16,24,32,0) 80%,
      rgba(85,28,37,.20) 91%,
      rgba(16,24,32,.58) 100%
    ) !important;
  box-shadow:
    inset 22px 0 28px -23px rgba(16,24,32,.42),
    inset -22px 0 28px -23px rgba(16,24,32,.42),
    inset 0 -38px 48px -34px rgba(16,24,32,.64) !important;
}

/* Mantém as fotos claras na região dos rostos */
.hero-photo img{
  filter:saturate(.94) contrast(1.03) brightness(.95) !important;
}

.manifesto-photo img,
.member-photo img,
.tab-photo img{
  filter:saturate(.97) contrast(1.02) brightness(.98) !important;
}

@media(max-width:680px){
  .hero-photo::before{
    background:
      linear-gradient(
        90deg,
        rgba(16,24,32,.74) 0%,
        rgba(16,24,32,.24) 2%,
        rgba(16,24,32,0) 5.5%,
        rgba(16,24,32,0) 94.5%,
        rgba(16,24,32,.24) 98%,
        rgba(16,24,32,.74) 100%
      ),
      linear-gradient(
        180deg,
        rgba(16,24,32,.12) 0%,
        rgba(16,24,32,0) 8%,
        rgba(16,24,32,0) 82%,
        rgba(16,24,32,.72) 100%
      ) !important;
  }
}


/* =========================================================
   FOTO DA EQUIPE NO TOPO + TÍTULOS NO DOURADO OFICIAL MM&A
   ========================================================= */

:root{
  --mma-dourado-oficial:#AF8C5C;
}

/* A foto abre o site, imediatamente abaixo do cabeçalho */
.hero-inner{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  width:100% !important;
  max-width:none !important;
}

.hero-photo{
  order:1 !important;
  width:100vw !important;
  max-width:none !important;
  height:auto !important;
  aspect-ratio:auto !important;
  margin:132px calc(50% - 50vw) 0 !important;
  border-radius:0 !important;
  overflow:hidden !important;
}

.hero-photo img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:center center !important;
}

.hero-copy{
  order:2 !important;
  padding-top:66px !important;
  padding-bottom:82px !important;
}

/* Apenas títulos recebem o dourado; textos corridos permanecem inalterados */
.hero h1,
main h2,
main h3,
section h2,
section h3{
  color:var(--mma-dourado-oficial) !important;
}

.hero h1{
  text-shadow:0 7px 24px rgba(16,24,32,.28);
}

/* Mantém subtítulos, parágrafos, menus e botões nas cores originais */
.hero p,
section p,
section li,
section span:not(.eyebrow),
nav a,
.btn{
  color:inherit;
}

@media(max-width:1020px){
  .hero-photo{
    margin-top:104px !important;
  }

  .hero-copy{
    padding-top:52px !important;
    padding-bottom:68px !important;
  }
}

@media(max-width:680px){
  .hero-photo{
    margin-top:92px !important;
  }

  .hero-copy{
    padding-top:42px !important;
    padding-bottom:56px !important;
  }
}


/* Seção editorial de artigos */
.home-articles{
  background:#f4f3ef;
}
.home-articles .section-head{
  max-width:780px;
  margin-bottom:42px;
}
.home-articles .section-head p{
  max-width:650px;
}
.home-articles-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.article-card{
  min-height:330px;
  display:flex;
  flex-direction:column;
  padding:30px;
  background:#fff;
  border:1px solid rgba(16,24,32,.11);
  border-top:4px solid #AF8C5C;
  border-radius:2px;
  box-shadow:0 16px 36px rgba(16,24,32,.08);
}
.article-meta{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center;
  margin-bottom:22px;
  color:#6a6661;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.article-category{
  color:#551C25;
  font-weight:700;
}
.article-card h3{
  margin:0 0 16px;
  color:#551C25 !important;
  font-size:1.34rem;
  line-height:1.24;
}
.article-card p{
  margin:0 0 24px;
  color:#4f5254;
  line-height:1.7;
}
.article-card > a{
  margin-top:auto;
  color:#551C25;
  font-weight:700;
  text-decoration:none;
  width:max-content;
  border-bottom:1px solid #AF8C5C;
}
.articles-actions{
  margin-top:34px;
  display:flex;
  justify-content:center;
}
@media(max-width:960px){
  .home-articles-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .home-articles-grid{grid-template-columns:1fr}
  .article-card{min-height:0;padding:25px}
}


/* Contato, e-mail e localização */
.side-menu small a{
  color:inherit;
  text-decoration:none;
}

.footer-contact-info{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:7px;
  text-align:right;
  font-size:.9rem;
  line-height:1.45;
}

.footer-contact-info a{
  color:inherit;
  text-decoration:none;
}

.footer-contact-info a:hover{
  color:#AF8C5C;
}

.contact-cards{
  grid-template-columns:1fr 1fr;
}

.map-embed{
  min-height:430px;
  overflow:hidden;
  border-radius:24px;
  box-shadow:var(--sombra);
  background:#DBDDD5;
  position:relative;
}

.map-embed iframe{
  display:block;
  width:100%;
  height:100%;
  min-height:430px;
  border:0;
  filter:saturate(.82) contrast(1.02);
}

.map-embed-link{
  position:absolute;
  left:22px;
  bottom:22px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 18px;
  border-radius:999px;
  background:#551C25;
  color:#fff !important;
  text-decoration:none;
  font-weight:700;
  box-shadow:0 12px 28px rgba(16,24,32,.2);
}

@media(max-width:900px){
  .footer-contact-info{
    align-items:center;
    text-align:center;
  }
}

@media(max-width:680px){
  .contact-cards{
    grid-template-columns:1fr;
  }

  .map-embed,
  .map-embed iframe{
    min-height:330px;
  }
}

/* Integração fiel com Elementor Canvas */
html,body{margin:0!important;padding:0!important;width:100%!important;max-width:none!important}
body.elementor-page{background:var(--off)!important}
.elementor-location-header,.elementor-location-footer{display:none!important}
.elementor,.elementor-section-wrap,.elementor-section,.elementor-container,.elementor-column,.elementor-widget-wrap,.elementor-widget-html,.elementor-widget-container{
  margin:0!important;max-width:none!important;
}
.elementor-section.mma-elementor-section{width:100%!important;padding:0!important;overflow:visible!important}
.elementor-section.mma-elementor-section>.elementor-container{width:100%!important;max-width:none!important;padding:0!important;display:block!important}
.elementor-section.mma-elementor-section .elementor-column{width:100%!important;display:block!important}
.elementor-section.mma-elementor-section .elementor-column-gap-default>.elementor-column>.elementor-element-populated,
.elementor-section.mma-elementor-section .elementor-element-populated{padding:0!important}
.elementor-section.mma-elementor-section .elementor-widget-wrap{display:block!important;padding:0!important}
.elementor-section.mma-elementor-section .elementor-widget-html{width:100%!important;display:block!important}
.elementor-section.mma-elementor-section .elementor-widget-html>.elementor-widget-container{width:100%!important;display:block!important}
.elementor-edit-area .mma-html-widget{min-height:24px}
/* Impede estilos globais do tema/Elementor de alterar o protótipo */
.mma-html-widget h1,.mma-html-widget h2,.mma-html-widget h3,.mma-html-widget h4,.mma-html-widget p,.mma-html-widget a,.mma-html-widget button{font-family:inherit}
.mma-html-widget ul,.mma-html-widget ol{margin:0;padding:0}

/* Conteúdo sempre visível em capturas e durante a edição */
.reveal{opacity:1!important;transform:none!important}
